Welcome to the EduSys Management System repository! This README provides an overview of the project's functionalities, database structure, layers, and instructions for usage.
The EduSys Management System is designed to manage students, professors, and employees within an educational institution. This repository contains the source code for the system, organized into different layers to promote modularity and maintainability.
The EduSys Management System offers a range of functionalities tailored to specific user roles:
- View Profile: Access personal information.
- Browse Courses: Explore a list of available courses.
- Select Courses: Enroll in courses for the current semester.
- Track Progress: Check taken courses and corresponding grades.
- Logout: Securely log out.
- View Profile: Access personal details and information.
- Grade Students: Record and manage student grades.
- Payroll Information: Access payroll information.
- Logout: Securely log out.
- Student Records: Access and manage student information.
- Professor Records: Manage professor-related details.
- Staff Information: Administer staff records and data.
- Course List: View and manage course offerings.
- Payroll Management: Access payroll details.
- Logout: Securely log out.
The project's database is structured around the following tables:
- User Credential: Stores user credentials, including usernames and passwords.
- User Info: Contains personal details of users such as name, surname, role, professor position, and student semester.
- Available Courses: Includes course information and the respective assigned professors.
- Selected Courses: Serves as an intermediary table between available courses and user info, storing details about selected courses, grades, and evaluation status.
The EduSys Management System is built using the following technologies:
- Java Persistence API (JPA) for object-relational mapping
- Hibernate ORM for database interaction
- SQL for querying and managing the database
The EduSys Management System employs a layered architecture to promote separation of concerns and maintainability:
- Base Layer: Provides core components shared across the project.
- Entity Layer: Defines entities representing domain concepts and their database mappings.
- Repository Layer: Handles database interactions, including queries and data persistence.
- Service Layer: Orchestrates business logic and communication between UI and repositories.
- UI Layer: Presents the user interface, menus, and input/output handling.
- Util Layer: Contains utility components for application context, security, and constants.
- Validation Layer: Ensures data correctness and enforces business rules.
Thank you for exploring the EduSys Management System repository!