Course Management

+-----------------------------+
|       Student Login         |
+-----------------------------+
               |
               v
+-----------------------------+
|  Retrieve Session Information|
+-----------------------------+
               |
               v
+-----------------------------+
|   Session Authenticated?    |
+-----------------------------+
         |            |
         | No         | Yes
         v            v
+-----------------------------+
|   Show Error Message        |
+-----------------------------+
               |
               v
+-----------------------------+
|    Payment Verification     |
+-----------------------------+
               |
               v
+-----------------------------+
|  Paid 50% of Semester Fees? |
+-----------------------------+
         |            |
         | No         | Yes
         v            v
+-----------------------------+
|   Show Payment Alert        |
+-----------------------------+
               |
               v
+-----------------------------+
|       Fetch Courses         |
+-----------------------------+
               |
               v
+-----------------------------+
|    Courses Available?       |
+-----------------------------+
         |            |
         | No         | Yes
         v            v
+-----------------------------+
|  Show No Courses Available  |
|          Message            |
+-----------------------------+
               |
               v
+-----------------------------+
|  Show Course List to Student|
+-----------------------------+
               |
               v
+-----------------------------+
| Student Selects and Confirms|
|         Registration        |
+-----------------------------+
               |
               v
+-----------------------------+
|    Complete Enrollment      |
+-----------------------------+
               |
               v
+-----------------------------+
|  Registration Successful?   |
+-----------------------------+
         |            |
         | No         | Yes
         v            v
+-----------------------------+
|   Show Error Message        |
+-----------------------------+
               |
               v
+-----------------------------+
|   Show Success Message      |
+-----------------------------+

Student Course Management Workflow

The course management workflow involves several key steps:

  1. User Authentication
  2. Payment Verification
  3. Course Fetching
  4. Course Registration
  5. Course Enrollment Completion

1. User Authentication

Before a student can access their courses, they need to be authenticated. The system retrieves the user's session information to ensure they are logged in and have the necessary permissions to proceed.

Flow Diagram:

[Student Login]
      |
      v
[Retrieve Session Information]
      |
      v
[Authenticated?] --> No --> [Show Error Message]
      |
      v
Yes

2. Payment Verification

Once authenticated, the system checks if the student has paid at least 50% of their semester fees. This verification is crucial before allowing the student to register for courses.

Flow Diagram:

[Authenticated]
      |
      v
[Check Payment Status]
      |
      v
[Paid 50%?] --> No --> [Show Payment Alert]
      |
      v
Yes

3. Course Fetching

If the payment verification is successful, the system fetches the courses available for the student based on their program and semester. This involves calling an API to get the relevant courses.

Flow Diagram:

[Paid 50%]
      |
      v
[Fetch Courses by Program]
      |
      v
[Courses Available?] --> No --> [Show No Courses Available Message]
      |
      v
Yes

4. Course Registration

The student is prompted to confirm their registration for the available courses. They can view the details of each course and decide which ones to enroll in.

Flow Diagram:

[Courses Available]
      |
      v
[Show Course List]
      |
      v
[Student Selects Courses]
      |
      v
[Confirm Registration]

5. Course Enrollment Completion

Once the student confirms the registration, the system processes the enrollment. It updates the database to reflect the courses the student is enrolled in and provides feedback on the registration status.

Flow Diagram:

[Confirm Registration]
      |
      v
[Register Courses]
      |
      v
[Registration Successful?] --> No --> [Show Error Message]
      |
      v
Yes
      |
      v
[Show Success Message]

Detailed Process Description

User Authentication

  • Step 1: The student logs into the BriteClasses platform.
  • Step 2: The system retrieves the user's session information to verify their identity.
  • Step 3: If the session information is invalid or missing, an error message is displayed, and the student is prompted to log in again.

Payment Verification

  • Step 4: The system checks if the student has paid at least 50% of their semester fees.
  • Step 5: If the student hasn't paid the required amount, a payment alert is displayed, indicating that they need to complete the payment to register for courses.

Course Fetching

  • Step 6: The system fetches the list of available courses for the student's program and semester through an API call.
  • Step 7: If no courses are available, a message is displayed indicating that courses are not yet available.

Course Registration

  • Step 8: The student is shown a list of available courses.
  • Step 9: The student selects the courses they wish to enroll in and confirms the registration.

Course Enrollment Completion

  • Step 10: The system processes the course registration.
  • Step 11: If the registration is successful, a success message is displayed.
  • Step 12: If the registration fails, an error message is displayed.

Concept Diagram

+-----------------+       +------------------+       +------------------+
|                 |       |                  |       |                  |
|   BriteClasses  | <-->  | School Management| <-->  |      APIs        |
|                 |       |      System      |       |                  |
+-----------------+       +------------------+       +------------------+
         ^                          ^                          ^
         |                          |                          |
         |                          |                          |
+-----------------+       +------------------+       +------------------+
|                 |       |                  |       |                  |
| User Authentication|<--->|  Payment Verification |<--->|  Course Management  |
|                 |       |                  |       |                  |
+-----------------+       +------------------+       +------------------+

Tree Diagram of Course Registration Flow

Session
|
+-- Authenticated?
|   |
|   +-- No: Show Error Message
|   +-- Yes
|
+-- Payment Verified?
|   |
|   +-- No: Show Payment Alert
|   +-- Yes
|
+-- Courses Fetched?
|   |
|   +-- No: Show No Courses Available Message
|   +-- Yes
|
+-- Course Registration
|   |
|   +-- Confirm Registration
|
+-- Enrollment Completed?
    |
    +-- No: Show Error Message
    +-- Yes: Show Success Message