Goal: The goal for today is to practice using join statements to connect tables in your database. You should also be getting more practice creating and using many to many relationships with your tables.
The features you should build are depicted in user stories below. User stories are a way of describing a feature that breaks functionality down into the smallest possible pieces and clearly communicates the use case, functionality, and benefit.
Create an app for a University registrar to keep track of students and courses. Here are some user stories for you - build one at a time before moving on to the next one.
- As a registrar, I want to enter a student, so I can keep track of all students enrolled at this University. I should be able to provide a name and date of enrollment.
- As a registrar, I want to enter a course, so I can keep track of all of the courses the University offers. I should be able to provide a course name and a course number (ex. HIST100).
- As a registrar, I want to be able to assign students to a course, so that teachers know which students are in their course. A course can have many students and a student can take many courses at the same time.
If you make it this far, great job! If you have time, work on these other user stories.
- As a registrar, I want to be able to create departments. A student can be assigned to a department when they declare their major and a course can be assigned to a department when it is created.
- As a registrar, I want to be able to list out all of the courses or all of the students in a particular department, so that I can inform the counselors which departments need more students and which need more courses.
- As a registrar, I want to change a student's file to show that they have completed a course, so that I can see if they need to take the course again.
- As a registrar, I want to list out all of the courses a student has taken, so that I can see if they have met their degree requirements.
- As a registrar, I want to see how many students have not completed courses in any particular departments, so that I can tell the administration which departments need help.
Many companies introduce functionality by rolling out new features for their customers or clients. Feature are a set of user stories that amount to a new functional experience for the end user. Companies decide what features to introduce through market research, or by request from a client. If you complete all the previous user stories before the end of the day, think up a feature that a University registrar might find useful. Write user stories like the ones above to describe the functionality clearly (you'll use them to communicate with your client/customer). Then integrate that user stories into your functionality. Congratulations... you're in the web app development life cycle!