A production-ready, full-stack typing competition platform built with Node.js, Socket.io, MongoDB, and Vanilla JavaScript. Perfect for college techfests, typing competitions, and typing speed challenges with real-time scoring and anti-cheating measures.
- Real-time Competition: Live typing races with instant updates via WebSocket
- Anti-Cheating Measures: Advanced detection to ensure fair play
- Multi-Role Support: Separate interfaces for organizers, participants, and admins
- Comprehensive Scoring: Accurate WPM and accuracy calculations
- Export Rankings: Generate and export competition results
- Responsive Design: Works seamlessly on desktop and mobile devices
- Production Ready: Optimized for performance and scalability
You can run the entire application stack (App + MongoDB) with a single command. No need to install Node.js or MongoDB locally.
-
Start the Platform
docker-compose up --build
-
Access Application
- Organizer Dashboard: http://localhost:3000/organizer
- Participant Portal: http://localhost:3000/
-
Clone & Install
git clone <repository-url> cd typing-platform npm install
-
Configure Database
# Create .env file MONGODB_URI=mongodb://localhost:27017/typing-platform PORT=3000 NODE_ENV=development -
Start Server
npm start
-
Access Application
- Organizer Dashboard: http://localhost:3000/organizer
- Participant Portal: http://localhost:3000/
This documentation is organized into modular files for better navigation. See the docs folder for complete documentation:
| Document | Description |
|---|---|
| FEATURES.md | Complete feature list and capabilities |
| SETUP.md | Installation and configuration guide |
| QUICKSTART.md | Quick start guide for organizers and participants |
| ARCHITECTURE.md | Project structure and tech stack |
| SOCKET_API.md | WebSocket events and communication protocol |
| DATABASE.md | MongoDB schema and data structure |
| DESIGN_SYSTEM.md | Color tokens, typography, spacing, animations |
| REST_API.md | REST API endpoints and responses |
| DEPLOYMENT.md | Deployment guides for Render and Railway |
| TESTING.md | Testing checklist and edge cases |
| CONFIG.md | Configuration and customization options |
| TROUBLESHOOTING.md | Common issues and solutions |
| PERFORMANCE.md | Performance metrics and optimization |
| CONTRIBUTING.md | Contribution guidelines |
We welcome contributions! Please see our Contributing Guide for details on how to get started.
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ for techfest typing competitions
Last Updated: January 6, 2026
Version: 1.0.0