A modern take on the classic snake game with real-time competitive features! Challenge yourself and compete with players worldwide on our global leaderboard.
- 🎮 Classic snake gameplay with modern controls and smooth animations
- 🏆 Real-time global leaderboard with live score updates
- 📊 Personal best tracking and performance analytics
- 📱 Fully responsive design optimized for desktop
- 🔒 Advanced anti-cheat system with request validation and replay protection
- 🤫 Hidden auto-play cheat for those who can find it!
- Vue.js 3 - Progressive JavaScript Framework
- Vite - Next Generation Frontend Tooling
- Axios - HTTP Client
- Modern responsive UI design
- FastAPI - Modern Python Web Framework
- SQLAlchemy - SQL Toolkit and ORM
- Pydantic - Data Validation
- SSE (Server-Sent Events) for real-time updates
cd frontend
npm install
npm run dev # Start development server
npm run build # Build for production
npm test # Run unit testscd backend
uv sync
sudo mkdir -p /data && sudo touch /data/score.db # Create database file
uv run uvicorn main:app --host 0.0.0.0 --port 8000 # Start development serverThe backend can be deployed using Docker:
# Create data directory
mkdir -p /mnt/snake-game
# Start the service
docker-compose up -dThe service includes:
- 🔄 Automatic container health checks
- 💾 Persistent data storage
- 🔄 Automatic image updates
- Frontend: Automatically deployed to GitHub Pages on push to main branch
- Backend: Deployed via Docker with automatic health checks and updates
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Feel free to open issues and pull requests.