Track your coding progress, generate study plans, execute code online, and accelerate your learning journey — all in one platform.
CodeMentor AI is an advanced web-based coding assistant and progress tracker built using Flask + Python.
It provides developers with:
- AI-Powered Tutoring: Ask concepts, get explanations, and walk through coding paradigms dynamically.
- Spaced Repetition Flashcards: Automatically generate revision decks on any topic using Google Gemini/OpenAI, and schedule them using a SuperMemo algorithm.
- Code Execution Sandbox: Safe, cross-platform isolated sandbox supporting real-time Python/C++ code compilation and automated test case runner.
- Collaborative Study Groups: Matches you with peers based on your target companies, goals, and coding progress.
- Competitive Contests: Admin-created coding challenges with leaderboards, runtime scoring, and visual podiums.
The project follows a standard Flask application factory architecture:
CodeMentor AI/
│
├── app/
│ ├── __init__.py # Flask application factory & database setup
│ ├── models.py # Unified database models
│ ├── routes.py # Controller routes (auth, dashboards, contests)
│ ├── ai/ # AI abstraction layer (Gemini, Claude, OpenAI, DeepSeek)
│ ├── services/ # Core business services (code execution, notifications)
│ ├── static/ # Front-end assets (consolidated CSS, JavaScript)
│ └── templates/ # HTML Templates
│
├── tests/ # Testing package (34 tests with 80%+ coverage)
├── Dockerfile # Production container definition
├── docker-compose.yml # Container configuration for local environments
├── .env.example # Default configuration environment variables
├── Procfile # Production startup commands
├── render.yaml # Infrastructure-as-code deployment settings
├── main.py # Entrypoint script
└── README.md
git clone https://github.com/manojk909/CODE-TRACK-PRO.git
cd CODE-TRACK-PROpython -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windowspip install -r render_requirements.txtCopy the template configuration:
cp .env.example .envOpen .env and fill in your custom keys (e.g., GEMINI_API_KEY, OPENAI_API_KEY).
Create tables and populate sample problems:
python seed_db.pypython main.pyOpen http://localhost:5000 in your browser.
- Voice AI tutor
- Resume analyzer
- Interview simulator
- Competitive coding arena
- AI coding agent
- Mobile application
- Learning recommendation engine
Contributions are welcome.
Fork → Create Branch → Commit → Push → Pull Request