Skip to content

Latest commit

 

History

History
105 lines (65 loc) · 3.06 KB

File metadata and controls

105 lines (65 loc) · 3.06 KB

F1 Management API

CI PHP PHPStan Docker License

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

Table of Contents


Gallery


SPA Home

Main banner of the Single Page Application (SPA)


SPA Home Cards

Home page cards for Tracks and Drivers, including baseline information and links to their respective pages.


SPA Drivers Pagination

Demonstrating pagination functionality on the Drivers page, allowing users to navigate through multiple pages of driver data.


SPA Drivers Search

Demonstrating the search functionality on the Drivers page, enabling users to filter drivers by name in real-time.


Contributors

  • 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.


How to Run Locally

Prerequisites

  • Docker
  • Web browser
docker-compose up

The API will be available at http://localhost:8080.


Stack

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

CI Pipeline

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.