Skip to content

Visualize, interact, and understand complex data structures and algorithms with our next-gen step-by-step visualizer.

License

Notifications You must be signed in to change notification settings

gdgoc-usc/algos

Repository files navigation

GDG Logo

Algorithms Visualizer

Google Developer Groups on Campus - University of San Carlos

Visualize, interact, and understand complex data structures and algorithms with our next-gen step-by-step visualizer.

🚀 Features

  • Step-by-Step Visualization: Play, pause, step forward/back, and reset execution.
  • Interactive Controls: Adjust speed, randomize inputs, and load examples.
  • Dedicated Algorithm Pages: Focused environment for each algorithm (Sorting, Searching, Graphs, etc.).
  • Consistent UI: Standardized "Page Contract" ensuring a familiar experience across all visualizations.
  • Community Driven: Built and maintained by the GDG-USC community.

🛠️ Tech Stack

  • Framework: React + Vite
  • Language: TypeScript
  • UI Components: shadcn/ui
  • Styling: Tailwind CSS + Google Brand Colors
  • Typography: Excalifont (Hand-drawn aesthetic)

🏎️ Getting Started

Prerequisites

  • Node.js (v20.19+ or v22.12+)
  • Bun (Preferred package manager)

Installation

bun install

Running Locally

bun dev

The application will be available at http://localhost:5173.

🤝 Contributing

We welcome contributions from the community! This project uses Husky and Commitlint to ensure code quality.

Guidelines

  1. Conventional Commits: All commit messages must follow the Conventional Commits standard.
    • feat: add bubble sort visualization
    • fix: resolve mobile layout issue
    • added stuff
  2. Linting & Formatting: Code is automatically linted and formatted on commit using eslint and prettier.
  3. Type Checking: A strict type check runs before you push (pre-push hook).

Steps to Participate

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/your-feature-name.
  3. Make your changes.
  4. Commit your changes: git commit -m "feat: your feature".
  5. Push to the branch: git push origin feature/your-feature-name.
  6. Submit a Pull Request.

📚 Documentation

For more detailed information, please refer to the documentation:

📄 License

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


Made with ❤️ by the GDG on Campus - University of San Carlos Community

About

Visualize, interact, and understand complex data structures and algorithms with our next-gen step-by-step visualizer.

Resources

License

Contributing

Stars

Watchers

Forks

Languages