An N-tier asynchronous Python API built with FastAPI, SQLAlchemy, and Pydantic to transform raw OpenF1 telemetry into actionable racing insights.
-
PDF API Documentation F1APIDocumentaion.pdf Interactive documentation is also available via the links below.
-
Technical Report: Technical Report
-
Presentation Slides Presentation Slides
-
Presentation Demo Presentation Demo
-
AI Documentation AI Documentation
The API is currently deployed on Render and can be accessed via the following links:
-
Production URL: https://web-ser-api.onrender.com
-
Interactive Documentation (Swagger): https://web-ser-api.onrender.com/docs
-
Redoc Documentation: https://web-ser-api.onrender.com/redoc
Note on Calling Endpoints: To call specific endpoints (e.g., /api/v1/analytics/true-pace), append the endpoint path to the Base Production URL as detailed in the Swagger or Redoc documentation above.
This is for development purposes only and should not be followed unless you have access to the connection string for the database.
Create and activate a virtual environment to manage dependencies:
Create the environment
python3 -m venv venv
Activate (macOS/Linux)
source venv/bin/activate
Activate (Windows)
venv\Scripts\activate
pip install -r requirements.txt
Create a .env file in the root directory.
This file is required for both the application and the testing suite to connect to the database and handle security.
DATABASE_URL=InsertURLHere
The project uses Pytest for automated unit and integration testing. These tests simulate a client to verify endpoint functionality and database persistence.
Ensure your virtual environment is active and running:
pytest
pytest -v
To start the API locally for development:
uvicorn main:app --reload
Once started, you can access the local docs at: http://127.0.0.1:8000/docs
(ReadMe Created Using GenAI as in GenAI declaration)