Skip to content

mithleshprasad/Learn-Coding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

87 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


DSA Learning Hub πŸš€

DSA Learning Hub is an interactive platform designed to help learners explore and master Data Structures and Algorithms (DSA). It provides examples, API integrations, and will soon include interactive visualizations for various topics such as arrays, strings, linked lists, stacks, graphs, and more.


Features

🌟 Current Features:

1. Sorting Algorithms

  • Bubble Sort: Show gradual bubbling of largest elements to the end
  • Merge Sort: Visualize the divide-and-conquer approach with splitting and merging
  • Quick Sort: Demonstrate pivot selection and partitioning
  • Insertion Sort: Show building the sorted array one element at a time
  • Selection Sort: Visualize repeatedly finding the minimum element

2. Graph Algorithms

  • Dijkstra's Algorithm: Animate finding shortest paths with a priority queue
  • A Search*: Show heuristic-based pathfinding with open/closed sets
  • Breadth-First Search: Demonstrate layer-by-layer exploration
  • Depth-First Search: Visualize backtracking through nodes
  • Minimum Spanning Tree (Prim's/Kruskal's): Show tree growing process

3. Dynamic Programming

  • Fibonacci Sequence: Visualize recursion tree vs. memoized/dp approach
  • Knapsack Problem: Show decision tree and DP table filling
  • Longest Common Subsequence: Animate matrix filling process

4. Tree Traversals

  • Inorder/Preorder/Postorder: Animate different traversal orders
  • AVL Tree Rotations: Show balancing operations
  • Red-Black Tree Insertions: Demonstrate color flipping and rotations

5. String Matching

  • Naive String Search: Show brute-force character comparisons
  • KMP Algorithm: Visualize prefix function and pattern shifting
  • Boyer-Moore: Demonstrate bad character and good suffix rules

6. Numerical Algorithms

  • Euclidean Algorithm: Animate GCD calculation
  • Sieve of Eratosthenes: Show prime number filtering
  • Fast Exponentiation: Demonstrate divide-and-conquer power calculation

7. Machine Learning Basics

  • K-Nearest Neighbors: Show decision boundaries forming
  • Linear Regression: Animate gradient descent convergence
  • K-Means Clustering: Visualize centroid movement

8. Cryptography

  • RSA Encryption: Demonstrate key generation and modular arithmetic
  • Caesar Cipher: Show letter shifting visualization
  • Diffie-Hellman: Animate key exchange process

Implementation Tips:

  1. Common UI Components you can reuse:

    • Array/graph visualization canvas
    • Speed controls
    • Step-by-step explanation panel
    • Algorithm comparison tabs
    • Pseudocode display synchronized with visualization
  2. Visual Elements to include:

    • Color-coding for different states (visited, current, etc.)
    • Pointer indicators for current positions
    • Animated transitions between steps
    • Performance metrics (time/space complexity)
  3. Educational Features:

    • Best/worst case scenario toggles
    • Big-O complexity graph comparison
    • Real-world use case examples
    • Common pitfalls/misconceptions

πŸ”œ Coming Soon:

  • Interactive examples for arrays, strings, linked lists, stacks, and graphs.
  • Topic-wise tutorials and explanations.
  • Visualizations for DSA concepts.
  • Practice problems and solutions.

Project Structure

root/
β”‚
β”œβ”€β”€ index.html       # Main HTML file for the website
β”œβ”€β”€ server.js        # Express server for API endpoints
β”œβ”€β”€ README.md        # Project documentation
└── styles.css       # (Optional) External stylesheet for custom styles

API Endpoints

/info

  • Method: GET
  • Description: Returns a message indicating the API server is running successfully.
  • Sample Response:
    {
      "status": true,
      "message": "JSON server run successful!",
      "server": "Express"
    }

/array

  • Method: GET
  • Description: Returns an array and its reversed version.
  • Sample Response:
    {
      "status": true,
      "array": "Originally array 1,2,3,4,5,6 <br> Reversed array: 6,5,4,3,2,1"
    }

