Students Reporting System spring boot application
This student management api build to manage the students records and Reports in the database which make a hassle free management .
- Student can be resistered
- User can see Average Percentage of whole class in recent semester
- User can Average marks of Students in a subject
- User Top 2 Consistent Students across all semesters (Maximum average marks)
- Java (Efficient language to handle backend operations)
- Spring Boot (used to build hassle free web applications and writing REST APIs.)
- Spring Data JPA (Used to reduce the time of writing hardcoded sql queries and instead allows to write much more readable and scalable code )
- MySQL (used as a Java persistence store)
- Swagger UI (Used to visualize and interact with the API’s resources without having any of the implementation logic in place.)
- Lambok (Reduces the time of writing java boiler plate code.)
- Maven (used as a dependency management tool.)
-Description of Student table
-Description of Marks table
- StudentCotroller class
- StudentException
- ErrorDetails
- GlobalException
- StudentRepo
- StudentService(I)
- StudentServiceImpl(C)
- Before running the API server, you should update the database config inside the application.properties file.
- Update the port number, username and password as per your local database configuration.
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/studentdb;
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
- To add a student
PUT "http://localhost:8080/students"
-To see Average Percentage of whole class in recent semester
PUT "http://localhost:8080/get_avg_students_marks"
-To see Average marks of Students in a subject
PUT "http://localhost:8080/get_avg_marks"
-To see top 2 Consistent Students across all semesters (Maximum average marks)
PUT "http://localhost:8080/top_two_students"
-You can also check through swagger ui
http://localhost:8080/swagger-ui/