This project is a microservices-based student portal, which allows students to enrol in courses, view their enrolments, and manage their profiles. The portal is integrated with a finance microservice to manage student accounts and invoices, and a library microservice to manage library accounts and fines.
Swagger documentation is available at http://localhost:8082/studentportal-docs/v1/swagger-ui/index.html
.
To fulfill the objectives of this module, the following features need to be implemented:
- Register/Log in: Create a portal user and enable logging in.
- View Courses: Browse and access all available courses.
- Enrol in Course: Enrol in a course, with the creation of a student account upon first enrolment.
- View Enrolments: View the list of courses in which the student is enrolled.
- View/Update Student Profile: Access and modify student profile details, including student ID, name, and surname.
- Graduation: Check eligibility to graduate, ensuring no outstanding invoices.
Integration with the following services is necessary:
- Database Integration: The application must integrate with a database.
- Finance Microservice: Integration with the Finance microservice, available here:
- Creation of a student account triggers a request to the Finance microservice.
- Enrolment in a course triggers a request to create an invoice.
- Checking graduation eligibility involves querying the Finance microservice for outstanding invoices.
- Library Microservice: Integration with the Library microservice, available here:
- Creation of a student account triggers a request to create a library account.
- Late book returns trigger a fine, with a request sent to the Finance microservice to create an invoice.
This project is licensed under the MIT License.