Skip to content

A web-based interactive platform for visualizing various data structures and algorithms, including sorting and searching techniques. Users can explore and understand the mechanics of algorithms through dynamic visual representations.

License

Notifications You must be signed in to change notification settings

Gourangi4/AlgoVisualizer-GA

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

315 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฏ AlgoVisualizer

GSSoC'25 GSSoC-OpenSource Built with Love PRs Welcome

๐Ÿ“– Table of Contents

๐Ÿ” Overview

Welcome to AlgoVisualizer, a cutting-edge interactive web application designed to transform the way you learn and understand algorithms. Experience real-time visualizations of sorting, searching, and data structure algorithms with a beautiful, modern interface.

๐Ÿš€ Live Demo: https://algo-visualizer-amber.vercel.app

Thanks Banner Typing SVG

๐Ÿ“Š Project Insights

๐ŸŒŸ Stars ๐Ÿด Forks ๐Ÿ› Issues ๐Ÿ”” Open PRs ๐Ÿ”• Closed PRs ๐Ÿ› ๏ธ Languages ๐Ÿ‘ฅ Contributors
Stars Forks Issues Open PRs Closed PRs Languages Count Contributors Count

โœจ Features

๐ŸŽจ Modern Interface

  • Dark Theme: Sleek GitHub-inspired dark theme for comfortable learning
  • Interactive Learning Platform: Intuitive badge-based navigation system
  • Responsive Design: Seamless experience across desktop, tablet, and mobile devices
  • Smooth Animations: Powered by Framer Motion for engaging user experience

๐Ÿง  Algorithm Visualizations

  • Step-by-Step Visualization: Watch algorithms execute in real-time with clear visual feedback
  • Interactive Controls: Play, pause, reset, and adjust speed of algorithm execution
  • Performance Metrics: Track comparisons, swaps, iterations, and execution time
  • Code Explanation: Detailed code walkthrough with syntax highlighting

๐Ÿ“Š Export & Recording

  • ๐Ÿ“ธ High-Quality Snapshots: Capture visualization states as PNG/JPEG images
  • ๐ŸŽฌ Video Recording: Export complete algorithm runs as GIFs or MP4 videos
  • โš™๏ธ Customizable Settings: Adjust frame rates, quality, and export formats
  • ๐Ÿ“š Educational Ready: Perfect for presentations, tutorials, and documentation

๐ŸŽ“ Learning Tools

  • Interactive Quiz System: Test your algorithm knowledge with built-in quizzes
  • Algorithm Documentation: Comprehensive guides and explanations
  • Contributors Section: Meet the amazing people behind the project
  • About & Contact Pages: Learn more about the project and get in touch

GSSoC Logo

๐ŸŒŸ Exciting News...

๐Ÿš€ This project is now an official part of GirlScript Summer of Code โ€“ GSSoC'25! ๐Ÿ’ƒ๐ŸŽ‰๐Ÿ’ป We're thrilled to welcome contributors from all over India and beyond to collaborate, build, and grow AlgoVisualizer! Letโ€™s make learning and career development smarter โ€“ together! ๐ŸŒŸ๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ‘ฉโ€๐Ÿ’ป

๐Ÿ‘ฉโ€๐Ÿ’ป GSSoC is one of Indiaโ€™s largest 3-month-long open-source programs that encourages developers of all levels to contribute to real-world projects ๐ŸŒ while learning, collaborating, and growing together. ๐ŸŒฑ

๐ŸŒˆ With mentorship, community support, and collaborative coding, it's the perfect platform for developers to:

  • โœจ Improve their skills
  • ๐Ÿค Contribute to impactful projects
  • ๐Ÿ† Get recognized for their work
  • ๐Ÿ“œ Receive certificates and swag!

๐ŸŽ‰ I canโ€™t wait to welcome new contributors from GSSoC 2025 to this AlgoVisualizer project family! Let's build, learn, and grow together โ€” one commit at a time. ๐Ÿ”ฅ๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ‘ฉโ€๐Ÿ’ป

๐Ÿ” Supported Algorithms

Sorting Algorithms (7 Total)

  • Bubble Sort - Simple comparison-based sorting
  • Insertion Sort - Efficient for small datasets
  • Selection Sort - In-place comparison sorting
  • Merge Sort - Divide and conquer approach
  • Quick Sort - Efficient average-case performance
  • Bucket Sort - Distribution-based sorting
  • Radix Sort - Non-comparison integer sorting

