Skip to content

UditNayak/School-TimeTable-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

School TimeTable Management System

Class Diagram

Requirements

  • Class Design
  • Classroom Model
  • CRUD Operations for Classroom
  • Feature to list all timetable entries for a specific classroom.
  • Subject Model
  • Implement functionalities to assign subjects to specific time slots in the timetable.
  • Support listing all timetable entries for a specific subject.
  • TimeTableEntry Model
  • CRUD operations for TimeTable
  • Adding logging for each CRUD operation

Model Creations for Classroom, Subject, Teacher, TimeTableEntry

ClassroomTableInitial StudentTableInitial TeacherTableInitial TimeTableInitial

CRUD Operations for Classroom

Create Classroom

CreateClassroom ClassroomTableAfterCreation

Read Classroom

GetClassroom

Update Classroom

Before Update

UpdateClassroomBefore

After Update

UpdateClassroomAfter ClassroomUpdateJson

Delete Classroom

Before Delete

DeleteClassroomBefore

After Delete

DeleteClassroomAfter

DeleteClassroomJson

CRUD Operations on TimeTableEntry

Create TimeTable

input json

CreateTimeTableJSON

output json

CreateTimeTableJSONOutput TimeTableAfterCreation

Read TimeTable by ID

GetTimeTable

Update TimeTable

Before Update

UpdateTimeTableBefore

After Update

UpdateTimeTableAfter UpdateTimeTableJson UpdateTimeTableJson2

Delete TimeTableEntry

Before Delete

DeleteTimeTableBefore

After Delete

DeleteTimeTableAfter DeleteTimeTableJson

Operations on Teacher and Subject

Create Teacher

CreateTeacher TeacherTableAfterCreation

Create Subject

CreateSubject SubjectTableAfterCreation

Other Functionalities

Get All TimeTables related to a particular Classroom using Classroom ID

GetAllTimeTables

Get all TimeTableEntries linked to a specific Subject by SubjectID

AllTimeTableEntriesBySubjectId

TimeTable Subject Updation

Before Update

TimeTableSubjectBeforeUpdate

After Update

TimeTableSubjectAfterUpdate TimeTableSubjectUpdateJson

Authorisation of Admin

  • Credential (Userid, password) Through URL

But our URL will became too long (BAD PRACTICE). As many browsers have some limit on the length of the URL.
  • Credential (Userid, password) Through Request Body (JSON)

In the request body, apart from the actual data, the user will also send the credentials. This is a better approach as the URL will not be too long and the credentials will be sent in the request body.
  • JWT Token (JSON Web Token)

Logging Functionality

Workflow of Logging

  • We have used SLF4J (Simple Logging Facade for Java)library for logging.
  • In every controller we are creating a logger object.
  • We are using this logger object to log the information.
  • We are logging the information in the console.
  • We are also logging the information in the file.
  • We are using logback.xml file to configure the logging to remove the unwanted logs. [Future Implementation]

Before Logging

BeforeLogging

After Logging

AfterLogging

About

#Group 31

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages