The goal of this project is to give access to all laptimes that are registered and publicly available for Motorcycles Grand Prix sessions.
Technically it is a REST API that can be target either programmatically or via a web browser. It is coded in Java and based on the Quarkus framework.
You can review all available endpoints thanks to the Open API definition that can be found here
The Swagger UI is available even on production for now here
Service | URL | Description |
---|---|---|
List all races and tests of a given year | /api/{year} | Get all the 3 letters acronyms for each event of the year. Referenced as eventShortName below |
List info and sessions of an event | /api/{year}/{eventShortName}/ | All info about an event (conditions, sessions, PDF files available...) and all categories that took part in that event |
List info about an event | /api/{year}/{eventShortName}/{category} | All sessions for that category and event. Category is either MOTO3 , MOTO2 , GP |
List all riders of a given event and category | /api/{year}/{eventShortName}/{category}/riders | All riders that participated to that event in that category. With all details. |
Session results summary | /api/{year}/{eventShortName}/{category}/{session}/ | Results of that sessions |
Lap by lap analysis of a session | /api/{year}/{eventShortName}/{category}/{session}/analysis | All the laps done by each rider, tyres used, max speed ... (from PDF) |
Top speeds of the session | /api/{year}/{eventShortName}/{category}/{session}/topspeed | Summary of top speeds (from PDF) |
Service | URL | Description |
---|---|---|
List all races and tests of a given year | /api/csv/{year} | Get all the 3 letters acronyms for each event of the year. Referenced as eventShortName below |
List info and sessions of an event | /api/csv/{year}/{eventShortName}/ | All categories that took part in that event |
List info about an event | /api/csv/{year}/{eventShortName}/{category} | All sessions for that category and event. Category is either MOTO3 , MOTO2 , GP |
List all riders of a given event and category | /api/csv/{year}/{eventShortName}/{category}/riders | All riders that participated to that event in that category. With all details. |
Session results summary | /api/csv/{year}/{eventShortName}/{category}/{session}/ | Results of that sessions |
Lap by lap analysis of a session | /api/csv/{year}/{eventShortName}/{category}/{session}/analysis | All the laps done by each rider, tyres used, max speed ... (from PDF) |
Top speeds of the session | /api/csv/{year}/{eventShortName}/{category}/{session}/topspeed | Summary of top speeds (from PDF) |
Service | URL | Description |
---|---|---|
List all races of a given year | /api/internal/event/{year}/names | Get all the 3 letters acronyms for each event of the year. Referenced as eventShortName below |
List info about an event | /api/internal/session/{year}/{eventShortName}/{category} | All info about an event (conditions, sessions, PDF files available...). Category is either MOTO3 , MOTO2 , GP |
List all riders of a given race | /api/internal/session/{year}/{eventShortName}/{category}/riders | All riders that participated to that event in that category |
Session results summary | /api/internal/session/{year}/{eventShortName}/{category}/{session}/results/details | Results in a simplified table format |
Session results summary as CSV | /api/internal/session/{year}/{eventShortName}/{category}/{session}/results/details/csv | Same as above but in a CSV format |
Details of a session | /api/internal/session/{year}/{eventShortName}/{category}/{session}/analysis | All the laps done by each rider, tyres used, max speed ... (from PDF) |
Details of a session as CSV | /api/internal/session/{year}/{eventShortName}/{category}/{session}/analysis/csv | Same as above but in a CSV format |
Top speeds of the session | /api/internal/session/{year}/{eventShortName}/{category}/{session}/topspeed | Summary of top speeds (from PDF) |
Please note that there are many more services, please consult the Swagger UI for more info.
Please report the problem by filling an issue: https://github.com/fabricepipart/mgp-timings/issues
- Java 11
- Maven 3.9
mvn clean verify
The CI is done thanks to GitHub actions and runs the following:
- Server tests
- JUnits
- Quarkus Integration tests
- A docker image is built and pushed to dockerhub
- Code coverage for sever side code is gathered and sent to codecov
- A prod environment is updated on a private Kubernetes cluster
- Releasing
- Version is bumped automatically. Add
#major
or#patch
in your commit tags if you want to bump the corresponding number. By default, the minor is bumped. - Repository is tagged for each version
- All changes are gathered in a ChangeLog and GH releases are used
- Builds of the
main
branch are directly loaded on the Production environment
- Version is bumped automatically. Add
- Sonar analysis
mvn quarkus:dev
Note: you can connect your IDE for debugging on port 5005.
mvn clean test
mvn clean verify