| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Transform Complex Algorithms into Interactive Visual Experiences
🚀 Live Demo · 📖 Documentation · 🐛 Report Bug · 💡 Request Feature
Algorithm Visualiser Pro is a cutting-edge educational platform that transforms abstract algorithmic concepts into engaging, interactive visual experiences. Built with modern web technologies, it serves as a comprehensive learning tool for students, educators, and algorithm enthusiasts worldwide.
To bridge the gap between theoretical computer science and practical understanding by providing intuitive, step-by-step algorithm visualizations that make complex concepts accessible to learners at all levels.
| Technology | Version | Purpose |
|---|---|---|
| React | 18.2.0 | Core UI framework with hooks and context |
| Vite | 5.0.0 | Lightning-fast build tool and dev server |
| TailwindCSS | 3.3.0 | Utility-first styling framework |
| Lucide React | 0.294.0 | Beautiful icon library |
| Framer Motion | 10.16.0 | Smooth animations and transitions |
| Technology | Version | Purpose |
|---|---|---|
| FastAPI | 0.104.1 | High-performance async API framework |
| Python | 3.11+ | Core backend language |
| Uvicorn | 0.24.0 | ASGI server for production |
| Pydantic | 2.5.0 | Data validation and serialization |
| Technology | Purpose |
|---|---|
| Docker | Containerization and consistent environments |
| Docker Compose | Multi-container orchestration |
| Render | Frontend deployment and CDN |
| Render/Railway | Backend API deployment |
| GitHub Actions | CI/CD pipeline automation |
| 🆚 Feature | ✅ Algorithm Visualiser Pro | ❌ Traditional Learning |
|---|---|---|
| Learning Approach | Visual, Interactive, Step-by-step | Text-based, Static examples |
| Engagement | High interactivity with real-time feedback | Passive reading and memorization |
| Accessibility | Works on any device, responsive design | Limited to textbooks or desktop software |
| Complexity Analysis | Real-time visualization of time/space complexity | Abstract mathematical notation |
| Progress Tracking | Visual progress indicators and statistics | Manual tracking required |
| Customization | Multiple themes, speeds, and input sizes | Fixed presentation format |
Get up and running in under 5 minutes!
# 1️⃣ Fork the repository
# 2️⃣ Clone the repository
git clone https://github.com/<your-username>/Algorithm-Visualiser-Platform.git
cd Algorithm-Visualiser-Platform
# 3️⃣ Install dependencies
npm install
cd backend && pip install -r requirements.txt
cd backend && pip install -r requirements.txt
# 4️⃣ Start development servers
npm run dev # Frontend (http://localhost:3000)
npm run dev:api # Backend (http://localhost:8000)
# 🎉 Open your browser and start exploring!# Navigate to project root
cd Algorithm-Visualiser-Platform/frontend
# Install dependencies
npm install
# Available scripts
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint issuesEnvironment Variables (.env):
VITE_API_BASE_URL=http://localhost:8000
VITE_APP_TITLE="Algorithm Visualiser Pro"
VITE_ENABLE_ANALYTICS=false# Navigate to backend directory
cd Algorithm-Visualiser-Platform/backend
# Create virtual environment
python -m venv venv
# Activate virtual environment
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Start development server
uvicorn main:app --reload --host 0.0.0.0 --port 8000Environment Variables (.env):
ENVIRONMENT=development
DATABASE_URL=sqlite:///./app.db
SECRET_KEY=your-secret-key-here
CORS_ORIGINS=["http://localhost:3000", "http://localhost:5173"]# Start entire application stack
docker-compose up -d
# View logs
docker-compose logs -f
# Stop services
docker-compose down# Multi-stage build for optimized production image
FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]# Build and push images
docker build -t yourusername/algo-visualiser-frontend ./frontend
docker build -t yourusername/algo-visualiser-backend ./backend
docker push yourusername/algo-visualiser-frontend
docker push yourusername/algo-visualiser-backendUsing AWS ECS + ECR:
# Build and tag for ECR
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin your-account.dkr.ecr.us-east-1.amazonaws.com
docker build -t algo-visualiser .
docker tag algo-visualiser:latest your-account.dkr.ecr.us-east-1.amazonaws.com/algo-visualiser:latest
docker push your-account.dkr.ecr.us-east-1.amazonaws.com/algo-visualiser:latestUsing Cloud Run:
# Build and deploy
gcloud builds submit --tag gcr.io/PROJECT-ID/algo-visualiser
gcloud run deploy --image gcr.io/PROJECT-ID/algo-visualiser --platform managed| 🔄 Sorting Algorithms | 🌐 Graph Algorithms |
|---|---|
| • Bubble Sort | • Breadth-First Search (BFS) |
| • Quick Sort | • Depth-First Search (DFS) |
| • Merge Sort | • Dijkstra's Algorithm |
| • Heap Sort | • A* Search Algorithm |
| • Insertion Sort | • Kruskal's MST |
| 🔍 Search Algorithms | 🧮 Dynamic Programming |
|---|---|
| • Linear Search | • Fibonacci Sequence |
| • Binary Search | • Knapsack Problem |
| • Jump Search | • Longest Common Subsequence |
| • Interpolation Search | • Edit Distance |
| • Exponential Search | • Coin Change Problem |
// Multiple built-in themes
const themes = {
light: { primary: '#4F46E5', background: '#FFFFFF' },
dark: { primary: '#818CF8', background: '#1F2937' },
ocean: { primary: '#0EA5E9', background: '#0F172A' },
forest: { primary: '#059669', background: '#064E3B' }
};// vite.config.js
export default defineConfig({
plugins: [react()],
server: {
port: 3000,
proxy: {
'/api': 'http://localhost:8000'
}
},
build: {
outDir: 'dist',
sourcemap: true,
rollupOptions: {
output: {
manualChunks: {
vendor: ['react', 'react-dom'],
utils: ['lodash', 'axios']
}
}
}
}
});# config.py
from pydantic import BaseSettings
class Settings(BaseSettings):
app_name: str = "Algorithm Visualizer API"
debug: bool = False
cors_origins: list = ["http://localhost:3000"]
class Config:
env_file = ".env"
settings = Settings()| Metric | Value | Target |
|---|---|---|
| First Contentful Paint | 1.2s | <1.5s |
| Largest Contentful Paint | 2.1s | <2.5s |
| Time to Interactive | 2.8s | <3.0s |
| Cumulative Layout Shift | 0.05 | <0.1 |
| Bundle Size | 145KB | <200KB |
We welcome contributions from the community! Here's how you can help:
Use the issue template to report bugs.
Use the feature request template to suggest new features.
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License Copyright (c) 2024 Yuvraj Udaywal Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
Passionate about creating innovative web applications and making complex algorithms accessible through interactive visualizations. With expertise in full-stack development using React.js, Node.js, and Python, I strive to bridge the gap between theoretical computer science and practical understanding.
"To democratize algorithm education by making complex concepts visually intuitive and accessible to learners worldwide."
Need Help?
⭐ If you found this project helpful, please give it a star!
🔗 Share with friends and colleagues who might benefit from visual algorithm learning
Made with ❤️ by Yuvraj Udaywal | © 2024 Algorithm Visualizer Pro
| Back | FazBrowse Home | New Git URL |