Finalization
- car: delete non-existing car returns 200
- add authentication to docker-compose
- for any endpoint call, I'm getting "500 - Internal Server Error" (tried with authentication with api-key from application.yml as well as new api-key generated by calling endpoint on port 8080)
Milestone 2:
findRacesByLocation and findAllRacesOfDriverInLocation is not tested- Descriptions of driver-controller endpoints in Swagger dont match the operation
"Assign a specific driver to a team" creates a driver without specifying teamNot all services are yet interconnected with each otherit is missing facade part which could be maybe addedIn modul components there are completely missing test of service- in modul car there are two test classes which has basically empty tests
the directory structure of your tests should follow the structure of the main source code/race/findMostSuitableDriversForLocation, /carcomponent/getsparecomponents - naming?In the getsparecomponents functionality, I believe it would be more efficient to filter the required components using an SQL query instead of looping over ALL the componentsIt is hard to tell the difference between the methods getAllComponentsOfCar and getAllCarComponents based on their namesThe Race entity class would be less cluttered if the nested class definitions were extracted into their own files- weird answers when calling endpoints
- communication between services
Milestone 3:
incomplete data in /fill (eg car without driver and components)services not able to communicate, probably cause of curl call leads to MUNI login pagefetch hostname from properties fileI would personally separate Characteristic.java to a separate folder as it is not a validator but an enumI also think the fetch{MODEL} and fetchAll{MODEL} could have some kind of generalisationIt is also possible to add the same race to the season, which should not be possible, I think.There is also an unhandled error in creation of the season. If there is an existing race, I get this issue every time.even though the ID gets overwritten in race modul, I do not think, it should be thereThere also seems to be an issue with this return message for a season.I also think that the Race controller does not check for the carId nor for the driverIdI would suggest using the environment variables for the ports and other setups. What if someone changes the application.yaml the port? This is not reflected in the docker fileI believe the initial database seeding should be config at the start of the application. You can have a boolean flag in the application.yaml and if it is true, you can seed the databaseMonitoring is working, but there is no default setup import so I have no dashboard or data source active in Grafana or Prometheusnaming convention on endpoints
Edited by Tomáš Marek