Algorithm Visualizer is an interactive web application designed to help users understand and visualize the functioning of various algorithms. Built with a modern tech stack including Java Spring Boot and React, this project serves as a comprehensive educational tool and a showcase of efficient software architecture.
- Visualize different sorting algorithms (Bubble Sort, Insertion Sort, Selection Sort, etc.)
- Real-time updates of algorithm execution
- Explanation of selected algorithms
- Responsive design for various device sizes
- Frontend: React
- Backend: Spring Boot, Maven
- Development Tools: IntelliJ IDEA for backend, Visual Studio Code for frontend
- Node.js (v18.15.0 or later)
- Java (JDK 17 or later)
- Maven
- Clone the repository:
[git clone <repository-url>](https://github.com/NikKnez/algorithm-visualizer-front.git)
and thencd algorithm-visualizer-front
- Install dependencies:
npm install
- Start the development server:
npm start
- Navigate to the backend directory:
cd AlgorithmVvisualizer
- Build and run the Spring Boot application:
./mvnw spring-boot:run
- Build Errors: If you encounter issues with the build process, make sure all dependencies are correctly installed and up-to-date. Check for compatibility issues between dependencies and ensure that the
target
folder is correctly handled. - Module Not Found: Ensure that all required modules are installed. For React projects, ensure
react
and other dependencies are correctly listed inpackage.json
. - Unsupported Errors: If encountering errors related to crypto routines, try setting the environment variable for Node.js:
export NODE_OPTIONS=--openssl-legacy-provider
Check out the live demo of the Algorithm Visualizer.
- More Algorithms: Adding support for additional algorithms like Merge Sort, Dijkstra's Algorithm, etc.
- Improved UI: Enhancing the visual and interactive aspects of the application.
- User Contributions: Allowing users to submit and share their own algorithms.
Contributions are welcome! Please fork the repository and create a pull request for any enhancements or bug fixes.
This project is licensed under the MIT License - see the LICENSE file for details.
Developed by NikKnez