Skip to content

jakmate/formula-ascent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

297 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Formula Career Predictor

codecov CI/CD Quality Gate Status Security Rating Reliability Rating Maintainability Rating

A machine learning application that predicts drivers' likelihood of advancing to parent series using historical performance data.

Deployment

The application is containerized and deployed on:

  • Backend: FastAPI on Render
  • Frontend: Vite on Render
  • CI/CD: GitHub Actions for testing
  • cron-job.org - Keep instance alive due to Render's spindown with the free tier

Tech Stack

  • FastAPI - REST API framework
  • React - UI framework

Quick Start

Prerequisites

  • Python 3.12+
  • Node.js 20+

Backend Setup

cd backend
# no gpu
uv sync --extra cpu
# with gpu
uv sync --extra cu128
fastapi run

Frontend Setup

cd frontend
npm install
npm run dev

Development

Running Tests

# Backend
cd backend
pytest --cov=. --cov-report=html --cov-report=term-missing -n auto

# Frontend
cd frontend
npm run test:coverage

Code Quality

# Backend linting
uv run ruff check
uv run ruff format --check

# Frontend linting
npm run lint
npm run format

Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'feat: Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open Pull Request

Acknowledgments

  • Official Formula 1, Formula 2, and Formula 3 championships for schedule data
  • Wikipedia contributors for driver and team information

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors