This is the project for SESC. The project contains several microservices, including Student, Library and Finance portal. As well as a Discovery Server and the API Gateway. The Microservices are also Dockerized in independent containers.
The project focuses on the development of Web Applications communicating with each other using RESTful APIs. The three platforms available allow a student to Register, Enroll in different courses, borrow books and pay eventual fines or fees.
List the technologies/frameworks/languages used in the project.
- Java
- Spring Boot
- Spring Cloud
- Docker
- REST
- PostgreSQL
- Hilla
- React
- Thymeleaf
- Tailwind
- Mockito
- Maven
- Gradle
Highlight the main features of the application.
- Register Student
- Register Students in the other microservices
- View and Update Student Profile
- View and Enrol in courses
- See Invoice reference numbers
- Check Graduation Status
- Student Login with default password
- First time login password change
- Borrow Books
- Return Books
- Admin Functionalities
- Adding new Books
- Search Books by ISBN through Google Library API
List any prerequisites or system requirements needed to run the project.
- Java 11 or higher
- Maven
- Gradle
- Docker
Before dockerizing the application, compile the JAR file.
- Using Gradle this can be done from the right hand side menu of your IDE if using IntelliJ by clicking on Gradle -> Build
- Using Maven this can be done from the right hand side menu of your IDE if using IntelliJ by clicking on Maven -> Install
Once compiled run docker compose up -d in the same folder of each microservice.
The JAR file will be copied and used to build the image for the container.
The container's defaul network is run by the Discovery Server, hence run this first.
This project uses Google Library API for Admin to add books.
If you want to test such features, create a new file named key.properties in the Resource folder.
This file will contain you API key to be used and it will have the following format:
library.key=YOUR_KEY_HERE
