**# 🏁 RaceControl
RaceControl est une plateforme complète de gestion de ligues de simracing. Elle permet aux organisateurs de créer, gérer et automatiser leurs championnats, tout en offrant aux pilotes une expérience claire, moderne et professionnelle.
RaceControl vise à simplifier la gestion des ligues de simracing en centralisant :
- Gestion des ligues et saisons
- Organisation des courses
- Inscriptions pilotes
- Résultats et classements automatiques
- Système de pénalités et réclamations (protests)
- Communication entre organisateurs et pilotes
- Angular
- Tailwind CSS
- Preline UI
- Java
- Spring Boot
- Spring Security (JWT)
- Hibernate / JPA
- MySQL
- Redis
- MinIO (S3 compatible)
- Flyway
- MapStruct
- Docker & Docker Compose
- Création de ligues publiques ou privées
- Gestion des membres et rôles :
- Owner
- Admin
- Steward
- Driver
- Création de saisons
- Barème de points configurable
- Gestion des équipes
- Multi-catégories (évolution future)
- Planification des événements
- Format personnalisable (qualif, course, etc.)
- Gestion météo et paramètres
- Inscription aux courses
- Attribution voiture / numéro / équipe
- Liste principale + liste d’attente
- Saisie manuelle ou import CSV
- Calcul automatique des points
- Classements :
- Pilotes
- Équipes
- Statistiques avancées
- Système de sanctions
- Dépôt de protest avec preuve (MinIO)
- Traitement par les stewards
- Impact automatique sur les résultats
- Événements importants :
- Validation d’inscription
- Résultats publiés
- Pénalités
- Réclamations
- Consultation d’une ligue sans compte
- Classements publics
- Résultats et calendrier
/
├── frontend/ # Application Angular
├── backend/ # API Spring Boot
├── docker-compose.yml
├── .env.example
├── docs/
└── .github/
- Node.js
- Java (version utilisée dans le projet)
- Docker & Docker Compose
- MySQL (si hors Docker)
cp .env.example .env
docker compose up --buildcd backend
./mvnw spring-boot:runcd frontend
npm install
npm start- Frontend : http://localhost:4200
- Backend API : http://localhost:8080
- Swagger : http://localhost:8080/swagger-ui
- MinIO : http://localhost:9001
- Adminer : http://localhost:8081
curl -X POST http://localhost:8080/api/auth/register \
-H "Content-Type: application/json" \
-d '{
"username": "driver1",
"email": "driver1@mail.com",
"password": "password"
}'curl -X POST http://localhost:8080/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "driver1@mail.com",
"password": "password"
}'POST /api/leaguesPOST /api/leagues/{leagueId}/seasonsPOST /api/seasons/{seasonId}/racesGET /api/seasons/{seasonId}/standingscd backend
./mvnw testcd frontend
npm testVoir le dossier docs/ :
- architecture.md
- api.md
- security.md
- deployment.md
Voir .env.example :
- DB_HOST
- DB_NAME
- DB_USER
- DB_PASSWORD
- REDIS_HOST
- MINIO_ACCESS_KEY
- MINIO_SECRET_KEY
- JWT_SECRET
- Live telemetry
- WebSocket temps réel
- Export PDF / CSV
- Intégration APIs jeux (iRacing, ACC)
- Application mobile
- Fork
- Branch feature
- Pull Request
MIT
Une plateforme moderne pour gérer vos ligues de simracing comme un pro.