Introduction
As part of my application, I have implemented a feature that allows users to interact with a list of classes. Users can add classes to the list and select one for each period of their daily schedule. Once the user selects a class for each of the five periods, they can view their personalized schedule.
1. Input from User, Device, Online Data Stream, or File:
Implementation: The system allows users to input their class choices by selecting from dropdown menus for each period (Period 1 through Period 5). The classes are fetched from an online data stream (via API calls) to display them to the user. At Least One List (or Other Collection Type) to Represent a Collection of Data:
2. At Least One List (or Other Collection Type) to Represent a Collection of Data:
Implementation: The system utilizes a collection of classes per user stored in the classes table. Each user’s selected class for each period is stored in a list, allowing the system to manage and organize the class schedule.
3. At Least One Procedure that Contributes to the Program’s Intended Purpose:
Implementation: The initClasses() function initializes the database with initial class list data which ensures a structured data setup
4. An Algorithm that Includes Sequencing, Selection, and Iteration:
Implementation: The class selection process involves:
Sequencing: The steps of displaying available classes, selecting a class for each period, and saving the selection.
Selection: Users select a class for each period from the dropdown options.
Iteration: The system iterates over the available classes and presents them in the dropdowns. Upon selection, it iterates through the user’s choices and updates the backend accordingly.
5. Calls to Your Student-Developed Procedure:
Implementation: The procedure getClasses() is the student-developed function that integrates both the frontend and backend of the system. It is responsible for fetching class data from the backend and presenting it to the user, as well as updating the backend when a user selects a class.
6. Instructions for Output Based on Input and Program Functionality:
Implementation: Once a user selects a class for a period, the system provides visual feedback by highlighting the selected class card. Additionally, a backend call is made to save the user’s selection, ensuring the schedule is updated based on their input. The class list view updates dynamically as the user makes selections, offering clear, real-time feedback.
N@TM Feedback
Good and Bad
Good
- Purposeful
- Practical
- Theme and some UI
Bad
- Make UI more consistent
Integration
One piece of feedback that really interested me was the idea that admins or users could view who added classes for moderation purposes. I thought this was really interesting, creative, and a good point so I added it.