This is my 1st Project: A web application that visualizes various sorting algorithms using Vue.js frontend and Flask backend.
- Multiple sorting algorithms supported:
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Shell Sort
- Heap Sort
- Step-by-step visualization of sorting process
- Interactive user interface
- Real-time sorting progress display
sorting-visualizer/
├── frontend/ # Vue.js frontend
│ ├── src/
│ │ ├── main.js # Vue application entry
│ │ ├── App.vue # Root component
│ │ └── assets/ # Static assets
│ ├── vite.config.js
│ └── package.json
└── backend/ # Flask backend
├── app.py # Flask application
├── services/
│ └── playground.py # Sorting algorithms
└── requirements.txt
- Frontend:
- Vue.js 3
- Vite
- Modern CSS
- Backend:
- Python 3
- Flask
- Flask-CORS
- Node.js (v14+)
- Python (v3.8+)
- pip
- Clone the repository:
git clone <repository-url>
cd sorting-visualizer
- Set up the backend:
cd backend
python -m venv venv
source venv/bin/activate # On macOS
pip install -r requirements.txt
- Set up the frontend:
cd frontend
npm install
- Start the Flask backend:
cd backend
source venv/bin/activate # On macOS
python app.py
- Start the Vue.js frontend (in a new terminal):
cd frontend
npm run dev
- Open your browser and visit:
http://localhost:5173
- Select a sorting algorithm from the dropdown menu
- Enter 5 numbers in the input fields
- Click "Sort Numbers" to start the visualization
- Watch the step-by-step sorting process
- View the final sorted result
Feel free to submit issues and enhancement requests.
This project is licensed under the MIT License - see the LICENSE file for details.