AlgoPlay is a production-grade Android application that transforms classic Data Structures & Algorithms (DSA) into interactive, visual mobile experiences.
Instead of writing algorithms solely for online judges or terminal tests, AlgoPlay demonstrates how those same algorithms can drive real-world, interactive user interfaces using modern Android architecture.
To understand the architecture and engineering decisions behind AlgoPlay, explore these detailed guides:
- 👑 N-Queens Solvers & Visualizer Guide: Detailed explanation of Backtracking vs. Branch & Bound vs. Bitmask, comparative metrics logic, timeline replay structure, and interactive seeking.
- 🧩 Sudoku Generator & Solver Guide: Documentation of Sudoku backtracking solvers, matrix validation constraints, puzzle generators, and MVVM action history state.
- 🛠️ CI/CD Build & Pipeline Architecture: Documentation of precedence-based versioning, conditional signing credentials, and automated workflows.
Bridging the Gap: From LeetCode Problems → Production Apps
AlgoPlay demonstrates:
- Real-World Application: How algorithms shape features like game loops, pathfinding solvers, visual timelines, and caches.
- Modern Jetpack Compose UI: Clean, fluid animations, responsive layouts (landscape/portrait/tablets), and design themes.
- Robust Engineering: Decoupled, multi-module architecture, dependency injection, and comprehensive automated quality gates.
| Module | Core Algorithms | Status |
|---|---|---|
| 👑 N-Queens | Backtracking, Branch & Bound, Bitmask | ✅ Completed |
| 🧩 Sudoku | Backtracking Solver, Matrix Grid Constraint Check | ✅ Completed |
| 🔍 Word Search | Trie, DFS backtracking | ⏳ Planned |
| 🗺️ Pathfinding | BFS, DFS, A*, Dijkstra | ⏳ Planned |
| ⚡ LRU Cache | Doubly Linked List + HashMap | ⏳ Planned |
| 🌲 BST Visualizer | Binary Search Tree rotations, tree traversals | ⏳ Planned |
AlgoPlay is structured as a feature-isolated, clean-architecture multi-module project:
AlgoPlay
├── app # App Launcher, Hilt Application class, Global Navigation
├── core # Shared Design System, Material 3 theme, components
├── feature-n-queen # N-Queens solvers, interactive board, comparison UI
└── feature-sudoku # Sudoku generator, backtracking auto-solver, validation
- Clean Architecture: Clear separation of UI (Presentation), Use Cases (Domain), and Algorithms/State (Data).
- Isolation: High cohesion and loose coupling; feature modules communicate via decoupled navigation contracts.
- Recomposability: Highly reusable UI tokens and layouts.
- Language: 100% Kotlin (aligned on Java 17 toolchains)
- UI Framework: Jetpack Compose (Material 3)
- Architecture: MVVM + Clean Architecture
- Dependency Injection: Hilt
- Asynchronous Flow: Kotlin Coroutines + StateFlow
- CI/CD Build System: GitHub Actions + Gradle properties versioning
Suggestions, bug reports, and pull requests are always welcome! Feel free to open issues or submit improvements to further expand the algorithms suite.
This project is licensed under the MIT License.