Enterprise-grade karting lap time tracking and analytics platform
Automated EML parsing β’ Real-time analytics β’ Multi-track support β’ Production-ready
π View Complete Wiki Documentation | π GitHub Wiki
π‘ Wiki is automatically synced from
docs/wiki/- see Wiki Setup Guide
Quick Links:
- π Getting Started - Installation and setup guide
- ποΈ Architecture Overview - System design and tech stack
- π‘ API Reference - Complete API documentation
- π¨ Frontend Guide - Vue 3 development guide
- π§ Backend Guide - Laravel development guide
- π Security Guide - Security best practices
- π Troubleshooting - Common issues and solutions
# 1. Clone the repository
git clone https://github.com/TheMaksoo/karting.git
cd karting
# 2. Backend setup
cd portal/backend
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan serve
# 3. Frontend setup (new terminal)
cd portal/frontend
npm install
cp .env.example .env
npm run dev
# 4. Access the application
# Frontend: http://localhost:5173
# Backend API: http://localhost:8000/api
# API Docs: http://localhost:8000/api/documentationπ Full Setup Guide: See SETUP.md for detailed configuration
π Production Deployment: See DEPLOYMENT.md for Docker/K8s
cd portal/backend
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan servecd portal/frontend
npm install
npm run dev# Backend tests (PEST)
cd portal/backend
composer test
# Frontend tests (Vitest)
cd portal/frontend
npm test
# Python tests (pytest)
cd data-importer/scripts
pytest# PHP linting
cd portal/backend
vendor/bin/pint
# Frontend linting
cd portal/frontend
npm run lint
# Type checking
npm run type-check| Layer | Technology | Version |
|---|---|---|
| Frontend | Vue 3 + TypeScript + Vite + Pinia | 3.5 / 5.9 / 6 / 2.3 |
| Backend | Laravel + PHP + Sanctum | 11 / 8.2+ / 4 |
| Database | MySQL / SQLite | 8.0 / 3 |
| Cache | Redis | 7+ |
| Testing | PEST + Vitest + pytest | Latest |
| CI/CD | GitHub Actions + SonarCloud | - |
| Monitoring | Sentry + Structured Logging | Latest |
| Deployment | Docker + Kubernetes | Latest |
- π§ EML Upload: Parse karting session emails with auto-track detection (7 tracks supported)
- π Real-time Analytics: Live lap time analytics and performance trends
- π₯ Multi-Driver: Support unlimited drivers with color coding and statistics
- π Multi-Track: Track performance across different karting venues
- π Trophy Case: Personal bests, track records, and achievements
- π Performance Insights: Lap time progression, consistency analysis
- π HttpOnly Cookies: XSS-proof session-based authentication
- π¦ Rate Limiting: IP + per-user rate limiting (120 req/min)
- π‘οΈ Security Headers: CSP, HSTS, X-Frame-Options, X-Content-Type-Options
- π Audit Logging: Full CRUD operation tracking with user context
- β Input Validation: XSS/SQL injection protection, file validation
- β 990 Tests: 554 backend + 407 frontend + 29 Python (100% passing)
- π Health Checks: 4 endpoints for monitoring (
/api/health/*) - π Structured Logging: JSON logs with user/request context
- π Error Tracking: Sentry integration with breadcrumbs
- π³ Containerized: Docker + Kubernetes deployment ready
- π API Versioning:
/api/v1/*for backward compatibility
- π OpenAPI Docs: Interactive Swagger UI at
/api/documentation - π Wiki: GitHub Wiki - Comprehensive documentation (auto-synced from
docs/wiki/) - π Wiki Setup: WIKI_SETUP.md - How wiki synchronization works
- π Setup Guide: SETUP.md - Complete installation instructions
- π Deployment: DEPLOYMENT.md - Docker, K8s, cloud platforms
- π€ Contributing: CONTRIBUTING.md - Development workflow
- π‘οΈ Branch Protection: BRANCH_PROTECTION.md - PR workflow
- π Security: SECURITY.md - Vulnerability reporting
- π― Project Overview: PROJECT_OVERVIEW.md - Full transparency
karting/
βββ portal/
β βββ backend/ # Laravel API
β βββ frontend/ # Vue SPA
βββ data-importer/ # Python data processing
βββ .github/workflows/ # CI/CD pipeline
βββ TODO.md # Improvement roadmap
| Endpoint | Description |
|---|---|
GET /api/health |
Health check status |
GET /api/health/detailed |
Full system status |
POST /api/auth/login |
User authentication |
GET /api/drivers |
List all drivers |
GET /api/tracks |
List all tracks |
GET /api/sessions |
List karting sessions |
POST /api/upload/eml |
Upload EML session file |
See TODO.md for the complete list of 87 identified improvements across:
- π Security (rate limiting, input validation)
- β‘ Performance (caching, indexes, query optimization)
- π Code Quality (service extraction, FormRequests)
- π Documentation (API docs, deployment guides)
- Fork the repository
- Create a feature branch
- Run tests:
composer test && npm test - Run linting:
vendor/bin/pint && npm run lint - Submit a pull request
MIT License - see LICENSE file for details.