Trackera is a premium, full-featured Student Coding Practice and Progress Tracking Platform designed to help students master Data Structures & Algorithms (DSA), build coding streaks, and prepare for placement interviews. The platform combines comprehensive dashboard visualizations, Monaco Editor-powered coding workspaces, and an AI-backed Coding Assistant.
- 📊 Dynamic Dashboards: Full analytics detailing coding statistics, placement offers, problem-solving progress, and streaks.
- 🔥 GitHub-style Coding Heatmap: A contribution calendar tracking student's daily coding activities.
- 💻 Problem Workspace: A premium environment featuring the Monaco Editor, multiple programming language supports, dynamic output compiling, and testcase verification.
- 🤖 AI Assistant: A generative AI-powered tutor that offers code reviews, algorithmic hints, and debugging suggestions in real-time.
- 🏢 Placement & Target Tracking: Set target companies, track placement preparations, and manage active job applications.
- 🛡️ Role-Based Security: Complete Student and Administrator dashboards with fully secure, JWT-based authentication.
- 📄 AI Resume Analyzer: Generates ATS compatibility score, detailed resume feedback, key strengths and weaknesses, missing industry-relevant skills, and actionable improvement recommendations.
- Node.js & Express.js (REST API)
- MongoDB with Mongoose (Database & ODM)
- JSON Web Tokens (JWT) (Secure authentication)
- Cors & Dotenv (Middleware and configurations)
- React.js (Vite-powered SPA)
- Tailwind CSS (Premium glassmorphic styling)
- Monaco Editor React (Coding editor)
- Recharts (Progress charts)
- Lucide Icons (UI Icons)
- Axios (API Client)
Trackera/
├── backend/
│ ├── controllers/ # Route logic handlers (Auth, Practice, AI, etc.)
│ ├── middleware/ # JWT Authorization middleware
│ ├── models/ # Mongoose schemas (User, Problem, Submission, etc.)
│ ├── routes/ # REST API Route endpoints
│ ├── scripts/ # Seeding scripts for problems
│ ├── utils/ # Calculation utilities (Stats aggregations)
│ └── server.js # Entrypoint configuration
│
└── frontend/
├── src/
│ ├── components/ # Logo, StatCard, Heatmap, Charts, Dashboards
│ ├── pages/ # Auth, Student Dashboard, Problem Workspace, AI Assistant
│ ├── services/ # API Axios client integrations (Auth, Practice, AI)
│ ├── App.jsx # Routing configurations
│ └── main.jsx # DOM mounting pointEnsure you have Node.js and MongoDB installed and running on your system.
- Navigate to the backend directory:
cd backend - Install dependencies:
npm install
- Configure the Environment:
Create a
.envfile from the example:Provide yourcp .env.example .env
PORT,MONGODB_URI,JWT_SECRET, and optionalGEMINI_API_KEYfor the AI assistant. - Seed the Problem Database:
node scripts/seedProblems.js
- Start the backend:
npm start
- Navigate to the frontend directory:
cd ../frontend - Install dependencies:
npm install
- Start the Vite dev server:
npm run dev
- Access the web interface at
http://localhost:5173.
The AI Resume Analyzer evaluates resume PDFs against industry standards and software engineering job description parameters using the Google Gemini API.
- API Key Setup: Obtain a Gemini API key from the Google AI Studio.
- Environment Variable Configuration:
Open
backend/.env(andbackend/.env.example) and add the key:Note: If the key is omitted or left asGEMINI_API_KEY=your_google_gemini_api_key
dummy-key, the system automatically falls back to an intelligent mock parser for offline development/testing.
- Navigate to AI Tools -> Resume Analyzer in the Student Dashboard.
- Drag and drop your resume PDF or click to browse and select a file.
- The upload progress will be shown.
- View your ATS Score Gauge, Executive Summary, Strengths, Weaknesses, Missing Skills, and Recommendations on the premium results screen.
- Revisit previous analyses by clicking on them in the Analysis History sidebar, or delete old ones using the trash icon.
This project is licensed under the MIT License.