A RESTful API for Formula 1 data built with PHP, Slim 4, and Eloquent ORM. Features include authentication, pagination, testing, and Docker containerization.
Developed as a team project at Indiana University.
Live API Docs (Swagger UI) via Github Pages
Main banner of the Single Page Application (SPA)
Home page cards for Tracks and Drivers, including baseline information and links to their respective pages.
Demonstrating pagination functionality on the Drivers page, allowing users to navigate through multiple pages of driver data.
Demonstrating the search functionality on the Drivers page, enabling users to filter drivers by name in real-time.
- Jalen Vaughn — Lead developer; API architecture, authentication, Docker, CI/CD, and documentation
- Evan Deal — Frontend SPA design and implementation.
- Matt Jobe — Car and Driver models, repositories, and controllers
Developed as a team project at Indiana University.
- Docker
- Web browser
docker-compose upThe API will be available at http://localhost:8080.
| Layer | Technology |
|---|---|
| Framework | Slim 4 + PHP-DI |
| ORM | Eloquent |
| Auth | Basic Auth, Bearer Token, JWT |
| Database | MariaDB |
| Tests | PestPHP (unit) + Newman (API) |
| Static Analysis | PHPStan |
| Container | Docker |
Every pull request runs:
- PHPStan static analysis
- PHP CS Fixer (PER-CS2.0 standard),
- PestPHP unit tests,
- Newman (Postman) integration tests against a live MariaDB service container,
Utilizing GitHub Actions for automation.



