Skip to content

abhinavtiwari77/Structify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

24 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ DSA Visualizer

A powerful Data Structure and Algorithm Visualizer built using React, ShadCN UI, and Sonner for a beautiful, interactive, and educational experience. Perfect for students, educators, and developers looking to visualize and understand DSA concepts step-by-step.


โœจ Features

  • ๐Ÿ” Searching Algorithm Visualizations (Binary Search, Linear Search)
  • ๐Ÿ“Š Sorting Algorithm Visualizations (Bubble Sort, Quick Sort, Merge Sort, etc.)
  • ๐Ÿ“š Data Structure Visualizations (Arrays, Stacks, Queues, Linked Lists)
  • ๐Ÿ Algorithm Race Mode - Compare multiple algorithms head-to-head
  • ๐Ÿค– AlgoBot - AI-powered algorithm assistant using Google Gemini API
  • ๐ŸŽจ Modern UI powered by ShadCN and Tailwind CSS
  • โšก Elegant Toaster Notifications using Sonner
  • ๐Ÿ“Š Step-by-Step Execution of algorithms with real-time state updates
  • ๐ŸŒ™ Dark Mode Support for a comfortable viewing experience
  • ๐Ÿ“ฑ Responsive Design for mobile and desktop devices

๐Ÿšง Upcoming Enhancements

  • ๐ŸŒณ Tree Data Structures (Binary Trees, BST, AVL, Red-Black Trees)
  • ๐Ÿ“ˆ Graph Algorithms (DFS, BFS, Dijkstra's, Kruskal's, Prim's)
  • ๐Ÿงฎ Dynamic Programming visualizations
  • ๐Ÿ”„ More Sorting Algorithms (Heap Sort, Radix Sort, Counting Sort)
  • ๐ŸŽฏ Advanced Data Structures (Heaps, Hash Tables, Tries)
  • ๐ŸŒŽ Multi-Language (i18n) Support
  • ๐Ÿ“ˆ Performance Analytics and complexity analysis
  • ๐ŸŽฅ Enhanced Animations with more visual effects
  • ๐Ÿ’พ Save and Share algorithm configurations

๐Ÿ› ๏ธ Installation & Setup

1๏ธโƒฃ Clone the Repository

git clone https://github.com/echoabhinav/DsaVisualiser.git
cd DsaVisualiser

2๏ธโƒฃ Install Dependencies

npm install

3๏ธโƒฃ Environment Setup (Optional - for AlgoBot feature)

Create a .env file in the root directory and add your Gemini API key:

VITE_GEMINI_API_KEY=your_gemini_api_key_here

4๏ธโƒฃ Start the Development Server

npm run dev

The app should now be running on http://localhost:5173


๐Ÿ“‚ Project Structure

DsaVisualiser/
โ”œโ”€โ”€ .env                         # Environment variables (Gemini API key)
โ”œโ”€โ”€ .gitignore                   # Git ignore rules
โ”œโ”€โ”€ components.json              # ShadCN UI components configuration
โ”œโ”€โ”€ eslint.config.js             # ESLint configuration
โ”œโ”€โ”€ index.html                   # Main HTML file
โ”œโ”€โ”€ package.json                 # Project metadata and dependencies
โ”œโ”€โ”€ package-lock.json            # Locked dependency versions
โ”œโ”€โ”€ tsconfig.json                # TypeScript configuration
โ”œโ”€โ”€ tsconfig.app.json            # TypeScript app-specific config
โ”œโ”€โ”€ tsconfig.node.json           # TypeScript Node.js config
โ”œโ”€โ”€ vercel.json                  # Vercel deployment configuration
โ”œโ”€โ”€ vite.config.ts               # Vite configuration
โ”œโ”€โ”€ public/                      # Static files
โ”‚   โ””โ”€โ”€ _redirects               # Netlify/Vercel redirects
โ””โ”€โ”€ src/                         # Source code
    โ”œโ”€โ”€ main.tsx                 # Application entry point
    โ”œโ”€โ”€ index.css                # Global styles
    โ”œโ”€โ”€ App.css                  # App-specific styles
    โ”œโ”€โ”€ vite-env.d.ts            # Vite environment types
    โ”œโ”€โ”€ Layout.tsx               # Main layout component
    โ”œโ”€โ”€ Hero.tsx                 # Hero section component
    โ”œโ”€โ”€ Navbar.tsx               # Navigation component
    โ”œโ”€โ”€ Footer.tsx               # Footer component
    โ”œโ”€โ”€ AlgorithmCategories.tsx  # Algorithm categories display
    โ”œโ”€โ”€ algorithm-detail.tsx     # Algorithm detail view
    โ”œโ”€โ”€ data-structure-categories.tsx # Data structure categories
    โ”œโ”€โ”€ components/              # Reusable UI components
    โ”‚   โ””โ”€โ”€ ui/                  # ShadCN UI components
    โ”‚       โ”œโ”€โ”€ button.tsx
    โ”‚       โ”œโ”€โ”€ card.tsx
    โ”‚       โ”œโ”€โ”€ input.tsx
    โ”‚       โ”œโ”€โ”€ dialog.tsx
    โ”‚       โ”œโ”€โ”€ badge.tsx
    โ”‚       โ”œโ”€โ”€ tabs.tsx
    โ”‚       โ”œโ”€โ”€ progress.tsx
    โ”‚       โ”œโ”€โ”€ slider.tsx
    โ”‚       โ”œโ”€โ”€ separator.tsx
    โ”‚       โ”œโ”€โ”€ label.tsx
    โ”‚       โ”œโ”€โ”€ textarea.tsx
    โ”‚       โ”œโ”€โ”€ alert.tsx
    โ”‚       โ”œโ”€โ”€ dropdown-menu.tsx
    โ”‚       โ”œโ”€โ”€ sonner.tsx
    โ”‚       โ”œโ”€โ”€ scroll-area.tsx
    โ”‚       โ””โ”€โ”€ avatar.tsx
    โ”œโ”€โ”€ context/                 # React context providers
    โ”‚   โ””โ”€โ”€ theme.ts             # Theme context
    โ”œโ”€โ”€ lib/                     # Utility libraries and algorithms
    โ”‚   โ”œโ”€โ”€ utils.ts             # General utility functions
    โ”‚   โ”œโ”€โ”€ array-utils.ts       # Array manipulation utilities
    โ”‚   โ”œโ”€โ”€ sorting-algorithms.ts # Sorting algorithm implementations
    โ”‚   โ””โ”€โ”€ searching-algorithms.ts # Searching algorithm implementations
    โ””โ”€โ”€ pages/                   # Application pages/routes
        โ”œโ”€โ”€ Home.tsx             # Home page
        โ”œโ”€โ”€ About.tsx            # About page
        โ”œโ”€โ”€ Algobot.tsx          # AI-powered algorithm assistant
        โ”œโ”€โ”€ Searching.tsx        # Searching algorithms page
        โ”œโ”€โ”€ Sorting.tsx          # Sorting algorithms page
        โ”œโ”€โ”€ data-structures/     # Data structure visualizations
        โ”‚   โ”œโ”€โ”€ index.ts         # Data structure exports
        โ”‚   โ”œโ”€โ”€ arrays.tsx       # Array data structure
        โ”‚   โ”œโ”€โ”€ stacks.tsx       # Stack data structure
        โ”‚   โ”œโ”€โ”€ queues.tsx       # Queue data structure
        โ”‚   โ”œโ”€โ”€ linked-lists.tsx # Linked list data structure
        โ”‚   โ””โ”€โ”€ data-structure-visualizer.tsx # Base visualizer
        โ””โ”€โ”€ race/                # Algorithm race mode
            โ”œโ”€โ”€ Race.tsx         # Main race page
            โ”œโ”€โ”€ algorithm-race.tsx # Race logic
            โ”œโ”€โ”€ algorithm-visualizer.tsx # Race visualizer
            โ”œโ”€โ”€ custom-input.tsx # Custom input component
            โ””โ”€โ”€ race-leaderboard.tsx # Race leaderboard

๐Ÿค Contributing

Contributions are welcome! Feel free to fork the repository and open a pull request.

  1. Fork it ๐Ÿด
  2. Create your feature branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -am 'Add cool feature')
  4. Push to the branch (git push origin feature/my-feature)
  5. Open a Pull Request ๐Ÿš€
image image image

๐Ÿ“œ License

This project is licensed under the MIT License ยฉ 2025 Abhinav Tiwari.
Feel free to use, modify, and distribute this project for personal or commercial purposes.

About

A powerful Data Structure and Algorithm Visualizer built using React, ShadCN UI, and Sonner for a beautiful, interactive, and educational experience. Perfect for students, educators, and developers looking to visualize and understand DSA concepts step-by-step

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages