{"id":29538699,"url":"https://github.com/shiveshdeogharia/dsa-playground","last_synced_at":"2025-07-17T05:10:03.809Z","repository":{"id":304794917,"uuid":"1011912987","full_name":"ShiveshDeogharia/DSA-Playground","owner":"ShiveshDeogharia","description":"Interactive C++ Playground for mastering DSA with modular design and unit tests","archived":false,"fork":false,"pushed_at":"2025-07-15T11:12:14.000Z","size":90,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-15T17:01:50.999Z","etag":null,"topics":["algorithms","cmake","competitive-programming","cpp20","data-structures","data-structures-and-algorithms","dsa","googletest"],"latest_commit_sha":null,"homepage":"https://github.com/ShiveshDeogharia/DSA-Playground","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ShiveshDeogharia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-01T14:19:10.000Z","updated_at":"2025-07-15T11:12:17.000Z","dependencies_parsed_at":"2025-07-15T17:32:18.424Z","dependency_job_id":"3378cae9-e06a-485b-9daf-47844bb99a54","html_url":"https://github.com/ShiveshDeogharia/DSA-Playground","commit_stats":null,"previous_names":["shiveshdeogharia/dsa-playground"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ShiveshDeogharia/DSA-Playground","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShiveshDeogharia%2FDSA-Playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShiveshDeogharia%2FDSA-Playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShiveshDeogharia%2FDSA-Playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShiveshDeogharia%2FDSA-Playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ShiveshDeogharia","download_url":"https://codeload.github.com/ShiveshDeogharia/DSA-Playground/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShiveshDeogharia%2FDSA-Playground/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265566801,"owners_count":23789345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","cmake","competitive-programming","cpp20","data-structures","data-structures-and-algorithms","dsa","googletest"],"created_at":"2025-07-17T05:09:57.287Z","updated_at":"2025-07-17T05:10:03.803Z","avatar_url":"https://github.com/ShiveshDeogharia.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# DSA Playground\n![CMake Test](https://github.com/ShiveshDeogharia/DSA-Playground/actions/workflows/cmake-test.yml/badge.svg)\n\n\u003e An interactive C++ playground to explore and test core Data Structures — built for engineering clarity and competitive coding mastery.\n\n![DSA Playground CLI Demo](screenshots/demo.png)\n\n\u003e 📦 **No setup needed!**  \n\u003e Windows users can [download the `.exe`](https://github.com/ShiveshDeogharia/DSA-Playground/releases) and run it directly.\n\n---\n\n## 📌 Overview\n\n**DSA Playground** is a command-line application written in modern C++20 that lets you experiment with key data structures interactively.  \nIt’s cleanly modularized, namespaced, test-driven, and production-grade — built to impress both engineers and recruiters.\n\n---\n\n## ✨ Features\n\n- ✅ Interactive CLI menus for:\n  - Array\n  - Singly Linked List\n  - Stack\n  - Queue\n  - Binary Search Tree\n  - Undirected Graph (with BFS/DFS)\n- ✅ Modular design using `.h/.cpp` files\n- ✅ Namespaced under `dsa::` for clean usage\n- ✅ Unit tested with GoogleTest\n- ✅ CMake build system with GitHub Actions CI\n\n---\n\n## 🚀 How to Build \u0026 Run\n\n### 💻 Prerequisites\n\n- CMake ≥ 3.10\n- C++ compiler (MSVC, g++, or clang++)\n- Git (to clone)\n- GoogleTest (automatically downloaded via `FetchContent`)\n\n### 🔧 Build \u0026 Run (Windows / Linux / WSL / Mac)\n\n```bash\ngit clone https://github.com/ShiveshDeogharia/DSA-Playground.git\ncd DSA-Playground\n\n# Build\nmkdir build \u0026\u0026 cd build\ncmake ..\ncmake --build .\n\n# Run the playground\n./Debug/dsa_playground.exe  # or just: ./dsa_playground\n```\n\n### 🧪 Run Tests\n\n```bash\n# From inside build directory\nctest -V\n```\n\n---\n\n## 📁 Project Structure\n\n```\nDSA-Playground/\n├── include/               # All headers (interface + DSA classes)\n├── src/                   # All .cpp implementations\n├── tests/                 # GoogleTest unit tests\n├── .github/workflows/     # CI pipeline (CMake + gtest)\n├── CMakeLists.txt         # CMake build file\n└── README.md\n```\n\n---\n\n## 🛠️ Technologies Used\n\n- C++20\n- STL (vector, stack, queue, etc.)\n- CMake\n- GoogleTest\n- GitHub Actions (CI)\n\n---\n\n## ✅ Testing \u0026 CI\n\nAll core data structures are unit tested with [GoogleTest](https://github.com/google/googletest).  \nCI is handled via [GitHub Actions](https://docs.github.com/en/actions), and runs automatically on every push to main.\n\nTo manually test:\n```bash\ncmake --build . --target test\n```\n\n---\n\n## 📄 License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n\n## 🙌 Credits\n\nMade with ❤️ as a passion project by Shivesh Deogharia.  \nFeel free to use, fork, and contribute!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshiveshdeogharia%2Fdsa-playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshiveshdeogharia%2Fdsa-playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshiveshdeogharia%2Fdsa-playground/lists"}