How to Run the Project

Prerequisites

  • Node.js installed on your machine.
  • A text editor (e.g., VSCode).

Steps

  1. Clone the Repository:

    git clone <repository-url>
    cd dsa-learning-hub
  2. Install Dependencies:

    npm install
  3. Run the Server:

    node server.js

    The server will start at http://localhost:8045.

  4. Open the Website:

    • Open index.html in a browser or serve it using a tool like Live Server.

Contribution

Contributions are welcome! Here's how you can help:

  1. Fork the repository.
  2. Create a new branch for your feature/bug fix.
  3. Submit a pull request with detailed information about your changes.

License

This project is licensed under the MIT License. Feel free to use, modify, and distribute it as you like.

///////////////////////////////////////////////////////////////////////////////////////////////////////////// πŸ”₯ Alright Mithlesh! Here is the COMPLETE Day-by-Day DevOps Plan (40 Days) β€” the most practical, industry-ready roadmap made specifically for you as a MERN developer.

πŸ‘‡ Save this. Follow this. You will become DevOps Engineer in 40 Days.


πŸš€ DAY-BY-DAY DEVOPS PLAN (40 Days)

No theory bullshit. Only practical + real projects.


βœ… WEEK 1 β€” Linux + Git + DevOps Fundamentals

Day 1 β€” Linux Basics

  • Install Ubuntu (Dual Boot / WSL2)

  • Learn:

    • ls, cd, pwd, mkdir, rm
    • cat, touch, less
    • sudo, apt update, apt install
  • Practice navigation like a pro.

Day 2 β€” Linux Intermediate

  • File permissions: chmod, chown
  • Processes: ps, kill, top, htop
  • Services: systemctl start/stop/status
  • Networking: ping, curl, wget, ss -tulpn

Day 3 β€” Linux Advanced

  • Shell scripting basics:

    • variables
    • loops
    • functions
  • Write a script:

    #!/bin/bash
    echo "Server Time: $(date)"

Day 4 β€” Git Basics

  • Git clone / add / commit / push
  • Branching
  • Merging
  • .gitignore

Day 5 β€” Git Advanced

  • Git rebase
  • Git stash
  • Git cherry-pick
  • Git bisect

Day 6 β€” DevOps Fundamentals

  • What is DevOps
  • Continuous Delivery vs Deployment
  • CI vs CD
  • Containers
  • Infra-as-code
  • Cloud
  • Monitoring

Day 7 β€” Mini Project

Deploy a Node.js API on local Linux + push to GitHub.


βœ… WEEK 2 β€” AWS Basics + Deploy Backend on EC2

Day 8 β€” Create AWS Account

  • Setup free tier
  • Enable MFA
  • Create IAM user
  • Install AWS CLI

Day 9 β€” EC2

  • Launch Ubuntu EC2 instance
  • SSH using PEM file
  • Install Node.js, npm

Day 10 β€” Deploy First App on EC2

  • Clone MERN backend
  • Install + run via PM2
  • Test public IP

Day 11 β€” Install + Configure NGINX

  • Reverse proxy
  • Serve Node.js backend from port 80

Day 12 β€” MongoDB Setup

  • Use MongoDB Atlas
  • Connect from EC2
  • Fix IP allowlist

Day 13 β€” S3 Basics

  • Create bucket
  • Upload/download files
  • Learn public & private access
  • Learn bucket policies

Day 14 β€” AWS IAM

  • Users
  • Groups
  • Roles
  • Policies
  • Attach EC2 Role

🎯 Project Result: MERN backend deployed manually on AWS EC2 using NGINX + PM2


βœ… WEEK 3 β€” Docker (Most Important for DevOps)

Day 15 β€” Docker Basics

  • Containers vs VMs
  • Install Docker
  • Docker images
  • Docker containers
  • Docker Hub

Day 16 β€” Dockerfile

Write Dockerfile for Node.js app:

FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["node","index.js"]

Run container:

