...
The crewmember interacts with the ModalComponent to create a new tab. In this component, the crewmember fills in the desired rounds that they want to see data from. The system will then add the new tab with the specified rounds to the application.
View Races
The crewmember goes to the view races page where the front-end does a call to the backend. This activates the getAllRaces method in the Raceresource. The resource is only responsible for returning the response so it gets delegated to the racecontroller. The Racecontroller delegates this to the raceDAO where a database connection is established to get all the data from the database. The benefit of this structure is that you can easily swap the classes which results in low cohesion and high coupling.
Database Design
...