Skip to content

aakash811/Student-Progress-Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SkillSync 📊

SkillSync Banner

Competitive Programming Analytics Platform for Student Performance Tracking

A full-stack analytics platform built to monitor, analyze, and visualize competitive programming progress using real-time Codeforces data, automated synchronization pipelines, Redis-backed caching, and performance insights.

🚀 Live Demo📚 Documentation


✨ Overview

SkillSync is a production-style coding analytics dashboard designed to help students, mentors, and educators track competitive programming performance at scale.

The platform combines:

  • 📈 Real-time analytics dashboards
  • ⚡ Redis-backed API caching
  • 🔄 Automated cron-based synchronization
  • 📊 Contest and submission insights
  • 🔥 Activity heatmaps and consistency tracking
  • 📧 Inactivity reminder pipelines
  • 🌙 Modern responsive SaaS-style UI

🚀 Core Features

📊 Analytics Dashboard

  • Student performance overview
  • Contest rating progression
  • Problem difficulty distribution
  • Tag-based problem analysis
  • Submission activity heatmaps
  • Coding consistency metrics
  • Personalized coding insights

⚡ Performance Optimizations

  • Redis caching layer for Codeforces API data
  • Reduced API latency using intelligent caching
  • Background synchronization system
  • Optimized analytics aggregation
  • Efficient contest/submission processing

🔄 Automation System

  • Daily cron-based synchronization pipeline
  • Manual sync orchestration from dashboard
  • Automatic inactivity detection
  • Email reminder system for inactive users
  • Background sync execution

🎨 Modern Product UI

  • Responsive analytics dashboard
  • Dark / Light theme support
  • Interactive charts and visualizations
  • Smooth skeleton loading states
  • SaaS-inspired dashboard design
  • Real-time sync status indicators

🏗️ System Architecture

Architecture Diagram


📷 Dashboard Preview

Student Dashboard

Student Table


Analytics & Performance Tracking

Analytics Dashboard


Rating Progression & Contest Insights

Contest Analytics


🛠️ Tech Stack

Frontend

  • React.js
  • Vite
  • TailwindCSS
  • shadcn/ui
  • Recharts
  • Axios

Backend

  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • Redis
  • Node-cron
  • Nodemailer
  • Codeforces Public API

⚙️ Engineering Highlights

🔥 Redis-Based API Caching

Implemented a Redis caching layer to reduce repetitive Codeforces API requests and improve dashboard response times significantly.


🔄 Background Sync Orchestration

Built a cron-based synchronization engine capable of:

  • refreshing user analytics
  • invalidating stale cache
  • syncing contest history
  • updating submissions
  • triggering inactivity workflows

📈 Advanced Analytics Engine

The analytics pipeline computes:

  • difficulty distributions
  • coding streaks
  • activity consistency
  • contest progression
  • tag-wise performance
  • acceptance rate metrics

📧 Inactivity Reminder System

Integrated SMTP-based reminder workflows using Brevo and Nodemailer to notify inactive students automatically.


📂 Project Structure

Student-Progress-Tracker/
│
├── frontend/
│   ├── src/
│   │   ├── components/
│   │   ├── pages/
│   │   ├── assets/
│   │   └── lib/
│   │
│   └── public/
│
├── backend/
│   ├── controllers/
│   ├── cron/
│   ├── models/
│   ├── routes/
│   ├── services/
│   ├── utils/
│   └── index.js
│
└── README.md

🌐 Documentation

Full technical documentation available here:

👉 SkillSync Documentation


⚙️ Setup Instructions

Prerequisites

  • Node.js v18+
  • MongoDB
  • Redis
  • Git

1️⃣ Clone Repository

git clone https://github.com/yourusername/student-progress-tracker.git

cd student-progress-tracker

2️⃣ Backend Setup

cd backend
npm install

Create .env file:

PORT=5000

MONGODB_URI=your_mongodb_uri

REDIS_URL=your_redis_url

CRON_SECRET=your_secret

EMAIL_USER=your_email

EMAIL_PASS=your_email_password

Run backend:

npm run dev

3️⃣ Frontend Setup

cd ../frontend
npm install
npm run dev

Frontend runs on:

http://localhost:5173

🚀 Future Improvements

  • Multi-platform coding support (LeetCode, AtCoder, CodeChef)
  • Real-time WebSocket updates
  • AI-powered performance recommendations
  • Peer leaderboard system
  • Team analytics dashboard
  • Contest prediction insights

👨‍💻 Author

Built by Aakash Borse

About

SkillSync is a full-stack competitive programming analytics platform built with the MERN stack to track, analyze, and visualize students’ Codeforces performance in real time. The platform features automated cron-based synchronization, Redis-backed caching for optimized API performance, interactive analytics dashboards, submission heatmaps, contest

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages