Skip to content

Shreehari-Acharya/ForceTrack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 

Repository files navigation

📊 ForceTrack

ForceTrack A platform for tracking and visualizing the competitive programming progress of students using their Codeforces activity. It includes powerful analytics, clean UI, and automation to sync data regularly


Screen Shots

forceTrack-dashbaord

ForceTrack-contestHistory

codeForces-ProblemSolved


Monorepo Structure

ForceTrack/
├── frontend/    → React app for UI (dashboard, analytics, charts)
├── backend/     → REST API for student management and data sync

frontend/ (React + Tailwind)

  • Student dashboard
  • Contest history visualization
  • Problem-solving analytics (charts, heatmaps)
  • Light/dark theme support
  • Built with React 19, Vite, Tailwind, Radix UI, Recharts

See frontend/README.md for setup and usage.


backend/ (Node.js + Express + MongoDB)

  • RESTful API for student data
  • Syncs Codeforces profile, contest, and submission data
  • Cron jobs for batch syncs
  • Email reminders for inactivity via Resend

See backend/README.md for API docs and server setup.


Getting Started (Local Dev)

Prerequisites

  • Node.js v18+
  • MongoDB (local or Docker)

Clone the Repo

git clone https://github.com/your-username/ForceTrack.git
cd ForceTrack

Install Dependencies

# Frontend
cd frontend
npm install

# Backend
cd ../backend
npm install

Start MongoDB (Optional via Docker)

docker-compose -f backend/docker-compose.mongo.yaml up -d

Set Up Environment

Create .env files in both frontend/ and backend/ using the provided .env.example.

Run the Apps

# Backend
cd backend
npm run dev

# Frontend (in new terminal)
cd ../frontend
npm run dev

Apps will be available at:

  • Frontend: http://localhost:5173
  • Backend API: http://localhost:3000/

About

Track and visualize codeforce handles. With cronjob to automate the data ingestion process

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published