Skip to content

daoanhthanh/studen_management_system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Education Management System

Overview

Features

1) Architectural Feature

  • JWT Authentication
  • CRUD with DTO and constraint validations on all domains
  • Pagination and Sorting options when retrieving data
  • Role-based Authorization: 3 roles: Admin, Teacher, Student
  • OpenAPI Specification: on localhost:8080 (after running the application)
  • Database Password Hashing with BCrypt
  • Docker Image
  • One-click Deployment on Google App Engine
  • Including 7 domains:
    • Course
    • CourseRelease
    • Department
    • Enrollment
    • Student
    • Teacher
    • Timetable

2) Software Feature

Global Access Feature

  • Beautiful Landing Page
  • Login, Logout

Admin Role Feature

  • Courses Management
  • Course Releases Management
  • Departments Management
  • Enrollments Management
  • Students & their Timetable Management
  • Teachers & their Timetable Management
  • Change User password

Student Role Feature

  • View Courses, Departments, Teachers
  • View available Course Releases for own Department
  • View own profile, Enrollments
  • Enroll to a Course Release
  • View own current Timetable
  • Receive Timetable and Course suggestion
  • Change own password

Usage

  • Requires JAVA 8 SDK and MySQL 8 (version 8.0.23) to be installed
  • Create a database named ems and then either:
  • In the project root folder, run in terminal: mvn springboot:run
  • Note: the first boot of the application will be very slow because it will insert ~2500 records in your database as the initial data for the application. Please wait until you receive Data Initialization on First Server Boot Completed Successfully!
  • If you do not want any data to be initialized in your database, go to src/main/java/hanu/edu/ems/InitData.java and comment out the line (around line 134) containing testData(); before running it for the first time.
  • To reset the database, drop database ems; and create database ems;, InitData will be run again.

Cheers

Other contributors:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages