Skip to content

About

Full-stack MERN app to track DSA practice — log problems, visualize progress with insights & heatmaps, set goals, and compare with friends. React + Vite frontend, Express + MongoDB backend with JWT auth.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🧮 DSA Tracker

A full-stack MERN application to track your Data Structures & Algorithms practice — log problems, visualize your progress with insights and heatmaps, set goals, and compare with friends.

🔗 Live Demo: https://dsa-tracker-rohini18.vercel.app

Originally built as a group project. This repository is a personal copy maintained by @Rohini-R008.


✨ Features

  • Authentication — Secure JWT-based register/login with hashed passwords (bcrypt).
  • Problem Tracking — Add problems with platform, topic, difficulty, and status.
  • Dashboard — At-a-glance stats on your solving activity.
  • Insights — Charts and a calendar heatmap to visualize progress over time.
  • Friends — Connect with friends and compare activity.
  • Profile & Goals — Set a target problem count and a daily goal.

🛠 Tech Stack

Layer Technologies
Frontend React 19, Vite, React Router, Axios, Recharts, Framer Motion, Radix UI, react-hot-toast
Backend Node.js, Express 5, Mongoose, JWT, bcryptjs, Helmet, CORS, express-validator
Database MongoDB (Atlas)
Deployment Vercel (frontend) + Render/Railway (backend)

📁 Project Structure

DSA_Tracker/
├── client/            # React + Vite frontend
│   ├── src/
│   │   ├── api/         # Axios instance & interceptors
│   │   ├── assets/
│   │   ├── components/  # Sidebar, ProtectedRoute
│   │   ├── context/     # AuthContext
│   │   ├── pages/       # Landing, Auth, Dashboard, Problems, Insights, Friends, Profile
│   │   ├── App.jsx
│   │   └── main.jsx
│   └── vercel.json
├── server/            # Express + MongoDB backend
│   ├── config/         # DB connection
│   ├── controllers/    # Route logic
│   ├── middleware/     # Auth middleware
│   ├── models/         # User, Problem schemas
│   ├── routes/         # auth, problems, insights, friends
│   ├── seed.js         # Sample data seeder
│   └── index.js        # App entry point
└── README.md

🚀 Getting Started (Local Development)

Prerequisites

1. Clone the repository

git clone https://github.com/Rohini-R008/DSA_Tracker.git
cd DSA_Tracker

2. Set up the backend

cd server
npm install
cp .env.example .env      # then fill in your values
npm run dev               # starts on http://localhost:5000

3. Set up the frontend

cd client
npm install
cp .env.example .env      # then fill in your values
npm run dev               # starts on http://localhost:5173

4. (Optional) Seed sample data

cd server
node seed.js

🔐 Environment Variables

server/.env

Variable Description Example
MONGO_URI MongoDB connection string mongodb+srv://user:[email protected]/dsa_tracker
JWT_SECRET Secret key used to sign JWTs a_long_random_string
JWT_EXPIRE Token expiry duration 7d
FRONTEND_URL Allowed CORS origin (your frontend URL) http://localhost:5173
PORT Port the server listens on 5000
NODE_ENV Environment mode development

client/.env

Variable Description Example
VITE_API_URL Base URL of the backend API http://localhost:5000/api

⚠️ Never commit your real .env files — they are git-ignored. Only .env.example is tracked.


🌐 Deployment

  • Frontend is deployed on Vercel (root directory: client). Set VITE_API_URL to your deployed backend's /api URL.
  • Backend is deployed on Render (root directory: server). Set all server/.env variables in the dashboard and point FRONTEND_URL to your Vercel URL.
  • Database is hosted on MongoDB Atlas.

See the project wiki / deployment notes for step-by-step instructions.


👥 Credits

Built as a collaborative group project. Maintained here by @Rohini-R008.

About

Full-stack MERN app to track DSA practice — log problems, visualize progress with insights & heatmaps, set goals, and compare with friends. React + Vite frontend, Express + MongoDB backend with JWT auth.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages