A gamified code assessment platform that automates GitHub commits and evaluates developer performance in real-time.
GitHub Game transforms collaborative coding into an engaging competition where developers:
- Automatically commit code at set intervals
- Compete with other developers on the same repository
- Get assessed by AI tools for code quality, bugs, and performance
- Receive AI-generated goals and checkpoints for project development
- Track metrics like code quality, bug count, feature completion, and more
- Automated Commits: Set custom intervals for automatic GitHub pushes
- Real-time Assessment: AI-powered code analysis on every commit
- Multi-user Competition: Compare performance across team members
- Live Leaderboards: Real-time ranking based on various metrics
- Project Goals: AI-generated milestones and feature suggestions
- Code Quality: Cyclomatic complexity, maintainability index
- Bug Detection: Automated bug finding and severity assessment
- Performance: Execution time, memory usage analysis
- Code Coverage: Test coverage and documentation completeness
- Security: Vulnerability scanning and best practices
- Collaboration: Git activity, review participation
- OpenAI GPT-4: Code review and feature suggestions
- SonarQube: Comprehensive code quality analysis
- ESLint: JavaScript/TypeScript linting
- Custom Metrics: Project-specific assessment criteria
Frontend (React) ←→ Backend (Node.js/Express) ←→ GitHub API
↓
Database (MongoDB)
↓
AI Services (OpenAI, SonarQube)
- React 18 with TypeScript
- Tailwind CSS for styling
- Socket.io for real-time updates
- Chart.js for metrics visualization
- Node.js with Express
- MongoDB for data persistence
- Socket.io for real-time communication
- GitHub API integration
- OpenAI API for AI features
- GitHub Actions for CI/CD
- Docker for containerization
- Heroku/Vercel for deployment
-
Clone the repository
git clone <your-repo-url> cd github-game
-
Install dependencies
npm run install-all
-
Set up environment variables
cp .env.example .env # Edit .env with your API keys -
Start development servers
npm run dev
# GitHub OAuth
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
# OpenAI
OPENAI_API_KEY=your_openai_api_key
# Database
MONGODB_URI=your_mongodb_uri
# JWT Secret
JWT_SECRET=your_jwt_secret
# SonarQube (optional)
SONARQUBE_URL=your_sonarqube_url
SONARQUBE_TOKEN=your_sonarqube_token- Connect GitHub Account: OAuth integration with GitHub
- Join a Game: Create or join an existing repository game
- Set Commit Interval: Choose how often to auto-commit (5min - 1hour)
- Code Away: Write code normally, commits happen automatically
- Track Progress: Monitor your metrics and ranking in real-time
- Complete Goals: Work on AI-generated project milestones
- Maintainability: How easy the code is to maintain
- Reliability: Bug-free code percentage
- Security: Security vulnerability count
- Test Coverage: Percentage of code covered by tests
- Execution Time: How fast the code runs
- Memory Usage: Efficient memory utilization
- Code Efficiency: Algorithm optimization
- Commit Frequency: Regular contribution pattern
- Code Reviews: Participation in peer reviews
- Documentation: Code commenting and README updates
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
MIT License - see LICENSE file for details
- Issues: Create an issue on GitHub
- Discussions: Use GitHub Discussions for questions
- Documentation: Check the
/docsfolder for detailed guides
- Phase 1: Basic GitHub integration and commit automation
- Phase 2: AI code assessment and metrics
- Phase 3: Real-time leaderboards and competition
- Phase 4: Advanced AI goal generation
- Phase 5: Mobile app and advanced analytics