CodeForge is a next-generation, AI-driven coding platform designed to provide a truly infinite, dynamic, and non-repetitive practice experience for modern developers.
- Infinite Problem Generation Engine: Never see the same coding problem twice. The engine uses a 6-dimensional variation algorithm (theme, constraints, edge cases, IO format, logic bounds, real-world framing) creating over 96,000 architectural variants per topic.
- AI-Powered Code Reviews: Integrated AI checking (via OpenAI) to analyze space/time complexity and provide bespoke learning feedback alongside standard syntax linting.
- Serverless Code Execution: Built-in isolated code execution for JavaScript and Python via Piston and Judge0 endpoints. Eliminates the need for local Docker engines.
- Curriculum Mastery System: Progressively unlocking levels and gamified topic tracking.
- Gamification: Daily streaks, XP, level scaling, and robust problem curation systems.
- Frontend: React 19, TailwindCSS 4, Vite
- Backend: Node.js, Express, REST APIs
- Database: SQLite (Persistent WAL-mode via
better-sqlite3) - Execution Engines: Piston (local fallback), Judge0 CE API, Local runtime bypass.
-
Clone the repository:
git clone https://github.com/Kartik-com/Codeforge.git cd Codeforge -
Install all dependencies:
npm run install
-
Start the local development environment:
- In terminal 1, run the server:
cd server npm run dev - In terminal 2, run the client:
cd client npm run dev
- In terminal 1, run the server:
The repository is built natively for PAAS systems (Render/Heroku/DigitalOcean App Platform) using a unified Monorepo process.
To deploy to Render.com:
- Click New + -> Blueprint.
- Point it to this GitHub repository.
- Render will consume the included
render.yamland provision everything (Build steps, Node server, and persistent 1GB Disk for SQLite) automatically! - Configure standard environment variables like
OPENAI_API_KEYin the Render Dashboard after deployment to enable AI functionality.
| Variable | Description |
|---|---|
NODE_ENV |
Must be production on deployment |
DB_PATH |
The persistent path for SQLite (automated via Render config) |
OPENAI_API_KEY |
Required for infinite problem generation and code-review |
JWT_SECRET |
Auto-generated by Render, protects API sessions |
PISTON_API_URL |
Optional, endpoint for private Piston server deployment |
Built securely for seamless, scalable AI education.