CodeQuest is a Software-as-a-Service (SaaS) gamification platform that integrates with Azure DevOps (ADO) to enhance developer productivity and engagement through a points-based reward system. The platform automatically tracks and rewards development activities within ADO, providing real-time recognition for developer contributions.
- 🎮 Real-time activity tracking and point allocation
- 📊 Dynamic leaderboards and team rankings
- 🏆 Achievement system with customizable badges
- 🤖 AI-generated code detection and point adjustment
- 🔐 Enterprise-grade security with SSO support
- 📈 Comprehensive analytics and reporting
- 🌐 Multi-tenant architecture supporting 10,000+ companies
- Frontend: React 18+, TypeScript 5.0+
- Backend: Node.js 18+ LTS, Express 4.18+
- Database: PostgreSQL 14+, Redis 7+
- Infrastructure: Azure Kubernetes Service (AKS)
- CI/CD: Azure DevOps Pipelines
- Monitoring: Azure Monitor, Application Insights
- Node.js 18+ LTS
- npm 9+
- PostgreSQL 14+
- Redis 7+
- Azure subscription
- Docker 20+
- Kubernetes CLI (kubectl)
- Azure CLI
# Clone the repository
git clone https://github.com/codequest/codequest.git
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Start development environment
npm run dev
-
Install required dependencies:
npm install
-
Configure environment variables:
# Required environment variables DATABASE_URL=postgresql://user:password@localhost:5432/codequest REDIS_URL=redis://localhost:6379 AZURE_TENANT_ID=your_tenant_id AZURE_CLIENT_ID=your_client_id AZURE_CLIENT_SECRET=your_client_secret
-
Initialize the database:
npm run db:migrate npm run db:seed
-
Start the development server:
npm run dev
codequest/
├── src/
│ ├── backend/ # Node.js backend services
│ ├── web/ # React frontend application
│ └── shared/ # Shared types and utilities
├── infrastructure/ # Infrastructure as Code
├── tests/ # Test suites
├── docs/ # Documentation
└── .github/ # GitHub workflows and templates
- Create a feature branch from
main
- Implement changes following our coding standards
- Write tests for new functionality
- Submit a pull request for review
- Address review feedback
- Merge after approval
- Follow TypeScript best practices
- Use ESLint and Prettier for code formatting
- Write meaningful commit messages
- Document public APIs and complex logic
- Development: Feature testing and integration
- Staging: Pre-production verification
- Production: Live environment (multi-region)
# Build and test
npm run build
npm run test
# Deploy to staging
npm run deploy:staging
# Deploy to production
npm run deploy:production
- Authentication: OAuth 2.0, SAML, OpenID Connect
- Authorization: Role-Based Access Control (RBAC)
- Data Protection: AES-256 encryption at rest
- Network Security: TLS 1.3, WAF, DDoS protection
- Compliance: GDPR, SOC 2, ISO 27001
-
Database Connection Issues
npm run db:diagnose
-
Redis Connection Issues
npm run redis:diagnose
-
Azure DevOps Integration Issues
npm run ado:test-connection
# Enable debug logging
DEBUG=codequest:* npm run dev
We welcome contributions! Please see our Contributing Guidelines for details on:
- Code of Conduct
- Development process
- Pull request guidelines
- Testing requirements
- Documentation standards
This project is licensed under the MIT License - see the LICENSE file for details.
- Support: [email protected]
- Issues: GitHub Issues
- Slack: CodeQuest Community
Built with ❤️ by the CodeQuest Team