Searching Algorithms (4 Total)

  • Linear Search - Sequential search through elements
  • Binary Search - Efficient search on sorted arrays
  • Jump Search - Block-based search optimization
  • Exponential Search - Combination of binary and unbounded search

Data Structures (6 Total)

  • Stack - LIFO (Last In, First Out) operations
  • Queue - FIFO (First In, First Out) operations
  • Linked List - Dynamic linear data structure
  • Binary Tree - Hierarchical tree structure
  • Binary Search Tree - Ordered binary tree with search properties
  • Graph Algorithms - Network and connectivity visualizations

๐Ÿ› ๏ธ Technologies Used

Frontend

  • React 18.3.1 - Modern component-based UI framework
  • Framer Motion 12.23 - Smooth animations and transitions
  • React Router Dom 6.30 - Client-side routing
  • Lucide React - Beautiful icon library
  • CSS3 - Modern styling with custom properties and grid layouts

Development Tools

  • Vite 5.0 - Fast build tool and development server
  • ESLint - Code quality and consistency
  • HTML2Canvas - Screenshot and image capture
  • GIF.js - GIF creation and export
  • RecordRTC - Video recording capabilities

Deployment & Analytics

  • Vercel - Serverless deployment platform
  • Vercel Analytics - User behavior and performance tracking

Quick Start

Prerequisites

  • Node.js 20.11.1 or higher
  • npm or yarn package manager

Installation

  1. Clone the repository:

    git clone https://github.com/RhythmPahwa14/AlgoVisualizer.git
    cd AlgoVisualizer
  2. Install dependencies:

    npm install --legacy-peer-deps
  3. Start the development server:

    npm start
  4. Open your browser:

    Navigate to http://localhost:5173/ to view the application.

Build for Production

npm run build
npm run preview

๐ŸŽฎ Usage Guide

๐Ÿ  Home Page

  • Interactive learning platform badge at the top
  • Algorithm showcase with rotating examples
  • Direct navigation to different algorithm categories

๐Ÿ“Š Sorting Algorithms

  1. Select your preferred sorting algorithm
  2. Generate or input custom array data
  3. Adjust visualization speed
  4. Click "Start Sorting" to begin
  5. Use export controls to capture or record the process

๐Ÿ” Searching Algorithms

  1. Choose a searching algorithm
  2. Set up your data array
  3. Specify the target value to search
  4. Watch the step-by-step search process
  5. Export visualizations for educational use

๏ฟฝ๏ธ Data Structures

  • Explore interactive data structure operations
  • Visualize insertions, deletions, and traversals
  • Understand structural relationships and properties

๐ŸŽ“ Quiz Section

  • Test your algorithm knowledge
  • Multiple choice questions with immediate feedback
  • Track your learning progress

๐Ÿ“ Project Structure

AlgoVisualizer/
โ”œโ”€โ”€ public/                 # Static assets
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ algorithms/         # Algorithm implementations
โ”‚   โ”œโ”€โ”€ components/         # Reusable React components
โ”‚   โ”œโ”€โ”€ data/              # Static data and configurations
โ”‚   โ”œโ”€โ”€ hooks/             # Custom React hooks
โ”‚   โ”œโ”€โ”€ pages/             # Main application pages
โ”‚   โ”œโ”€โ”€ styles/            # CSS styling files
โ”‚   โ””โ”€โ”€ utils/             # Utility functions and helpers
โ”œโ”€โ”€ package.json           # Project dependencies and scripts
โ””โ”€โ”€ README.md             # Project documentation

Getting Started

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Code Style

  • Follow existing code conventions
  • Add comments for complex algorithms
  • Ensure responsive design for all new features
  • Test your changes across different devices

๐Ÿ“ˆ Analytics & Performance

This application uses Vercel Analytics to track:

  • Page views and user engagement
  • Performance metrics and load times
  • Feature usage patterns
  • Geographic user distribution

All data is collected anonymously and helps us improve the user experience.

๐ŸŽฏ Educational Impact

Perfect for:

  • Students learning data structures and algorithms
  • Teachers creating interactive classroom materials
  • Developers preparing for technical interviews
  • Content Creators making educational videos and tutorials
  • Bootcamps and coding schools

