Skip to content

ignaciomartinelias/sorting-algorithms-app-v2

Repository files navigation

Sorting Algorithms Visualizer

This project is a visualizer for various sorting algorithms. It provides an interactive way to learn and understand how different sorting algorithms work by displaying them in action. The application is built using modern web development tools, including React, TypeScript, and Zustand for state management.

Demo

Check out the live demo of the application here.

Desktop View

Desktop.Demo.mp4

Mobile View

Mobile.Demo.mp4

Features

  • Responsive Design: The visualizer is fully responsive, offering a seamless experience on both desktop and mobile devices.
  • Algorithm Visualizations: Currently supports the following sorting algorithms:
    • Selection Sort
    • Insertion Sort
    • Bubble Sort
    • Quick Sort
  • Customizable Settings: Users can adjust the speed of the visualization, the size of the array, and the display mode (bars or numbers).

Built With

  • Vite: For fast and optimized development and build tooling.
  • React: For building the user interface.
  • TypeScript: Ensuring type safety and reducing runtime errors.
  • Zustand: For simple and scalable state management.
  • Framer Motion: For smooth and customizable animations.
  • PNPM: For fast, disk space efficient package management.

Installation

  1. Clone the repository:
git clone https://github.com/ignaciomartinelias/sorting-algorithms-app-v2.git
cd sorting-visualizer
  1. Install dependencies using PNPM:
pnpm install
  1. Start the development server:
pnpm dev
  1. Open your browser and navigate to http://localhost:5173/ to view the application.

Usage

  • Select an Algorithm: Choose from the available sorting algorithms in the sidebar.
  • Adjust Settings: Use the controls to adjust speed, array size, and display mode.
  • Start Visualization: Click the "Play" button to start the visualization of the selected algorithm.

Pending Features

  • Onboarding Process: Introduce an onboarding process to guide first-time users through the application.

Contributing

Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •