yoanpetrov02 / student-management-system Goto Github PK
View Code? Open in Web Editor NEWA system designed to be used for the management of university courses and students.
License: MIT License
A system designed to be used for the management of university courses and students.
License: MIT License
The existing code has to be documented with Javadoc to ensure that things like thrown exceptions are described properly.
Remove the numberOfStudents
field from this entity and make the getter for it count the number of users with a 'STUDENT' role that are enrolled in it, using streams API.
The user_accounts table should be removed and the data from it should move to the users table. Instead of making new tables for those things, we can use DTOs.
A login page has to be returned when a user enters the website without being authenticated.
The README file has to contain details about:
These templates have to be added for developers to be able to set up their own local development environments.
The reason for this is that the application.properties file can contain sensitive data, such as database username and password, which are unique to the user, and shouldn't be shared on a public repository.
In all controllers, there are handlers that take an id and a response body object. Example:
@PostMapping("/{courseId}/users")
public ResponseEntity<User> addUserToCourse(
@PathVariable Long courseId,
@RequestBody User requestUser
)
Here, the requestUser parameter can easily be a path variable instead of having to make the client pass the whole details of the user when they really just need the id.
All controllers have 1-2 handlers that follow the same pattern. The task is to change this to only use path variables in the method arguments.
Error message handling should be implemented for the different kinds of errors instead of just returning a status code without any body. This should be done by extending the ResponseEntityExceptionHandler class and using the @ControllerAdvice annotation, so read more about them before implementing the changes.
Useful links: Baeldung
The integration tests are not working. Try with:
After removing the user_accounts table, JWT authentication has to be implemented.
We need to add:
The controllers should not be throwing exceptions. This should be changed so that only the services throw these exceptions. The exceptions can then be handled using AOP (leaving this for later).
Add a logger to each controller/service for debugging purposes.
Enable method security and apply it to all methods in the controllers.
Useful links: Baeldung
We need to add this dependency in order to be able to support hot reloading of the server for smoother development.
Add JSON validation to all endpoints using @Valid from Hibernate.
Useful links:
haha description
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.