Skip to content

JeraldPascual/DSAMastery

Repository files navigation

DSAMastery Logo

React

Vite

Tailwind CSS


Overview

DSAMastery is a no-login, browser-only Data Structures & Algorithms learning platform. It delivers structured modules, interactive drills, real-time code tracing, checkpoints, an AI learning prompt generator, and a searchable cheat sheet — all running completely locally in your browser.

Features

  • Guided Roadmap: Sequential lesson unlocks tailored for logical progression.
  • Interactive Playground: Visualize algorithms dynamically (e.g. Sorting algorithms with playback controls, Binary search steppers).
  • AI-First Learning: Integrated "Go Deeper with AI" section in every lesson with curated, copy-paste ready prompts for tools like ChatGPT and Claude.
  • Drill Runner: Test your knowledge using multiple-choice, multi-select, scenario, tracing, and interactive widget drills.
  • Theme Engine: Fully customizable aesthetic themes using a shop system powered by earned credits.
  • Local Persistence: Zero backend required. Your progress, themes, and settings are saved locally to your device.

Tech Stack

  • React 18 + Vite
  • React Router v6
  • Tailwind CSS v3
  • LocalStorage state management

Getting Started

To get a local copy up and running, follow these simple steps:

  1. Clone the repository

    git clone https://github.com/JeraldPascual/DSAMastery.git
    cd dsamastery
  2. Install dependencies

    npm install
  3. Start the development server

    npm run dev

    Open http://localhost:3000 to view it in your browser.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

To contribute:

  1. Fork the Project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
  3. Commit your Changes (git commit -m 'Add some AmazingFeature').
  4. Push to the Branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

Please read our CONTRIBUTING.md file (if present) for detailed guidelines on adding new modules, writing curriculum JSON, or developing new interactive widgets.

Public Content & Architecture

DSAMastery is built as a static, client-side application to ensure it remains free, fast, and easy to host (e.g., via GitHub Pages). This architecture leads to a specific design choice:

  • Publicly Exposed Lessons: All curriculum content, markdown docs, and quiz drills are stored in the /public folder. These are fetched by the browser at runtime.
  • Client-Side Grading: Because there is no backend, all grading and answer-checking happen in the user's browser.
  • Intentional Visibility: A tech-savvy user can inspect the network tab or browse the repository to find the drills-module-*.json files and see the correct answers.

This is intended. DSAMastery is a tool for self-guided learning, not a high-stakes examination platform. The visibility of the content makes the platform easier to contribute to and allows users to learn how the interactive widgets and drills are structured.

Content Structure

The core learning materials are completely decoupled from the React code and exist as static files:

  • public/content/curriculum.json - Roadmap module data
  • public/content/drills-module-*.json - Quiz and interactive drill data split by module
  • public/content/checkpoints-module-*.json - End-of-module assessment data
  • public/content/ai-learning/module-*.json - AI prompts for lessons
  • public/content/cheatsheet.json - Searchable definitions and complexities
  • public/content/docs/*.md - Full lesson markdown content

License

Distributed under the MIT License. See LICENSE for more information. This means you are free to use, modify, distribute, and even use this software for commercial purposes, provided the original copyright notice is included.

About

DSAMastery: A premium, browser-only DSA learning platform. Interactive drills, real-time visualizers, and AI learning prompts.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Contributors