Skip to content

anshul-kumar1/GithubGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Game 🎮

A gamified code assessment platform that automates GitHub commits and evaluates developer performance in real-time.

🎯 Concept

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

🚀 Features

Core Functionality

  • 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

Assessment Metrics

  • 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

AI Integration

  • OpenAI GPT-4: Code review and feature suggestions
  • SonarQube: Comprehensive code quality analysis
  • ESLint: JavaScript/TypeScript linting
  • Custom Metrics: Project-specific assessment criteria

🏗️ Architecture

Frontend (React) ←→ Backend (Node.js/Express) ←→ GitHub API
                              ↓
                    Database (MongoDB)
                              ↓
                    AI Services (OpenAI, SonarQube)

🛠️ Tech Stack

Frontend

  • React 18 with TypeScript
  • Tailwind CSS for styling
  • Socket.io for real-time updates
  • Chart.js for metrics visualization

Backend

  • Node.js with Express
  • MongoDB for data persistence
  • Socket.io for real-time communication
  • GitHub API integration
  • OpenAI API for AI features

DevOps

  • GitHub Actions for CI/CD
  • Docker for containerization
  • Heroku/Vercel for deployment

📦 Installation

  1. Clone the repository

    git clone <your-repo-url>
    cd github-game
  2. Install dependencies

    npm run install-all
  3. Set up environment variables

    cp .env.example .env
    # Edit .env with your API keys
  4. Start development servers

    npm run dev

🔧 Configuration

Required Environment Variables

# 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

🎮 How to Play

  1. Connect GitHub Account: OAuth integration with GitHub
  2. Join a Game: Create or join an existing repository game
  3. Set Commit Interval: Choose how often to auto-commit (5min - 1hour)
  4. Code Away: Write code normally, commits happen automatically
  5. Track Progress: Monitor your metrics and ranking in real-time
  6. Complete Goals: Work on AI-generated project milestones

📊 Metrics Explained

Code Quality Score (0-100)

  • 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

Performance Score (0-100)

  • Execution Time: How fast the code runs
  • Memory Usage: Efficient memory utilization
  • Code Efficiency: Algorithm optimization

Collaboration Score (0-100)

  • Commit Frequency: Regular contribution pattern
  • Code Reviews: Participation in peer reviews
  • Documentation: Code commenting and README updates

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

📝 License

MIT License - see LICENSE file for details

🆘 Support

  • Issues: Create an issue on GitHub
  • Discussions: Use GitHub Discussions for questions
  • Documentation: Check the /docs folder for detailed guides

🎯 Roadmap

  • 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors