Skip to content

sohamrajput98/AlgorithmicEngine

Repository files navigation



🌟 About

AlgoEngine is a next-generation algorithmic assessment and visualization platform designed to revolutionize how developers and students learn Data Structures & Algorithms. Combining interactive problem-solving, real-time visualizations, comprehensive quizzes, and intelligent analytics into one elegant ecosystem.

💎 Why AlgoEngine?

  • Visual Learning: Watch algorithms animate in real-time
  • Comprehensive Platform: DSA + CN + OS + DBMS + Aptitude
  • Smart Analytics: Track every metric that matters
  • Gamified Experience: Earn badges and climb the ranks

🎯 Built For

  • Students preparing for technical interviews
  • Developers mastering algorithmic thinking
  • Educators teaching data structures
  • Anyone passionate about coding excellence


✨ Features

Interactive Editor Icon

Interactive Editor

Full-featured code editor with syntax highlighting, auto-completion, and instant execution environment

Visualizations Icon

Real-Time Visualizations

Watch sorting, searching, graph, and tree algorithms come alive with step-by-step animations

Analytics Icon

Advanced Analytics

Track progress with detailed metrics, performance graphs, and complexity analysis

Achievements Icon

Achievement System

Unlock dynamic badges, earn stars (⭐-⭐⭐⭐⭐⭐), and track your mastery journey

Quizzes Icon

Multi-Domain Quizzes

Comprehensive assessments for CN, OS, DBMS, English, and Aptitude with instant feedback

Security Icon

Secure Authentication

OAuth2 + JWT implementation with profile linking (GitHub, LinkedIn, Portfolio)



🛠️ Tech Stack

🎨 Frontend

Frontend Stack

ReactViteTailwindCSSDaisyUI

⚙️ Backend

Backend Stack

FastAPIUvicornSQLAlchemyAlembic

🗄️ Database

Database Stack

MySQL 8.0SQLAlchemy ORMAlembic Migrations

🔐 Security

DevOps Stack

OAuth2JWTPassword Hashing



🚀 Installation

📋 Prerequisites

Python React MySQL Git

📦 Step 1: Clone the Repository
> git clone https://github.com/sohamrajput98/AlgorithmicEngine.git > cd AlgorithmicEngine 

🔧 Step 2: Backend Setup

📝 Manual Setup

# Install dependencies > pip install -r requirements.txt

Run migrations alembic upgrade head

Start server uvicorn app.main:app --reload

⚡ Automated Scripts

> cd backend/app/scripts

Development mode
> ./dev.sh

Production mode
> ./prod.sh

Run tests
> ./test.sh 

🎨 Step 3 & 4: Frontend & Database

🎨 Step 3: Frontend Setup

> cd frontend

Install dependencies npm install

Start Vite dev server npm run dev

🗄️ Step 4: Database Initialization

> cd algorithmicengine/scripts

Create databases
> ./create_databases.sh

Backup database
> ./backup.sh 
This-is-a-placeholder-for-the-second-column-content

⚙️ Step 5: Environment Configuration Create a .env file in the backend directory:

DATABASE_URL=mysql://user:password@localhost/algoengine SECRET_KEY=your-secret-key-here ALGORITHM=HS256 ACCESS_TOKEN_EXPIRE_MINUTES=30 


📂 Project Structure

📂 Project Structure
AlgorithmicEngine/
│
├── 📁 backend/
│   ├── app/
│   │   ├── main.py             # FastAPI application entry
│   │   ├── models/             # SQLAlchemy database models
│   │   ├── services/           # Business logic layer
│   │   ├── routers/            # API endpoint definitions
│   │   └── scripts/
│   │       ├── dev.sh            # Development environment
│   │       ├── prod.sh           # Production deployment
│   │       └── test.sh           # Test automation
│   ├── alembic/                # Database migrations
│   ├── requirements.txt        # Base dependencies
│   └── requirements-lock.txt   # Locked versions
│
├──  dreamed/
│   ├── src/
│   │   ├── components/         # React components
│   │   ├── pages/              # Page components
│   │   ├── services/           # API integration
│   │   └── utils/              # Helper functions
│   ├── public/                 # Static assets
│   └── package.json            # Node dependencies
│
├── 📁 algorithmicengine/
│   └── scripts/
│       ├── create_databases.sh   # DB initialization
│       └── backup.sh           # Backup utility
│
├── 📁 visualizations/           # Algorithm visualizers
├── 📁 badges/                   # Achievement assets
└── 📄 LICENSE                   # MIT License 


📸 Screenshots

Explore the visual walkthrough of AlgoEngine — from interactive dashboards to intelligent algorithm visualizations.


🏠 Home Page

Home Page


📊 Dashboard

Dashboard


⚙️ Dashboard Actions

Dashboard Actions


🔍 Problemset for Searching Problems

Problemset


💻 Solving with Monaco Editor

Monaco Editor


📬 Submissions Page

Submissions Page


🧠 Core Subjects Quizzes

Core Subjects Quizzes


📈 Analytics Dashboard

Analytics Dashboard


🧩 DSA & Algorithm Visualizer

Algorithm Visualizer



🗺️ Roadmap

🐳 Phase 1: Infrastructure

  • Docker Support - Containerized deployment
  • CI/CD Pipeline - GitHub Actions integration
  • Redis Caching - Performance optimization
  • Load Balancing - Horizontal scaling

🏆 Phase 2: Community

  • Leaderboard System - Global rankings
  • Friend Challenges - Competitive coding
  • Discussion Forums - Community support
  • Code Sharing - Collaboration features

🤖 Phase 3: Intelligence

  • AI-Powered Hints - Smart suggestions
  • Code Review - Automated feedback
  • Complexity Analysis - Performance insights
  • Learning Paths - Personalized roadmaps

📱 Phase 4: Expansion

  • Mobile Apps - iOS & Android
  • Video Tutorials - Integrated learning
  • Live Coding - Real-time collaboration
  • API Access - Third-party integrations


🧪 Testing & Quality

Backend Testing

> cd backend
> ./app/scripts/test.sh

Comprehensive unit and integration tests for all API endpoints

Frontend Testing

> cd frontend
> npm test

Component tests, E2E testing, and visual regression
tests



📦 Dependencies Management

📋 requirements.txt

Flexible Development

Base dependencies with version ranges for active development

> pip install -r requirements.txt

🔒 requirements-lock.txt

Stable Production

Locked versions for reproducible deployments

> pip install -r requirements-lock.txt



🤝 Contributing

We welcome contributions from developers of all skill levels! Here's how you can help make AlgoEngine even better:

Fork: Fork the repository to your account.

Branch: Create a new feature branch (git checkout -b feature/AmazingFeature).

Code: Make your changes.

Test: Add or update tests as needed.

Commit: Commit your changes (git commit -m 'Add some AmazingFeature').

Push: Push to your branch (git push origin feature/AmazingFeature).

PR: Open a Pull Request.



📄 License

MIT License

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

👨‍💻 Creator

Soham Rajput

Building the future of algorithmic education

GitHub   LinkedIn

🙏 Acknowledgments

✨ Built With

Modern web technologies and best practices

💡 Inspired By

The passionate developer community

❤️ Made For

Learners and educators worldwide

Footer

About

AlgoEngine is a full-stack platform that evaluates algorithms at scale with deterministic scoring, secure execution, and contest-ready workflows.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors