https://github.com/codernotme/algomitra
https://github.com/codernotme/algomitra
algorithms dsa logic-building os visualizer
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/codernotme/algomitra
- Owner: codernotme
- License: mit
- Created: 2024-10-30T14:32:16.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-09T08:37:36.000Z (over 1 year ago)
- Last Synced: 2025-03-24T03:32:05.818Z (over 1 year ago)
- Topics: algorithms, dsa, logic-building, os, visualizer
- Language: TypeScript
- Homepage: https://algomitra.vercel.app
- Size: 451 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🚀 **AlgoMitra**




---
## 🌟 Introduction
**AlgoMitra** is a visually engaging, interactive educational tool aimed at making algorithm learning enjoyable and accessible. Built with **Next.js** and **TypeScript**, and powered by **NextUI**, AlgoMitra offers seamless visualizations that allow users to intuitively explore a wide variety of algorithms, from basic sorting and searching to advanced dynamic programming and graph traversal techniques.
---
## 🔍 **Features at a Glance**
- **🌐 Rich Algorithm Library**:
- **Sorting Algorithms**: Bubble Sort (with more to come like Quick Sort, Merge Sort, and Heap Sort).
- **Searching Algorithms**: Binary Search and Linear Search.
- **Graph Traversal**: Upcoming support for DFS, BFS, Dijkstra’s, and Kruskal’s algorithms.
- **Dynamic Programming & OS Algorithms**: Early implementations of Fibonacci and Knapsack, with CPU scheduling algorithms (Round Robin, FCFS) on the way.
- **💡 Interactive Controls**:
- Select algorithms, generate random arrays, adjust visualization speed, and view step-by-step visual breakdowns.
- **📱 Responsive UI**: Adapts seamlessly across devices for learning on the go.
---
## 🛠️ **Tech Stack**
Built with some of the best technologies to deliver a smooth and effective user experience:
[](https://nextjs.org/)
[](https://www.typescriptlang.org/)
[](https://react.dev/)
[](https://developer.mozilla.org/en-US/docs/Web/CSS)

---
## 📅 **Roadmap**
### **Stage 1**: Core Algorithms & Basic Visualizations
1. **Sorting Algorithms**: Add support for Quick Sort, Merge Sort, Heap Sort, and more.
2. **Graph Traversal Algorithms**: Introduce DFS, BFS, and shortest path algorithms (Dijkstra's).
3. **Operating System Algorithms**:
- **CPU Scheduling**: FCFS, SJF, Priority Scheduling, Round Robin.
- **Memory Management**: Implement Paging, Segmentation, and Page Replacement strategies.
- **Disk Scheduling & Deadlock Handling**: Include algorithms like Banker’s and Wound-Wait.
4. **File Management**: Implement methods for contiguous and indexed file allocations.
### **Stage 2**: Advanced Features & Enhancements
1. **3D Visualizations** for enhanced engagement.
2. **User Customization Options** for inputs like array size and values.
3. **Real-Time Complexity Feedback**: Track and display time and space complexity in real time.
4. **User Authentication & Profiles**: Save progress, algorithm preferences, and difficulty settings.
---
## 🎨 **User Interface & Navigation**
AlgoMitra’s UI is designed with simplicity and functionality in mind:
- **Dynamic Control Panel**: Provides easy access to algorithm selection, speed adjustment, and array generation.
- **Interactive Components**: Each algorithm is housed within its own modular component, ensuring clarity and smooth navigation.
- **Accessible on All Devices**: Responsive layouts for seamless viewing across desktop and mobile platforms.
---
## 🏃♂️ **Get Started**
Clone the repository to start exploring algorithms with **AlgoMitra**!
### Clone the Repository
```bash
git clone https://github.com/codernotme/AlgoMitra.git
```
### Install Dependencies
```bash
cd AlgoMitra
npm install
```
### Start the Development Server
```bash
npm run dev
```
You're all set to start visualizing algorithms in action! 🎉
---
## 📣 **How to Contribute**
We welcome contributions from the community! Here’s how you can contribute:
1. **Fork the Repository** and make your changes in a new branch.
2. **Submit a Pull Request**: Ensure your PR includes clear explanations of your contributions.
3. **Check Issues**: See if there’s an open issue you’d like to help with or suggest your ideas by creating a new issue.
---
## 🎉 **Current Contributors**
---
## 👀 **Project Preview**
---
## 📄 License
**AlgoMitra** © 2024. Licensed under the MIT License. See [LICENSE](./LICENSE) for more information.
---
Happy coding and learning with **AlgoMitra**! 😊