Skip to the content.

Final Part 3

Feature Explaination

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:

neptunechooseclasses neptunechooseclasses

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:

neptunechooseclasses neptunechooseclasses

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:

neptunechooseclasses

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:

neptunechooseclasses

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:

neptunechooseclasses

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:

neptunechooseclasses

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

neptunechooseclasses

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.

neptunechooseclasses