Ever wondered how traversal algorithms work? π€ Traverso makes the invisible π» become visible ποΈ.
Traverso is a modern, interactive web application that visually demonstrates how traversal or path-finding algorithms operate on a uni-weighted grid. Designed for students, educators, and developers, Traverso provides intuitive, animated visualizations of path-finding and traversal techniques, making complex concepts accessible and engaging.
- Grid-Based Visualizations: Algorithms are visualized on a uni-weighted 2D grid, not on abstract data structures.
- Fixed Start/Stop Tiles: The entry and exit points are fixed, ensuring consistent experiment conditions (dynamic placement of start/stop points might be implemented in near future).
- Maze Generation: Users can either manually draw walls or utilize pre-defined maze-generation algorithms for challenging scenarios.
- Interactive Animations: Each algorithmβs step is brought to life through smooth, responsive animations, providing a clear sense of progress.
- Responsive UI: Built with React, Vite, and TailwindCSS for a seamless experience on any device.
- TypeScript Reliability: Strict type safety guarantees a robust codebase and developer experience.
- Grid & Tiles: Visualizations take place on a uni-weighted grid. Start and stop tiles are fixed and visible throughout each session.
- Maze Creation: Build your own maze by hand or use built-in maze-generation algorithms.
- Run Algorithms: Watch as traversal or path-finding algorithms animate their progress across the grid, showing how each cell is explored at different visualization speed as per choice.
- Animations: Responsive, visually rich animations highlight the path-finding process and make learning engaging.
Clone the repository and install dependencies:
git clone https://github.com/vasu03/traverso.git
cd traverso
npm install
Start the development server:
npm run dev
Visit http://localhost:5173
in your browser to explore Traverso!
We welcome contributions to enhance Traverso! To get started:
- Fork the official repository https://github.com/vasu03/traverso.
- Clone your fork locally.
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes and commit:
git commit -m 'Add awesome feature'
- Push to your fork:
git push origin feature/your-feature-name
- Open a Pull Request on GitHub.
- Ensure you have Node.js (v18+) and npm installed.
- This project uses strict TypeScript and for css styling, uses TailwindCSS utility classes.
- Strictly adhere to the code documentation and formatting structure that has been followed throughout the project to maintain a clean codebase for easy maintanence & upgrades.
.
βββ public/ # Static assets
βββ src/
β βββ components/ # Reusable React components
β βββ hooks/ # Custom hooks
β βββ contexts/ # React context providers
β βββ lib/ # Core algorithm logic
β βββ utils/ # Utility functions
β βββ App.tsx # Main app component
| βββ main.tsx # entry point for application
β βββ index.css # Global styles
βββ index.html # HTML template
βββ .gitignore
βββ eslint.config.json
βββ tailwind.config.ts
βββ postcss.config.mjs
βββ vite.config.ts
βββ package.json
βββ README.md
βββ LICENSE
This project is licensed under the MIT License.
For questions, feedback, or collaboration, please open an issue or reach out via GitHub.