|
| 1 | +# Pathfinding-Visualizer — Interactive React Application |
| 2 | + |
| 3 | +**Tagline:** *Algorithmic search meets modern web engineering: visualize BFS, DFS, Dijkstra, and A* on a dynamic grid with real-time animations, metrics, and user interaction.* |
| 4 | + |
| 5 | +[▶ Live Demo](https://devarshpatel1506.github.io/Pathfinding-Visualizer/) |
| 6 | +[💻 Source Code](https://github.com/devarshpatel1506/Pathfinding-Visualizer) |
| 7 | + |
| 8 | +--- |
| 9 | + |
| 10 | +## 1) Executive Summary |
| 11 | + |
| 12 | +**On the surface:** This is an interactive **React single-page application** that lets users set start/goal nodes, draw obstacles, and visually compare how different pathfinding algorithms explore a grid. |
| 13 | + |
| 14 | +**Under the hood:** It’s an **SDE-quality project** that demonstrates: |
| 15 | +- **Algorithm engineering** → BFS/DFS/Dijkstra/A* implemented as **pure, testable functions** separated from UI code. |
| 16 | +- **Complexity awareness** → correct handling of weighted vs. unweighted graphs, heuristics in A*, and clear trade-offs between optimality and speed. |
| 17 | +- **Front-end systems design** → decoupling of algorithm logic, state management, animation scheduling, and rendering. |
| 18 | +- **Performance-oriented UI** → O(1) grid updates, frame batching, and smooth requestAnimationFrame-driven animation. |
| 19 | +- **Software craftsmanship** → modular structure, React component decomposition, maintainable styles, and live deployment (GitHub Pages). |
| 20 | + |
| 21 | +--- |
| 22 | + |
| 23 | +### 1.1 Why This Project Matters |
| 24 | + |
| 25 | +- **Education**: Helps students and engineers see abstract graph algorithms in action. |
| 26 | +- **Engineering practice**: Shows how to design **separation of concerns** in a front-end system (algorithm engine vs. rendering engine). |
| 27 | +- **Interview readiness**: Proves fluency in **algorithms + data structures** *and* modern **front-end frameworks**. |
| 28 | +- **Portfolio polish**: Deployed, interactive, visually appealing, and technically rich. |
| 29 | + |
| 30 | +--- |
| 31 | + |
| 32 | +### 1.2 Architecture (Conceptual) |
| 33 | + |
| 34 | +```mermaid |
| 35 | +flowchart LR |
| 36 | + UI[User Input mouse and controls] --> Controller[Controller Handlers] |
| 37 | + Controller --> State[Grid State Store] |
| 38 | + State --> Engine[Algorithm Engine BFS DFS Dijkstra Astar] |
| 39 | + Engine -->|visited order and path| Queue[Animation Queue] |
| 40 | + Queue --> Renderer[React Renderer] |
| 41 | + Renderer --> DOM[DOM Grid UI] |
| 42 | +``` |
0 commit comments