TimeLabs is a fully functional RESTful API implementation for a University Timetable Management System.
This was implemented as for the requirements of Application Frameworks - SE3040 - Assignment 01.
Registration Number - IT21318320
Name - Silva T.U.D
Group No - Y3.S2.SE.WE.0201
TimeLabs is a fully-fledged and secured RESTful API for a university timetable management application which is built using SpringBoot and for data handling MongoDB has been used. The implemented APIs cover all the aspects of a timetable management system including user management, course management, resource allocation, timetable creation and manipulation, and also notification management. All the RESTful APIs have been tested under different test cases, and also have been tested against security vulnerabilities ensuring the security of the API endpoints. Data manipulation in the APIs has also been secured inside the service functions by ensuring the authorization of users and encrypting sensitive data inside the system to ensure the data privacy at the same time. The system comprises of three types of user roles namely student, faculty, and admin with different levels of authority to access the end points. And the system comprises mainly six components namely User Roles and Authentication, Course Management, Timetable Management, Room and Resource Booking, Student Enrollment, and Notification and Alerts. In summary, the implemented RESTful API ensures the security, scalability, and flexibility in addition to the fully functional of the system which facilitates the users to easily create and use timetable management application.
IDE - IntelliJ IDEA
Java Version - Java 17
SpringBoot Version - 2.7.4
Database - MongoDB cloud
Testing Libraries - JUnit and Mockito
Security Testing Tool - OWASP ZAP - Must install the tool in order to perform the security tests.
In order to run the application and to run the test cases clone the project and perform a maven clean, build to install the dependencies. Then run the application or the test cases.
Visit the URL to view the API documentation - https://documenter.getpostman.com/view/29491369/2sA35BbjXJ
Please find the full documentation in "TimeLabs Documentation.pdf" inside the same repository.