Skip to content

The system has three main components: Users, Classes and Courses with the corresponding functionalities for each. There are two main users: Admin and Student, with Two Roles: ADMIN and STUDENT, every Student must be assigned to a class during registration process and only the admin can change his/her class.

Notifications You must be signed in to change notification settings

ahmed-hadaka/School_Management_System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

School_Management_System

The system has three main components: Users, Classes and Courses with the corresponding functionalities for each.

There are two main users: Admin and Student, with Two Roles: ADMIN and STUDENT, every Student must be assigned to a class during registration process and only the admin can change his/her class.

  • Admin Permissions:

    • Manipulation with students: view all the students, get a specific student, delete a student from the system.
    • Manipulation with courses: view all Courses, add new course, delete course, view the students enrolled in this course, add students to a course, and delete students from a course.
    • Manipulation with classes: view all classes, add a new class to the system, view all students assigned to this class, and change the student's class to another class.
  • Student Permissions:

    • view his/her enroled courses, view the other (unenroled) courses, enrol in a specific course, and withdraw from a course.
  • Every action is preserved with auditing functionality. I also added pagination and sorting, custom Authentication provider, custom validations, Transaction Management, i18n and, Uploading files(personal photo).

  • Technologies:

    • Backend: Java, Spring(MVC, AOP, Security, Data JPA), Spring Boot.
    • FronEnd: HTML, CSS, Thymeleaf.
    • DBMS: Mysql.
  • Tools:

    • Maven Build tool, Lombok to generate boilerplate code at runtime.

  • SpringBoot Flow Architecture

SpringBoot Flow Architecture

  • Entity Relationship Diagram

School_System_ERD

  • Video Demo
screen-capture.webm

About

The system has three main components: Users, Classes and Courses with the corresponding functionalities for each. There are two main users: Admin and Student, with Two Roles: ADMIN and STUDENT, every Student must be assigned to a class during registration process and only the admin can change his/her class.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published