Students

Overview

The Students Module is designed to manage all aspects of student information, from personal details and academic progress to application tracking and financial statements. This module ensures a comprehensive and seamless experience for students, administrators, and faculty members by providing easy access to up-to-date information. Here's a comprehensive diagram for the student module, incorporating all the features mentioned:

                                                          +---------------------------------+
                                                          |             Start               |
                                                          +---------------------------------+
                                                                    |
                                                                    v
                                                          +---------------------------------+
                                                          |           User Logs In          |
                                                          +---------------------------------+
                                                                    |
                                                                    v
                                                          +---------------------------------+
                                                          |          Session Check          |
                                                          +---------------------------------+
                                                                  /      |       \
                                                                 /       |        \
                                                                /        |         \
                                                               v         |          v
                                            +---------------------------+|+---------------------------+
                                            |   Invalid Session         |||         Valid Session     |
                                            |   Show Error Message      |||      Fetch Student Data   |
                                            +---------------------------+|+---------------------------+
                                                        |               /  |            |
                                                        |              /   |            |
                                                        v             /    |            v
                                            +------------------------+     |    +-------------------------+
                                            |  Fetch Financial Data  |     |    |  Fetch User and Student  |
                                            |                        |     |    |       Information        |
                                            +------------------------+     |    +-------------------------+
                                                         |                 |                  |
                                                         v                 |                  v
                                            +----------------------------+ |    +--------------------------+
                                            |  Check Payment Status      | |    |  Fetch Available Courses |
                                            +----------------------------+ |    +--------------------------+
                                                  /          \              |                 |
                                                 /            \             |                 |
                                                v              v            |                 v
                         +---------------------+|+-------------------------+|+--------------------------------+
                         |  Payment < 50%      |||  Payment >= 50%         |||           User Data             |
                         | Show Payment Alert  ||| Display Courses         |||      Display Information        |
                         +---------------------+|+-------------------------+|+--------------------------------+
                                                |                          |                  |
                                                v                          |                  v
                         +---------------------------------+               |   +--------------------------------+
                         |      Financial Statements       |               |   |       Display Courses           |
                         | Display Financial Information   |               |   |         Course Selection         |
                         +---------------------------------+               |   +--------------------------------+
                                                |                          |                  |
                                                v                          |                  v
                         +--------------------------------+                |   +--------------------------------+
                         | Print Financial Statements     |                |   |    Register Courses            |
                         |     Print Button Click         |                |   +--------------------------------+
                         +--------------------------------+                |                  |
                                                                             \                /
                                                                              \              /
                                                                               v            v
                                                          +-------------------------------------------+
                                                          |             Registration Success           |
                                                          |         Show Success or Error Message      |
                                                          +-------------------------------------------+

Features

  1. Personal Information Management:

    • Store and retrieve student personal details, including name, surname, date of birth, gender, home address, contact information, national ID, and nationality.
  2. Academic Information Management:

    • Track and display student academic progress, including current program, registration number, current level, and current semester.
    • Calculate and display remaining time to complete the program.
  3. Application Management:

    • Create, update, and retrieve student applications.
    • Track application status and display related academic qualifications.
    • Generate and manage unique application IDs for user tracking.
  4. Financial Management:

    • Retrieve and display student financial statements.
    • Calculate and display balances, credits, and debits.
    • Handle payment status checks to ensure students have paid the required fees for course registration.
  5. Program Management:

    • Retrieve and display available programs and their levels.
    • Seed the database with predefined program data.
  6. Error Handling and Data Validation:

    • Ensure robust error handling across all processes.
    • Validate input data to maintain data integrity and consistency.

Key Processes

Personal Information Management

  • Retrieve Student Information:
    • Fetch personal details from the database based on the user ID.
    • Display the information in a user-friendly format.

Academic Information Management

  • Track Academic Progress:
    • Fetch academic details from the database, including current program and level.
    • Calculate remaining time to complete the program.
    • Display academic information in a structured manner.

Application Management

  • Create or Update Application:

    • Validate application data.
    • Check if the user already exists and update details if necessary.
    • Create new applications or update existing ones.
    • Handle related academic qualifications.
    • Generate unique application IDs for tracking.
  • Retrieve Application by Short ID:

    • Fetch application details based on a short application ID.
    • Include associated user details and academic qualifications.
    • Return application details or an error message if not found.

Financial Management

  • Retrieve Financial Statements:
    • Fetch all financial statements for a student.
    • Calculate and display balances, credits, and debits.
    • Ensure students have paid required fees for course registration.

Key Sections and Processes

Session Management

  • User Logs In: User logs into the system.
  • Session Check: Checks if the user session is valid.

Financial Data Retrieval

  • Fetch Financial Data: Retrieves the student's financial statements.
  • Check Payment Status: Checks if the student has paid at least 50% of their semester fees.
    • Payment < 50%: Shows a payment alert.
    • Payment >= 50%: Displays available courses.

Displaying Information

  • Fetch User and Student Information: Retrieves detailed user and student information, including personal and academic details.
  • Display Information: Shows personal information, academic information, and application tracking.

Course Registration

  • Fetch Available Courses: Retrieves courses available for registration.
  • Course Selection: Allows students to select courses.
  • Register Courses: Registers the student for the selected courses.
  • Registration Success: Displays a success or error message based on the registration outcome.

Financial Statements

  • Display Financial Statements: Shows financial transactions and balances.
  • Print Financial Statements: Provides a print button to print the financial statements.

Error Handling

  • Invalid Session: Shows an error message if the session is invalid.
  • Session Errors: Handles errors related to session validation.
  • Data Fetching Errors: Handles errors during data retrieval.
  • Payment Verification Errors: Handles errors during payment status verification.
  • Registration Errors: Handles errors during course registration.

Loading State

  • Loading Indicators: Displays loading indicators while fetching data to enhance user experience.

"Great companies are built on great products"