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 t 8000 hat 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