A powerful personalized DSA revision system that assigns daily coding questions based on your performance and topic understanding. Built with real-time notifications, submission support, and a native Java CLI interface, this system ensures consistency, growth, and streak maintenance for LeetCode-style problem-solving.
Supports Java, C++, and Python.
- ๐ Login once โ persistent sessions via cookies
- ๐ฎ Automatically assigned questions every 24 hours
- Performance-based (based on your historical weights)
- Topic-based (weaker topic priority)
- ๐ Automatically fetches latest LeetCode questions using internal API
- ๐ Auto-generate code templates with test case stubs
- ๐ป Supported Languages: Java, C++, Python
- ๐ Real-time notification alerts for:
- New daily assignments
- Streak reminder if not solved by night
- โ CLI Submission Runner (coming soon)
Command | Description |
---|---|
lcr -login |
Login and start session |
lcr -getDailyQues1 --lang java |
Get performance-based daily assigned question |
lcr -getDailyQues2 --lang cpp |
Get topic-wise weak area assigned question |
lcr -check |
Check if user session is valid |
lcr -submit |
Submit code and check against test cases (coming soon) |
-
Every day, two questions are auto-assigned to the user:
- Performance-based assignment:
- Uses a weight-based probabilistic algorithm to prioritize weaker questions.
- Topic-based assignment:
- Based on the least-performing topic area using past submission metadata.
- Performance-based assignment:
-
The system automatically fetches the latest LeetCode questions and metadata (title, link, tags, difficulty, etc.) using a scraping/parser utility.
-
Each questionโs weight is updated after every submission depending on:
- Time taken to solve
- Number of retries
- Difficulty
-
Question pool avoids repetition until sufficient time has passed or weak weight re-emerges.
Layer | Tech Used |
---|---|
Backend | Spring Boot, Spring Security, MongoDB |
CLI Client | Java 17, Picocli, HttpClient |
Notifications | STOMP WebSocket (SockJS) + React Toastify |
Caching | Caffeine |
Submission | Judge0 API (planned) |
LeetCode Sync | Internal Scraper / API Puller for question sync |
- Real-time alerts are sent using WebSocket & STOMP.
- Users receive:
- Assignment push every morning
- Reminder push if not solved by night
- Notifications are shown in-app and via system notifications in frontend.
- CLI version may add push-like terminal alerts in future (TBD).
- โ๏ธ Online Code Submission Runner (via Judge0 API)
- ๐ Graphical dashboard (track topic progress & time trends)
- ๐ Streak tracking system
- ๐ฆ Better CLI integration with a built-in code executor
- ๐ง Adaptive recommender system using ML for question difficulty