This is a single-page web application designed for students to organize and track their progress through large coding datasets like the Striver A2Z DSA Sheet. It allows users to manage a hierarchical structure of topics, sub-topics, and questions with real-time progress tracking.
Managing hundreds of coding problems across different platforms is disorganized and overwhelming. Manual tracking often lacks a clear visual hierarchy and the ability to reorder topics based on personal priority or interview timelines.
-
Hierarchical Management: Full CRUD (Create, Read, Update, Delete) support for Topics, Sub-topics, and Questions.
-
Dataset Integration: Initialized with the full Striver A2Z DSA dataset, including links and company tags.
-
Interactive Reordering: Drag-and-drop interface to change the priority of main topics.
-
Global Search: Quick filter functionality to find specific questions across all categories.
-
Smart Progress Tracking: Real-time completion dashboard with "ripple" logic (completing all questions auto-completes the parent topic).
-
Local Persistence: Progress and custom changes are saved to the browser's local storage.
-
Frontend: React.js, Vite
-
Styling: Tailwind CSS
-
State Management: Zustand
-
Icons: Lucide React
-
Drag & Drop: @dnd-kit/core
codolio-tracker/
├── src/
│ ├── store/
│ │ └── useSheetStore.js # Zustand state & CRUD logic
│ ├── App.jsx # Main UI components
│ ├── sheet.json # Source dataset
│ └── main.jsx
├── public/
├── index.html
├── tailwind.config.js
└── README.md
-
Bashgit clone cd project-name
-
Bashnpm install
-
Bashnpm run dev
-
Track Progress: Click the circles next to questions to mark them as done.
-
Search: Use the search bar to find specific problems; topics will auto-expand to show results.
-
Customize: Click "New Topic" or the "+ Add" buttons within cards to add your own categories or question links.
-
Reorder: Use the grip icon on the left of topic cards to drag them into a new order.
-
Reordering is currently limited to the Topic level (Sub-topics and Questions use fixed order).
-
No cloud sync; data is restricted to the specific browser/device used.
-
Not optimized for mobile view (Best viewed on Desktop).
-
Implement nested drag-and-drop for questions.
-
Add a "Dark Mode" toggle.
-
Integrate Firebase for cross-device synchronization.
Vasundhara Devi Second Year Engineering Student