Course Registration

Overview

The Course Registrations feature enables students to register for courses for the current semester, ensuring they have paid at least 50% of their semester fees before allowing them to register. The system handles session management, payment verification, course display, and registration, providing a seamless and user-friendly experience.

                               +-------------------+
                               |   User Logs In    |
                               +-------------------+
                                       |
                                       v
                           +----------------------+
                           |     Session Check    |
                           +----------------------+
                           /           |          \
                          /            |           \
                         v             v            v
          +----------------------+     |    +----------------------+
          |     Invalid Session  |     |    |    Valid Session     |
          | Show Error Message   |     |    |  Fetch Student Data  |
          +----------------------+     |    +----------------------+
                                       |                  |
                                       |                  v
                                       |    +--------------------------+
                                       |    | Fetch Available Courses  |
                                       |    +--------------------------+
                                       |                  |
                                       |                  v
                                       |    +--------------------------+
                                       |    |  Check Payment Status    |
                                       |    +--------------------------+
                                       |            /       \
                                       |           /         \
                                       v          /           v
 +----------------------+  +----------------------+  +----------------------+
 |   Payment < 50%      |  |   Payment >= 50%     |  |  Payment Verification |
 | Show Payment Alert   |  |  Display Courses     |  |        Errors         |
 +----------------------+  +----------------------|  | Show Error Message   |
                      \    |                      |  +----------------------+
                       \   |                      |
                        v  v                      |
              +-------------------------+         |
              |   Course Selection      |         |
              +-------------------------+         |
                       |                         /
                       v                        /
              +-------------------------+       /
              |   Register Courses      |      /
              +-------------------------+     /
                       |                    /
                       v                   /
    +---------------------------+         /
    |   Registration Success    |        /
    | Show Success Message      |       /
    +---------------------------+      /
                                    /
                                  v
            +---------------------------+
            |   Registration Fails      |
            | Show Registration Error   |
            +---------------------------+