๐Ÿ† Contributors

Meet our amazing contributors who make this project possible:

Want to see your name here? Contribute to the project!

๐Ÿ“„ Documentation

๐Ÿ“Š Project Stats

  • 15+ Algorithms implemented with visualizations
  • 6 Data Structures with interactive operations
  • Mobile Responsive design for all devices
  • Modern Tech Stack with React 18 and Vite
  • Export Capabilities for educational content creation

๐Ÿ”ฎ Future Roadmap

  • ๐ŸŒ Graph Algorithms: Advanced graph traversal and pathfinding
  • ๐Ÿ”ข Mathematical Algorithms: Number theory and computational mathematics
  • ๐ŸŽฎ Gamification: Achievement system and learning badges
  • ๐ŸŒ Internationalization: Multi-language support
  • ๐Ÿค– AI Integration: Algorithm recommendation system

๐Ÿ™ Acknowledgments

  • Thanks to all contributors of this project
  • Special shoutout to GirlScript Summer of Code (GSSoCโ€™25) for the amazing community and support!
  • Built with dedication, collaboration, and lots of chai

๐Ÿ“ž Contact

๐ŸคHow to Contribute

We love contributions from the community! Whether it's a bug report, a new feature, or a documentation improvement, we appreciate your help.

How to Contribute

  1. Fork the repository and create a new branch for your changes.
  2. Make your changes and ensure everything is working as expected.
  3. Submit a pull request with a clear description of your changes.

Found a Bug?

  • Check the issue tracker to see if the bug has already been reported.
  • If not, open a new issue and provide as much detail as possible.

Have a Feature Idea?

  • We'd love to hear it! Open an issue to discuss your idea.

๐Ÿค Contributing

We welcome contributions from the community! Here's how you can help:

Ways to Contribute

  • ๐Ÿ› Report Bugs: Found an issue? Let us know!
  • ๐Ÿ’ก Suggest Features: Have ideas for improvements?
  • ๐Ÿ“ Improve Documentation: Help make our docs better
  • ๐ŸŽจ Design Improvements: Enhance the user interface
  • โšก Performance Optimizations: Make the app faster
  • ๐Ÿงช Add Algorithms: Implement new visualization algorithms

๐Ÿ“œ Code of Conduct

Please refer to the Code of Conduct for details on contributing guidelines and community standards.

๐Ÿค๐Ÿ‘ค Contribution Guidelines

We love our contributors! If you'd like to help, please check out our CONTRIBUTE.md file for guidelines.

Thank you once again to all our contributors who has contributed to AlgoVisualizer! Your efforts are truly appreciated. ๐Ÿ’–๐Ÿ‘

Contributors

Contributors

See the full list of contributors and their contributions on the GitHub Contributors Graph.

Show some Red Heart by starring this awesome repository!

๐Ÿ’ก Suggestions & Feedback

Feel free to open issues or discussions if you have any feedback, feature suggestions, or want to collaborate!

๐Ÿ™Œ Show Your Support

If you find AlgoVisualizer project helpful, give it a star! โญ to support more such educational initiatives:

  • โญ Starring the repository
  • ๐Ÿฆ Sharing on social media
  • ๐Ÿ’ฌ Telling your friends and colleagues
  • ๐Ÿค Contributing to the project

๐Ÿ“„ License

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

โญ Stargazers

๐Ÿด Forkers

๐Ÿง‘โ€๐Ÿ’ปProject Admin:

Rhythm
Rhythm
Sandeep
Sandeep Vashishtha

Glowing Star Give us a Star and let's make magic! Glowing Star

Mirror Ball

๐Ÿ‘จโ€๐Ÿ’ป Built with โค๏ธ by AlgoVisualizer Team

โค๏ธ Rhythm and Contributors โค๏ธ

Open an Issue | ๐ŸŒŸ Star on GitHub | ๐Ÿš€ Live Demo

โฌ†๏ธ Back to Top

Ready to show off your coding achievements? Get started with AlgoVisualizer today! ๐Ÿš€

About

A web-based interactive platform for visualizing various data structures and algorithms, including sorting and searching techniques. Users can explore and understand the mechanics of algorithms through dynamic visual representations.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 69.9%
  • CSS 29.8%
  • HTML 0.3%