Skip to content

🏎️ Full-stack karting lap time tracking & analytics platform. Upload session emails, track performance, compare with friends.

Notifications You must be signed in to change notification settings

TheMaksoo/karting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

252 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🏎️ Karting Dashboard

Enterprise-grade karting lap time tracking and analytics platform
Automated EML parsing β€’ Real-time analytics β€’ Multi-track support β€’ Production-ready


πŸ“Š Project Status

πŸ† SonarCloud Quality Metrics

Quality Gate Status Coverage Maintainability Rating Reliability Rating Security Rating Bugs Vulnerabilities Code Smells Technical Debt Lines of Code Duplicated Lines (%)

πŸ“ˆ Coverage & Quality

Frontend Coverage Backend Coverage License: MIT Contributor Covenant

πŸ”§ Core CI/CD

🏎️ Karting Pipeline 🎯 Master Orchestrator Auto Release

πŸ’» Tech Stack

PHP Version Node Version Laravel Vue.js TypeScript Tailwind CSS Vite MySQL

πŸ“Š GitHub Repository Stats

GitHub Stars GitHub Forks GitHub Watchers GitHub Issues GitHub Pull Requests GitHub Last Commit GitHub Contributors GitHub Repo Size GitHub Language Count GitHub Top Language

πŸ”’ Security & Community

Security Policy Contributing GitHub Discussions

πŸ€– Automation Workflows

πŸ€– Auto-Fix CI Failures Auto Create Pull Request Auto Merge Dependabot Auto Label PRs Sync Wiki

πŸ‘₯ Community & Maintenance

Welcome New Contributors Stale Issue Manager


πŸ“š Documentation

πŸ“– View Complete Wiki Documentation | 🌐 GitHub Wiki

πŸ’‘ Wiki is automatically synced from docs/wiki/ - see Wiki Setup Guide

Quick Links:

πŸš€ Quick Start

# 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


πŸ›  Local Development

Backend (Laravel)

cd portal/backend
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan serve

Frontend (Vue)

cd portal/frontend
npm install
npm run dev

Testing

# Backend tests (PEST)
cd portal/backend
composer test

# Frontend tests (Vitest)
cd portal/frontend
npm test

# Python tests (pytest)
cd data-importer/scripts
pytest

Code Quality

# PHP linting
cd portal/backend
vendor/bin/pint

# Frontend linting
cd portal/frontend
npm run lint

# Type checking
npm run type-check

πŸ“¦ Tech Stack

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

✨ Features

🎯 Core Features

  • πŸ“§ 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

πŸ”’ Enterprise Security

  • πŸ” 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

πŸš€ Production Ready

  • βœ… 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

πŸ“š Documentation

  • πŸ“– 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

πŸ“ Project Structure

karting/
β”œβ”€β”€ portal/
β”‚   β”œβ”€β”€ backend/         # Laravel API
β”‚   └── frontend/        # Vue SPA
β”œβ”€β”€ data-importer/       # Python data processing
β”œβ”€β”€ .github/workflows/   # CI/CD pipeline
└── TODO.md             # Improvement roadmap

πŸ”— API Endpoints

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

πŸ“‹ Development Roadmap

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)

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Run tests: composer test && npm test
  4. Run linting: vendor/bin/pint && npm run lint
  5. Submit a pull request

πŸ“„ License

MIT License - see LICENSE file for details.

About

🏎️ Full-stack karting lap time tracking & analytics platform. Upload session emails, track performance, compare with friends.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •