REST API built with Symfony 8.1 and API Platform 4.3, exposing MotoGP 2026 season data: riders, teams, circuits and race results.
- PHP 8.4 / Symfony 8.1
- API Platform 4.3 (REST + JSON-LD / Hydra)
- Doctrine ORM 3.6 / PostgreSQL 16
- Docker / Docker Compose
- PHPUnit 13.2 (functional tests)
- PHPStan 2.2 (level 6) / PHP CS Fixer 3.95
- GitHub Actions (CI/CD)
- Docker
- Docker Compose
git clone https://github.com/florentdevk/motogp-api.git
cd motogp-api
docker compose up -d
docker compose exec php php bin/console doctrine:migrations:migrate --no-interaction
docker compose exec php php bin/console doctrine:fixtures:load --no-interactionThe API is available at http://localhost:8000/api.
| Resource | Endpoint |
|---|---|
| Riders | GET /api/riders |
| Teams | GET /api/teams |
| Circuits | GET /api/circuits |
| Races | GET /api/races |
| Race Results | GET /api/race_results |
GET /api/riders?nationality=Spanish
GET /api/riders?name=Marc
GET /api/riders?order[number]=asc
GET /api/riders?page=2
GET /api/riders?itemsPerPage=10
GET /api/circuits?country=Spain
GET /api/circuits?order[length]=desc
GET /api/races?season[gte]=2026
GET /api/races?order[date]=asc
docker compose exec php php vendor/bin/phpunit# Static analysis
docker compose exec php vendor/bin/phpstan analyse --memory-limit=512M
# Code style
docker compose exec php vendor/bin/php-cs-fixer fix --dry-runFixtures include real 2026 MotoGP season data:
- 22 riders across all factory and satellite teams
- 11 teams (Ducati Lenovo, Aprilia Racing, Monster Energy Yamaha, etc.)
- 22 circuits (Buriram, Mugello, Silverstone, etc.)
- 22 races (full 2026 calendar)