This document provides a comprehensive list of APIs developed for each entity in the Spring Boot Application.
-
GET /people/username/{username}
- Function: Returns the user with the provided username
{username}.
- Function: Returns the user with the provided username
-
DELETE /people/remove/username/{username}
- Function: Removes the user with the provided username
{username}.
- Function: Removes the user with the provided username
-
GET /student/reg/{regNo}
- Function: Returns details of the student with registration number
{regNo}.
- Function: Returns details of the student with registration number
-
GET /student/reg/{regNo}/courses/all
- Function: Returns a list of courses that the student with registration number
{regNo}is enrolled in.
- Function: Returns a list of courses that the student with registration number
-
POST /student/add
- Function: Adds a student to the repository.
- Example Request Body:
{ "username": "Gokulkrishna V", "password": "thisispassword", "role": "STUDENT", "regNo": "B220295CS", "branch": "CS", "batch": "MORNING" }
-
DELETE /student/reg/{regNo}/remove
- Function: Deletes the student with registration number
{regNo}.
- Function: Deletes the student with registration number
-
POST /student/reg/{regNo}/course/add/{courseId}
- Function: Adds course with courseId
{courseId}to the student with registration number{regNo}.
- Function: Adds course with courseId
-
DELETE /student/reg/{regNo}/course/remove/{courseId}
- Function: Removes course with courseId
{courseId}from the student with registration number{regNo}.
- Function: Removes course with courseId
-
GET /student/reg/{regNo}/appointments/all
- Function: Returns a list of appointments for the student with registration number
{regNo}.
- Function: Returns a list of appointments for the student with registration number
-
GET /student/reg/{regNo}/appointment/{appId}
- Function: Returns appointment details of the student with appointment ID
{appId}.
- Function: Returns appointment details of the student with appointment ID
-
PUT /student/reg/{regNo}/appointment/{appId}/update-reason
- Function: Allows modification of the reason for an appointment.
- Request Body: A string containing the new reason.
-
PUT /student/reg/{regNo}/update/username
- Function: Changes the username of the student with registration number
{regNo} - Request Body: A string containing the new username
- Function: Changes the username of the student with registration number
-
PUT /student/reg/{regNo}/update/password
- Function: Changes the password of the student with registration number
{regNo} - Request Body: A string containing the new password
- Function: Changes the password of the student with registration number
-
GET /faculty/id/{facultyId}
- Function: Returns faculty details for the provided faculty ID
{facultyId}.
- Function: Returns faculty details for the provided faculty ID
-
GET /faculty/all
- Function: Returns a list of all faculty members.
-
POST /faculty/add
- Function: Adds a faculty member (already in DB, so not required).
-
GET /faculty/id/{facultyId}/courses
- Function: Returns the list of courses taught by the faculty
{facultyId}.
- Function: Returns the list of courses taught by the faculty
-
POST /faculty/id/{facultyId}/course/add/{courseId}
- Function: Adds the course
{courseId}to the faculty{facultyId}.
- Function: Adds the course
-
DELETE /faculty/id/{facultyId}/course/remove/{courseId}
- Function: Removes the course
{courseId}from the faculty{facultyId}.
- Function: Removes the course
-
GET /faculty/id/{facultyId}/appointments/all
- Function: Returns all appointments where the faculty
{facultyId}is the recipient.
- Function: Returns all appointments where the faculty
-
GET /faculty/id/{facultyId}/appointments/{appId}
- Function: Returns appointment details with ID
{appId}for faculty{facultyId}.
- Function: Returns appointment details with ID
-
PUT /faculty/id/{facultyId}/appointment/{appId}/to/{newStatus}
- Function: Updates the status of an appointment (PENDING, APPROVED, REJECTED).
-
PUT /faculty/id/{facultyId}/reschedule/{rescheduleId}/to/{newStatus}
- Function: Updates the status of a reschedule request (PENDING, APPROVED, REJECTED).
-
PUT /faculty/id/{facultyId}/update/username
- Function: Changes the username of the faculty with facultyId
{facultyId} - Request Body: A string containing the new username
- Function: Changes the username of the faculty with facultyId
-
PUT /faculty/id/{facultyId}/update/password
- Function: Changes the password of the faculty with facultyId
{facultyId} - Request Body: A string containing the new password
- Function: Changes the password of the faculty with facultyId
-
GET /CR/reg/{regNo}
- Function: Returns the Class Representative with registration number
{regNo}.
- Function: Returns the Class Representative with registration number
-
POST /CR/add
- Function: Adds a Class Representative.
- Example: Same as the student's request body.
-
GET /CR/all
- Function: Returns all Class Representatives.
-
POST /course/add
- Function: Adds a course to the repository (not recommended, as all courses are already in the DB).
-
GET /course/all
- Function: Returns a list of all courses.
-
GET /course/{courseId}
- Function: Returns course details for
{courseId}. - Example:
/course/CS3005D
- Function: Returns course details for
-
GET /course/{courseId}/timing
- Function: Returns timetable entries for course
{courseId}.
- Function: Returns timetable entries for course
-
GET /appointment/all
- Function: Returns a list of all appointments.
-
GET /appointment/student/reg/{regNo}
- Function: Returns a list of all appointments made by student
{regNo}. - Example:
/appointment/student/reg/B220172CS
- Function: Returns a list of all appointments made by student
-
GET /appointment/faculty/reg/{facultyId}
- Function: Returns all appointments where faculty
{facultyId}is a recipient.
- Function: Returns all appointments where faculty
-
POST /appointment/add
- Function: Adds an appointment.
-
DELETE /appointment/remove/{appId}
- Function: Removes an appointment with ID
{appId}.
- Function: Removes an appointment with ID
-
GET /reschedule/all
- Function: Returns a list of all reschedule requests.
-
POST /reschedule/add
- Function: Adds a reschedule request.
- Example Request Body:
{ "status": "PENDING", "ogDate": "2025-04-01", "ogSlotIdentifier": 5, "newDate": "2025-04-02", "newSlotIdentifier": 6, "facultyIdentifier": "AB", "crIdentifier": "B220182CS", "reason": "Faculty unavailable on original date" }
-
DELETE /reschedule/remove/{id}
- Function: Removes reschedule request with ID
{id}.
- Function: Removes reschedule request with ID
-
GET /reschedule/reg/{id}
- Function: Returns reschedule requests made by class-rep
{id}. - Example:
/reschedule/reg/B220182CS
- Function: Returns reschedule requests made by class-rep
- GET /slot/all
- Function: Returns a list of all slots.
-
GET /tt/all
- Function: Returns all timetable entries.
-
GET /tt/all/active/{status}
- Function: Returns timetable entries with active status
{status}.
- Function: Returns timetable entries with active status
-
GET /tt/all/{branch}/{batch}
- Function: Returns timetable entries for
{branch}and{batch}.
- Function: Returns timetable entries for
-
POST /tt/add
- Function: Adds a timetable entry.
-
PUT /tt/change/date/{date}/slot/{slot}/{active}
- Function: Changes timetable entry status.
-
GET /tt/free/slots/date/{date}/branch/{branch}/batch/{batch}
- Function: Returns free slots for
{branch}and{batch}on{date}.
- Function: Returns free slots for