docker build -t myapp .
docker run -p 3000:3000 myapp

Day 17 β€” Docker Compose

  • Multi-container app
  • Backend + MongoDB

Example:

services:
  api:
    build: .
    ports:
      - 3000:3000
    depends_on:
      - db
  db:
    image: mongo
    ports:
      - 27017:27017

Day 18 β€” Docker Volumes

  • Persistent data
  • Bind mount vs volumes

Day 19 β€” Optimize Dockerfile

  • Multi-stage builds
  • Smaller image sizes

Day 20 β€” Docker on AWS EC2

  • Install Docker on EC2
  • Pull your image
  • Run container on cloud

Day 21 β€” Docker Project

🎯 Complete: Dockerize full MERN app + run on EC2 + push image to Docker Hub


βœ… WEEK 4 β€” CI/CD (AWS CodePipeline or GitHub Actions)

Day 22 β€” CI/CD Basics

  • What is CI?
  • What is CD?
  • Build β†’ Test β†’ Deploy pipelines

Day 23 β€” GitHub Actions

Create .github/workflows/deploy.yml

Triggers on push:

name: Node CI
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest

Day 24 β€” Build Docker On GitHub Actions

  • Build
  • Tag
  • Push to Docker Hub
  • Or push to AWS ECR

Day 25 β€” AWS ECR

  • Create ECR repo
  • Push Docker images using GitHub Actions

Day 26 β€” Deploy to EC2 via CI/CD

  • SSH into EC2 from GitHub Actions
  • Pull new Docker image
  • Restart container

Day 27 β€” AWS CodePipeline

  • GitHub β†’ CodeBuild β†’ ECR β†’ ECS
  • Buildspec.yml

Day 28 β€” CI/CD Project

🎯 Complete: Fully automated CI/CD: On every push β†’ Build Docker β†’ Deploy to EC2


βœ… WEEK 5 β€” Terraform (Infra as Code)

Day 29 β€” Terraform Basics

  • Install Terraform
  • Providers
  • Resources
  • Variables

Day 30 β€” Create EC2 using Terraform

Create main.tf:

resource "aws_instance" "web" {
  ami           = "ami-12345"
  instance_type = "t2.micro"
}

Day 31 β€” Security Groups + IAM with Terraform

  • Create SG
  • Create IAM role
  • Outputs

Day 32 β€” Terraform Remote Backend

Use S3 + DynamoDB lock

Day 33 β€” Terraform Modules

Break infra into modules.

Day 34 β€” Full Infra

Build:

  • EC2
  • S3
  • VPC
  • IAM
  • Security groups

via one command:

terraform apply

Day 35 β€” Terraform Project

🎯 Complete: MERN app + EC2 + IAM + S3 fully created through Terraform


βœ… WEEK 6 β€” Monitoring, Scaling, Real Production

Day 36 β€” CloudWatch

  • Logs
  • Metrics
  • Alarms
  • SNS alerts (email & SMS)

Day 37 β€” Auto Scaling

  • Create launch template
  • Create ASG
  • Test scaling

Day 38 β€” Load Balancers

  • ALB
  • Target Groups
  • Health checks

Day 39 β€” Serverless

  • Lambda basics
  • Connect lambda to API Gateway

Day 40 β€” Final PRODUCTION Project

🎯 Deploy a Production-grade MERN App:

  • Docker
  • CI/CD
  • ECS or EC2
  • Terraform
  • Logging
  • Load Balancer
  • Auto Scaling
  • HTTPS + SSL
  • Monitoring

This is 100% real DevOps project.


πŸ”₯ If you want, I will also give you:

βœ” Complete DevOps Portfolio Projects (3 real projects)

βœ” GitHub Repo Structure for DevOps

βœ” Resume for DevOps Engineer

βœ” 100+ DevOps Interview Questions

βœ” All scripts (Dockerfile, Terraform, CI/CD YAML) ready-to-use

//////////////////////////////////////////////////////////////////////////////

Author

Built with ❀️ by Mithlesh Prasad.