A revolutionary full-stack application that combines artificial intelligence with proven educational methods to create the most effective programming learning platform. Built with cutting-edge technologies and designed for scalability.
- Adaptive AI Tutors: Personalized guidance that adapts to your learning style
- Dynamic Challenge Generation: AI creates unique coding challenges based on your progress
- Intelligent Code Analysis: Real-time feedback on code quality, performance, and best practices
- Smart Learning Path Recommendations: ML-driven curriculum that evolves with you
- Advanced Code Editor: Monaco Editor with IntelliSense and syntax highlighting
- Multi-Language Support: Python, JavaScript, TypeScript, Java, C++, Go, Rust, and more
- Real-time Code Execution: Secure sandbox environment for testing code
- Collaborative Coding: Pair programming with real-time synchronization
- Achievement System: Unlock badges and trophies as you progress
- XP and Leveling: Gain experience points and level up your skills
- Leaderboards: Compete with peers and track your ranking
- Streak Tracking: Maintain daily coding streaks for bonus rewards
- Microservices: Scalable backend with Node.js and Python services
- Real-time Communication: WebSocket support for live collaboration
- Advanced Caching: Redis for optimal performance
- Monitoring & Analytics: Comprehensive tracking with Prometheus and Grafana
- Framework: Next.js 14+ (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Custom components with Framer Motion
- State Management: Zustand
- Code Editor: Monaco Editor
- Runtime: Node.js with Express
- Database: MongoDB with Mongoose
- Authentication: JWT with bcrypt
- Real-time: Socket.io
- API Documentation: Swagger/OpenAPI
- Framework: Python Flask
- AI/ML: Custom ML Models (TinyLlama, CodeT5), TensorFlow, scikit-learn
- Local Models: No external API dependencies
- NLP: Custom language processing for code analysis
- Recommendation Engine: Collaborative filtering algorithms
- Containerization: Docker & Docker Compose
- Reverse Proxy: Nginx
- Monitoring: Prometheus + Grafana
- Code Execution: Judge0 sandbox
- Caching: Redis
- CI/CD: GitHub Actions (configured)
- Node.js 18+
- Python 3.9+
- Docker & Docker Compose
- MongoDB (or use Docker)
- Redis (or use Docker)
git clone https://github.com/NickScherbakov/codementor-ai-platform.git
cd codementor-ai-platform
# Install frontend dependencies
npm install
# Install backend dependencies
cd backend && npm install && cd ..
# Install AI engine dependencies
cd ai-engine && pip install -r requirements.txt && cd ..
# Download ML models (first time only)
cd ai-engine && python init_models.py && cd ..# Copy the example environment file
cp .env.example .envRequired Environment Variables:
MONGODB_URI: MongoDB connection string (or use Docker)JWT_SECRET: Generate a secure random stringREDIS_URL: Redis connection URL (or use Docker)
Optional:
OPENAI_API_KEY: No longer required! Using custom ML models
Example .env setup:
# No OpenAI API key needed anymore!
# Database (use Docker or local MongoDB)
MONGODB_URI=mongodb://localhost:27017/codementor-ai
# Security
JWT_SECRET=your-super-secure-jwt-secret-here
# Cache (use Docker or local Redis)
REDIS_URL=redis://localhost:6379
# Development URLs
NEXT_PUBLIC_API_URL=http://localhost:3001/api
NEXT_PUBLIC_AI_API_URL=http://localhost:5000💡 Tip: See .env.example for all available configuration options.
# Start all services
docker-compose up -d
# View logs
docker-compose logs -f# Terminal 1 - Frontend
npm run dev
# Terminal 2 - Backend
npm run backend
# Terminal 3 - AI Engine
npm run ai-engine
# Terminal 4 - Database (if not using Docker)
mongod
redis-server- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
- AI Engine: http://localhost:5000
- Monitoring: http://localhost:3002 (Grafana)
- 📋 Documentation Index - Complete documentation overview and navigation
- 🚀 Quick Start Tutorial - Step-by-step getting started guide
- 💡 Examples & Demos - Interactive examples and real-world use cases
- 🤝 Contributing Guide - How to contribute to the project
- 🏛️ System Architecture - High-level system overview and design principles
- 🔄 Service Interactions - Microservices communication patterns
- 📊 Data Flow Diagrams - Request/response flows and data processing
- 🗄️ Database Schema - Data models and relationships
- 📡 Complete API Guide - Comprehensive API documentation with examples
- ⚡ OpenAPI Specification - Machine-readable API specification
- 🧪 API Examples - Code examples for all endpoints
- 🔗 Interactive API Explorer - Try APIs live in your browser
- 🐳 Deployment Guide - Production deployment instructions
- ☸️ Kubernetes Setup - Enterprise Kubernetes deployment
- 🔧 Troubleshooting - Common issues and solutions
- 📊 Performance Metrics - Benchmarks and optimization guides
POST /api/auth/register // User registration
POST /api/auth/login // User login
POST /api/auth/refresh // Refresh JWT token
POST /api/auth/logout // User logoutGET /api/challenges // Get coding challenges
POST /api/challenges/generate // Generate adaptive challenge
POST /api/submissions // Submit solution
GET /api/progress // Get learning progress
GET /api/achievements // Get user achievementsPOST /ai-tutor/chat // Chat with AI tutor
POST /code/analyze // Analyze code quality
POST /learning-path/recommend // Get learning recommendations📋 View Interactive API Documentation →
codementor-ai/
├── src/ # Frontend source code
│ ├── app/ # Next.js app directory
│ ├── components/ # React components
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility libraries
│ ├── store/ # State management
│ └── types/ # TypeScript definitions
├── backend/ # Node.js backend
│ ├── controllers/ # Route controllers
│ ├── middleware/ # Express middleware
│ ├── models/ # MongoDB models
│ ├── routes/ # API routes
│ └── utils/ # Utility functions
├── ai-engine/ # Python AI service
│ ├── models/ # ML models
│ ├── services/ # AI services
│ └── utils/ # Helper functions
├── docs/ # 📚 Comprehensive Documentation
│ ├── api/ # API documentation & Swagger UI
│ ├── architecture/ # System architecture diagrams
│ ├── deployment/ # Production deployment guides
│ ├── performance/ # Benchmarks & optimization
│ ├── EXAMPLES.md # Code examples & demos
│ └── TUTORIAL.md # Getting started guide
├── public/ # Static assets
├── tests/ # Test suites
└── docker-compose.yml # Container orchestration
🔍 Explore Architecture Diagrams →
# Frontend tests
npm test
npm run test:e2e
# Backend tests
cd backend && npm test
# AI engine tests
cd ai-engine && pytestThe platform includes enterprise-grade monitoring and performance optimization:
- 📊 Performance Benchmarks: Detailed performance metrics and load testing results
- 🎯 Response Time Targets: < 200ms API responses, < 2s AI responses
- 📈 Throughput: 1000+ RPS frontend, 500+ RPS backend, 50+ RPS AI engine
- 🔍 Real-time Monitoring: Prometheus + Grafana dashboards
- ⚡ Auto-scaling: Kubernetes HPA for dynamic scaling
Performance Highlights:
- API P95 Response Time: 156ms
- AI Tutor P95 Response Time: 3.2s
- Database Query P95: 78ms
- 99.94% Uptime SLA
Access Grafana at http://localhost:3002 (admin/admin123)
📋 View Complete Performance Documentation →
We welcome contributions! Please see our Contributing Guide for details.
- API Documentation: Update OpenAPI specs and examples
- Architecture Diagrams: Improve system visualization with Mermaid
- Performance Benchmarks: Add new test scenarios and metrics
- Deployment Guides: Enhance production setup instructions
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests and update documentation
- Submit a pull request
- Frontend: ESLint + Prettier
- Backend: ESLint + Prettier
- Python: Black + Flake8
- Commits: Conventional Commits
- Documentation: Markdown with Mermaid diagrams
📋 View Complete Contributing Guide →
This project is licensed under the MIT License - see the LICENSE file for details.
- Never commit
.envfiles to version control - Use strong secrets for JWT_SECRET and other sensitive values
- Rotate API keys regularly in production
- Use environment-specific configurations for different deployments
- All API keys are loaded from environment variables
- No hardcoded secrets in the codebase
- Rate limiting enabled on API endpoints
- Input validation on all user inputs
If you discover a security vulnerability, please email [email protected] instead of using the public issue tracker.
- Documentation: docs.codementor-ai.com
- Community Forum: community.codementor-ai.com
- Issues: GitHub Issues
- Email: [email protected]
- Core learning platform
- AI-powered tutoring
- Code execution sandbox
- Basic gamification
- Mobile applications (React Native)
- Advanced ML recommendations
- Corporate training modules
- Integration with popular IDEs
- VR/AR coding environments
- Blockchain-based certificates
- Advanced collaboration tools
- Multi-tenant enterprise features
Built with ❤️ by the CodeMentor AI Team
Empowering the next generation of developers through intelligent, adaptive learning.
