MujCode is a comprehensive, full-stack educational and Applicant Tracking System (ATS) platform tailored for universities. It bridges the gap between students, faculty, and hiring companies in a single, high-performance platform.
- Assignments & Case Studies: View and submit code, videos, and written assignments.
- Online Compiler: Built-in code editor (Monaco) with a secure execution queue.
- Placement ATS: View active placement drives, apply to jobs, and track application status.
- Real-time Notifications: Get instantly notified about grades, new assignments, and placement updates.
- Course Management: Manage sections, branches, and student lists.
- Grading & Submissions: Review student submissions, grade them, and provide detailed feedback.
- Live Classroom: Real-time engagement with students.
- Drive Management: Create and manage placement drives with eligibility criteria (CGPA, backlogs).
- Candidate Tracking: View applicants, shortlist candidates, and process hiring workflows.
- Frontend: React 18, Vite, Tailwind CSS, Radix UI, Monaco Editor.
- Backend: Node.js (ESM), Custom High-Concurrency Router, Socket.IO.
- Database:
- JSON File DB (Primary): Blazing fast, in-memory DB with atomic disk flushing.
- MongoDB (Optional): Used for advanced ATS & Company Drive management.
- Redis (Optional): Manages the distributed code compiler queue.
- Infrastructure: Docker, Docker Compose, GitHub Actions, AWS (ECR/EKS), Helm.
- Node.js (v20+)
- Docker & Docker Compose (optional but recommended)
The easiest way to get the entire stack (Frontend, Backend, Redis, MongoDB) running locally.
# 1. Clone the repository
git clone https://github.com/CSrajput-ux/mujcode-.git
cd mujcode-
# 2. Setup Environment Variables
cp backend/.env.example backend/.env
# Edit backend/.env and set a secure TOKEN_SECRET
# 3. Start the core services (Frontend + Backend)
docker compose up --build -d
# 4. (Optional) Start with ATS features (starts MongoDB)
docker compose --profile ats up --build -d- Frontend: http://localhost
- Backend API: http://localhost:5000
Backend Setup:
cd backend
cp .env.example .env
npm install
npm run devFrontend Setup:
cd frontend
npm install
npm run devMujCode is designed with production-oriented architecture and scalability in mind
- Multi-Stage Docker Builds: Optimized images for fast pulling and minimal footprint.
- CI/CD Pipeline: Fully automated via GitHub Actions.
- Runs Type Checks & Builds on PRs.
- Pushes images to AWS ECR.
- Deploys automatically to AWS EKS via Helm (
deploy-staging&deploy-production).
- Resilience: Unhandled exceptions and rejections are gracefully caught, flushing in-memory data to disk before shutdown to prevent data loss.
mujcode/
├── backend/ # Node.js Backend Server
│ ├── src/
│ │ ├── data/ # JSON Database Storage
│ │ ├── modules/ # ATS and Domain Modules
│ │ ├── routes/ # API Endpoints
│ │ └── lib/ # Core Engine (Router, Storage, Auth)
│ └── compiler/ # Code Execution Engine
├── frontend/ # React/Vite Frontend App
│ ├── src/
│ │ ├── app/pages/ # Dashboards (Student, Faculty, Company)
│ │ └── components/ # Reusable UI Components
├── helm/ # Kubernetes Helm Charts
├── terraform/ # IaC for AWS Infrastructure
└── .github/workflows/ # CI/CD Pipelines
- Fork the project.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
Distributed under the MIT License. See LICENSE for more information.
