Skip to content

Ever wondered how traversal or path-finding algorithms work? πŸ€” Traverso makes the invisible πŸ‘» become visible πŸ‘οΈ.

License

Notifications You must be signed in to change notification settings

vasu03/traverso

Repository files navigation

Traverso

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.


πŸš€ Features

  • 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.

πŸ“Έ Demo

Traverso Demo


πŸ› οΈ Built With

reactjs vite tailwindcss typescript


⚑ How It Works

  1. Grid & Tiles: Visualizations take place on a uni-weighted grid. Start and stop tiles are fixed and visible throughout each session.
  2. Maze Creation: Build your own maze by hand or use built-in maze-generation algorithms.
  3. 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.
  4. Animations: Responsive, visually rich animations highlight the path-finding process and make learning engaging.

πŸ“¦ Installation

Clone the repository and install dependencies:

git clone https://github.com/vasu03/traverso.git
cd traverso
npm install

🚦 Usage

Start the development server:

npm run dev

Visit http://localhost:5173 in your browser to explore Traverso!


🀝 Contributing

We welcome contributions to enhance Traverso! To get started:

  1. Fork the official repository https://github.com/vasu03/traverso.
  2. Clone your fork locally.
  3. Create a new branch: git checkout -b feature/your-feature-name
  4. Make your changes and commit: git commit -m 'Add awesome feature'
  5. Push to your fork: git push origin feature/your-feature-name
  6. Open a Pull Request on GitHub.

Development Setup

  • Ensure you have Node.js (v18+) and npm installed.
  • This project uses strict TypeScript and for css styling, uses TailwindCSS utility classes.

Code Quality

  • 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.

πŸ“ Project Structure

.
β”œβ”€β”€ 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

πŸ“œ License

This project is licensed under the MIT License.


For questions, feedback, or collaboration, please open an issue or reach out via GitHub.

About

Ever wondered how traversal or path-finding algorithms work? πŸ€” Traverso makes the invisible πŸ‘» become visible πŸ‘οΈ.

Topics

Resources

License

Stars

Watchers

Forks