PrepTrack is a modern, full-stack web application designed to help developers track, analyze, and improve their Data Structures & Algorithms (DSA) preparation across multiple platforms—all in one place.
Live link: https://preptrack-c7d42.web.app
(Login screen illustration used in the app)
- Visualize your progress with interactive charts
- Difficulty-wise and topic-wise breakdown
- Real-time stats powered by Firestore
- Track problems from platforms like:
- LeetCode
- Codeforces
- HackerRank
- GeeksforGeeks
- Store:
- Difficulty, topic, status, revision info
Get intelligent feedback based on your activity:
- “You are weak in Graphs”
- “You haven’t revised DP in 10 days”
- “Strong in Arrays”
- Daily solving streak
- Weekly goals tracking
- Longest streak insights
- Mark problems for revision
- Track revision count and last revised date
- Identify overdue revisions
- Add manually
- Add via problem link (auto-detect planned)
- Sync your progress directly from platforms
- ✅ Currently supported:
- LeetCode profile stats & solved count
⚠️ Full multi-platform auto-sync is under development
- Create, edit, and manage notes
- Ideal for:
- Interview prep
- System design concepts
- Algorithm tricks
- 🌞 Light mode (clean, minimal)
- 🌙 Dark mode (developer-friendly)
- Firebase Authentication
- Google Sign-In + Email/Password
- React.js (Vite)
- React Router v6
- CSS (Custom + Variables)
- Recharts
- Lucide React Icons
- Firebase Authentication
- Firebase Firestore (NoSQL DB)
- Firebase Hosting
- (Optional) Node.js proxy for API integrations
- Node.js (v16+)
- npm or yarn
- Firebase account
git clone https://github.com/Ankur-akr/PrepTrack.git
cd PrepTrackcd client
npm install-
Create project on Firebase
-
Enable:
- Authentication (Google + Email/Password)
- Firestore Database
-
Copy Firebase config
Update:
client/src/firebase/config.js
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_AUTH_DOMAIN",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_STORAGE_BUCKET",
messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
appId: "YOUR_APP_ID"
};npm run dev👉 Open: http://localhost:5173
Deploy using Firebase:
cd client
npm run build
firebase login
firebase deploy --only hostingPrepTrack/
├── client/
│ ├── public/ # Static assets (logo, backgrounds)
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── context/ # Global state (AuthContext)
│ │ ├── firebase/ # Firebase config & services
│ │ ├── pages/ # Pages (Dashboard, Login, Notes)
│ │ ├── App.jsx
│ │ └── index.css
│ ├── package.json
│ └── vite.config.js
└── server/ # (Optional) API proxy
- Multi-platform auto sync (Codeforces, HackerRank)
- Chrome Extension for real-time tracking
- AI-based recommendations
- Gamification (badges, achievements)
Ankur Rai B.Tech CSE | Uttaranchal University
GitHub: https://github.com/Ankur-akr
If you found this project useful:
- ⭐ Star the repository
- 🍴 Fork it
- 🛠️ Contribute
PrepTrack helps you stay consistent, track smarter, and crack coding interviews efficiently. 🚀
