<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Madhurima Rawat</title>
    <description>The latest articles on DEV Community by Madhurima Rawat (@madhurima_rawat).</description>
    <link>https://dev.to/madhurima_rawat</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2F49f4ff03-59aa-4dd5-80f1-2ec430ec102a.jpg</url>
      <title>DEV Community: Madhurima Rawat</title>
      <link>https://dev.to/madhurima_rawat</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/madhurima_rawat"/>
    <language>en</language>
    <item>
      <title>🚀 Project Ideas for GitHub AI, ML and Full Stack</title>
      <dc:creator>Madhurima Rawat</dc:creator>
      <pubDate>Fri, 27 Feb 2026 09:08:52 +0000</pubDate>
      <link>https://dev.to/madhurima_rawat/project-ideas-for-github-ai-ml-and-full-stack-489f</link>
      <guid>https://dev.to/madhurima_rawat/project-ideas-for-github-ai-ml-and-full-stack-489f</guid>
      <description>&lt;p&gt;Contains AI, ML and Full Stack projects with links and also unique ideas without GitHub references. You can pick from here, implement them in your own way, and then add your repository link here later.&lt;/p&gt;

&lt;p&gt;So first of all, the reason behind this gist. I thought about something we all have in common as developers, the constant struggle to find project ideas. So for that, I made this gist. It contains all my ideas for some cool, slightly crazy projects.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The goal of this is to solve one common developer problem: finding strong, creative and meaningful project ideas. Star it if you find it useful and feel free to add your ideas too. I would love to include more unique and slightly crazy ideas, and if you have a solid project with a repository and clean code, I will happily add that as well.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;First I will add unique project ideas. Then I will add projects with GitHub reference links.&lt;/p&gt;




&lt;h2&gt;
  
  
  📌 Navigation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🟣 Unique Full Stack&lt;/li&gt;
&lt;li&gt;🟢 Unique AI / ML&lt;/li&gt;
&lt;li&gt;🔵 Unique Full Stack + AI Combo&lt;/li&gt;
&lt;li&gt;📂 Projects With GitHub Links&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="unique-full-stack"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🟣 UNIQUE FULL STACK
&lt;/h2&gt;

&lt;p&gt;These are ideas I came up with myself. You can choose any of these and build them. They are unique, creative and can really stand out. If implemented nicely, you can even use them as placement projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Personal Pet Universe
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; A complete digital ecosystem to manage and gamify your pets' lives.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Feeding schedule + growth charts + personality traits + gamified leveling + login system&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Digital Memory Capsule Vault
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; A platform to send messages to your future self.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Time locked letters + mood tagging + timeline visualization&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Skill Evolution Tracker
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Track your coding and learning journey visually.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; DSA tracker + GitHub activity integration + analytics dashboard&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Alternate Reality Resume
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; A story based interactive resume experience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Story mode + achievement unlocks + recruiter preview mode&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Emotional Journal with Dynamic Themes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; A journaling platform that adapts visually to your emotions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Mood based themes + automatic color switching + emotional trend graphs&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  6. DIY Distraction Free Idea Hub
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; A distraction free DIY website that fetches simple and easy to build ideas from YouTube and allows users to play the URL directly inside the platform.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Curated beginner DIY bookmarks (DIY book holder + DIY desk organizer + calendar + birthday cards) + highlighted best videos + embedded video player + simple project size suggestion system + minimal no distraction UI&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  7. Meme Redemption Website
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; A website that shows trending memes from different months and years without storing images locally, dynamically loading them from external sources.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Monthly and yearly meme archive + live dynamic fetching + trending detection system + no image storage on server + real time updates&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  8. Barbie Theme Portfolio
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; A Barbie themed portfolio website where skills are displayed as a dressing table, projects as a closet, and education as pasted pictures.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Dressing table skill layout + closet styled project section + scrapbook style education section + aesthetic pink theme UI + animated transitions&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="unique-ai-ml"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🟢 UNIQUE AI / ML
&lt;/h2&gt;

&lt;h3&gt;
  
  
  6. Personality Predictor from Writing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Predict personality traits based on writing patterns.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; NLP + Text Classification&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Paragraph input + personality trait prediction&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  7. Text Based Lie Probability Detector
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Analyze linguistic cues to estimate deception probability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; NLP + Feature Engineering&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Pattern detection + probability score output&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  8. Dream Interpreter AI
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Classify psychological themes from dream descriptions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; NLP + Classification Models&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Theme tagging + emotional insight summary&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  9. AI Study Planner Optimizer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Smart timetable generator with burnout prediction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; ML + Optimization Algorithms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Exam timeline input + schedule generation + stress prediction&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  10. Behavior Pattern Analyzer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Predict productivity score from daily routine inputs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; ML + Data Modeling&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Routine analysis + improvement suggestions + scoring system&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  11. TraumaDump AI
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; An AI based emotional release platform where users can express trauma through text, image input, or handwriting, interacting with a calm monk or sage style illustration instead of a human.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; NLP + Computer Vision + Handwriting Analysis + Sentiment Analysis&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Text based emotional input + image upload for emotional context + handwriting analysis + monk style AI interaction interface + emotional tone detection + supportive coping suggestions + safe and private interaction system&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="unique-full-stack-ai-combo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔵 UNIQUE FULL STACK + AI COMBO
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. AI Pet Personality Analyzer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Predict pet behavior and health risks using AI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; Full Stack + ML Models&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Behavior prediction + training suggestions + analytics dashboard&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. AI Memory Reflection Platform
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Intelligent journaling with automated reflection insights.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; NLP + Full Stack&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Entry summarization + emotional trend detection + visualization&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Code Performance Analyzer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Analyze uploaded code and suggest optimizations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; Static Code Analysis + ML&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Complexity detection + performance suggestions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. AI Career Path Recommender
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Suggest career paths based on skills and interests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; ML + Recommendation Systems&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Role suggestions + skill gap analysis + roadmap generation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Social Media Reality Analyzer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Detect emotional and psychological patterns in posts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; NLP + Sentiment Analysis&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Toxic positivity detection + emotional tone analysis&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  6. AI Virtual Family House
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; A full stack + AI platform that allows users to create virtual family members with customizable appearance and predefined dialogues, designed especially for lonely people or hostelers to experience interactive companionship.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; Full Stack + NLP + Generative AI + Personalization Models&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Create and customize family member appearance + predefined and dynamic AI dialogues + interactive emotional conversations + trauma dump interaction mode + religion selection option + festival and celebration simulation based on selected religion + memory based conversation continuity&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⭐ Special Suggestion
&lt;/h2&gt;

&lt;p&gt;If you feel there are too many projects to choose from, you could try building the Pet Recommender. It’s an idea I’ve had for a long time and it has huge potential. It gives you space to explore creative UI and UX design, experiment with color palettes, and integrate AI or ML features in a meaningful way.&lt;/p&gt;

&lt;p&gt;It can become a very strong Full Stack plus AI combination project. In today’s GPT driven era, unique and slightly crazy ideas usually stand out more. That’s why I suggested this one.&lt;/p&gt;

&lt;p&gt;If you choose a project that already has a GitHub reference, make sure you add your own unique improvements. Build something clearly different from the original version so it truly reflects your skills and creativity.&lt;/p&gt;

&lt;p&gt;Best of luck with your project 😊&lt;/p&gt;




&lt;p&gt;&lt;a id="projects-with-github-links"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  📂 Projects With GitHub Links
&lt;/h2&gt;




&lt;h2&gt;
  
  
  🖥 Full Stack
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Personal Expense Tracker
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; A simple expense management system with visual analytics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; MERN / Django + React / Flask&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Add + edit + delete expenses + monthly summary + pie chart visualization&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/rahuldkjain/expense-tracker" rel="noopener noreferrer"&gt;https://github.com/rahuldkjain/expense-tracker&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Blog Website with Authentication
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; A blogging platform with user authentication and admin control.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; Node.js + Express + MongoDB / Django&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Login and signup + create and edit posts + admin panel&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/bezkoder/node-js-mongodb-auth-jwt" rel="noopener noreferrer"&gt;https://github.com/bezkoder/node-js-mongodb-auth-jwt&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Job Portal Website
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; A recruitment platform connecting recruiters and candidates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; MERN Stack&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Recruiter dashboard + resume upload + job search and filters&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/bradtraversy/proshop-v2" rel="noopener noreferrer"&gt;https://github.com/bradtraversy/proshop-v2&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Real Time Chat App
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; A live messaging system with real time communication.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; React + Node + Socket.io&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Private messaging + group chat + user status&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/socketio/chat-example" rel="noopener noreferrer"&gt;https://github.com/socketio/chat-example&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Production Level E commerce Platform
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; A scalable e commerce system with payment integration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; MERN + Stripe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Cart + payment gateway + admin analytics + order tracking&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/mayankshubham/MERN-Ecommerce" rel="noopener noreferrer"&gt;https://github.com/mayankshubham/MERN-Ecommerce&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  6. SaaS Project Management Tool
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; A collaborative Kanban style project management system.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Features:&lt;/strong&gt; Drag and drop boards + teams + deadlines + role based access&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/atulmy/crater" rel="noopener noreferrer"&gt;https://github.com/atulmy/crater&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤖 AI / ML
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Movie Recommendation System
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Content based recommendation engine for movies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; Python + Pandas + Scikit learn&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/nikhilkumarsingh/Movie-Recommender-System" rel="noopener noreferrer"&gt;https://github.com/nikhilkumarsingh/Movie-Recommender-System&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Spam Email Classifier
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Classifies emails as spam or not spam.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; NLP + Naive Bayes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/udacity/machine-learning" rel="noopener noreferrer"&gt;https://github.com/udacity/machine-learning&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Fake News Detection
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Detect fake vs real news using NLP models.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; TF IDF + Logistic Regression&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/GeorgeMcIntire/fake_real_news_dataset" rel="noopener noreferrer"&gt;https://github.com/GeorgeMcIntire/fake_real_news_dataset&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Image Classification CNN
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Deep learning image classification model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; TensorFlow or PyTorch&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/keras-team/keras-io" rel="noopener noreferrer"&gt;https://github.com/keras-team/keras-io&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Stock Price Prediction LSTM
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Time series forecasting using deep learning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; LSTM + Time Series&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/llSourcell/Stock_Market_Prediction" rel="noopener noreferrer"&gt;https://github.com/llSourcell/Stock_Market_Prediction&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  6. AI Resume Screening System
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Match resumes to job descriptions using similarity scoring.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; NLP + Cosine Similarity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/srbhr/Resume-Matcher" rel="noopener noreferrer"&gt;https://github.com/srbhr/Resume-Matcher&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  7. Sentiment Analysis Web App
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Web app that predicts sentiment from text.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; Flask + React + ML&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/llSourcell/sentiment_analysis" rel="noopener noreferrer"&gt;https://github.com/llSourcell/sentiment_analysis&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  8. AI Chatbot UI
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Frontend and backend chat system with AI interaction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/mckaywrigley/chatbot-ui" rel="noopener noreferrer"&gt;https://github.com/mckaywrigley/chatbot-ui&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  9. ML Model Playground Internship Project
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Description:&lt;/strong&gt; Interactive model training platform with metrics and graphs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech:&lt;/strong&gt; Streamlit + ML Models&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://github.com/madhurimarawat/ML-Model-Datasets-Using-Streamlits" rel="noopener noreferrer"&gt;https://github.com/madhurimarawat/ML-Model-Datasets-Using-Streamlits&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Final Note
&lt;/h2&gt;

&lt;p&gt;I had the idea of this for a long time as whenever I am free I keep thinking of projects I can make and how I can make them. So finally, I decided to &lt;strong&gt;create a gist&lt;/strong&gt; to keep all these ideas in one place: &lt;a href="https://gist.github.com/madhurimarawat/98294b842b05aaae00c82ac9335f1b9e" rel="noopener noreferrer"&gt;https://gist.github.com/madhurimarawat/98294b842b05aaae00c82ac9335f1b9e&lt;/a&gt; you can visit it anytime.&lt;/p&gt;

&lt;p&gt;The GitHub section is there so if you want to quickly see the code or are in a hurry, you can just fork the project, run it, and make changes.&lt;/p&gt;

&lt;p&gt;If you want to &lt;strong&gt;keep in touch or discuss more details about implementation or guidance on these ideas&lt;/strong&gt;, reach me at:&lt;br&gt;
💼 &lt;a href="https://www.linkedin.com/in/madhurima-rawat" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;br&gt;
📧 &lt;a href="mailto:rawatmadhurima4@gmail.com"&gt;Email&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Honestly, it took me a lot of time to format and write all this, so &lt;strong&gt;do star if you like it&lt;/strong&gt;. I made this gist public so that more people can benefit from it.&lt;/p&gt;

&lt;p&gt;Build something you are proud of.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Consistency &amp;gt; Complexity.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now go build something crazy good 😊&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;Bonus:&lt;/strong&gt; If you have any crazy idea or a good project, &lt;strong&gt;drop it in the comments below&lt;/strong&gt;, I would love to see it and maybe include it in the gist!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>sideprojects</category>
      <category>programming</category>
    </item>
    <item>
      <title>💡 Stand Out: Creative Portfolio Concepts for Developers 🎨</title>
      <dc:creator>Madhurima Rawat</dc:creator>
      <pubDate>Mon, 21 Jul 2025 04:48:00 +0000</pubDate>
      <link>https://dev.to/madhurima_rawat/stand-out-creative-portfolio-concepts-for-developers-b6g</link>
      <guid>https://dev.to/madhurima_rawat/stand-out-creative-portfolio-concepts-for-developers-b6g</guid>
      <description>&lt;p&gt;Hi everyone, 👋&lt;/p&gt;

&lt;p&gt;I’ve been brainstorming some fun and meaningful ways to design a portfolio that really &lt;em&gt;feels like you&lt;/em&gt;. If you want something more personal, visual, and story-driven than a standard template, this post is for you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About the Cover Image:&lt;/strong&gt;&lt;br&gt;
The illustration represents the journey of building a portfolio. It starts with a variety of ideas 🎨💡 (represented by the palette and bulb icons), followed by the development phase ⚙️ (gear icon, technologies, and tools). Then comes the identity card icon, symbolizing our digital identity. The network icon shows how a strong portfolio can attract professional connections, and the final two people talking represent collaboration and meaningful interaction 🤝.&lt;/p&gt;

&lt;p&gt;Take a look at these portfolio ideas I love, complete with color suggestions, layout tips, and online tools to help you bring them to life.&lt;/p&gt;


&lt;h3&gt;
  
  
  📚 Table of Contents
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Theme&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;🌤️ Seasons Dynamic&lt;/td&gt;
&lt;td&gt;Portfolio theme changes with the seasons&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🏠 House Layout&lt;/td&gt;
&lt;td&gt;Each room = a portfolio section&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🗺️ Roadmap&lt;/td&gt;
&lt;td&gt;Your learning journey in map style&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🎬 Story Format&lt;/td&gt;
&lt;td&gt;A cinematic storytelling experience&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🔣 Icon-Based&lt;/td&gt;
&lt;td&gt;Minimalist and icon-focused&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🛒 Smart Mart&lt;/td&gt;
&lt;td&gt;Store-themed skill showcase&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;📊 Wordcloud Skills&lt;/td&gt;
&lt;td&gt;Wordcloud with skill percentage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🤖 Chatbot Portfolio&lt;/td&gt;
&lt;td&gt;Chatbot that knows your portfolio&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;📖 Book Format&lt;/td&gt;
&lt;td&gt;Chapters and bookmarks for each section&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;👗 Wardrobe Layout&lt;/td&gt;
&lt;td&gt;Skills = outfits and styles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🌱 Ecosystem Design&lt;/td&gt;
&lt;td&gt;Food web of your skillset&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🌌 Solar System Theme&lt;/td&gt;
&lt;td&gt;Planets and moons as skills&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;h3&gt;
  
  
  🌤️ Seasons Dynamic
&lt;/h3&gt;

&lt;p&gt;Let your site shift colors or themes depending on the current season. It keeps your portfolio fresh and interesting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Suggested Colors&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spring: &lt;code&gt;#b2f2bb&lt;/code&gt;, &lt;code&gt;#f0fff4&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Summer: &lt;code&gt;#ffe066&lt;/code&gt;, &lt;code&gt;#ff8787&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Monsoon: &lt;code&gt;#4dabf7&lt;/code&gt;, &lt;code&gt;#d0ebff&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Winter: &lt;code&gt;#dee2e6&lt;/code&gt;, &lt;code&gt;#adb5bd&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tools &amp;amp; Resources&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JS Date object + CSS classes&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://coolors.co/" rel="noopener noreferrer"&gt;Coolors.co&lt;/a&gt; for seasonal palettes&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties" rel="noopener noreferrer"&gt;CSS Variables&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resources: &lt;br&gt;
I’ve added seasonal themes to my own portfolio. Just go to the Theme section and try the dropdown to explore each look.&lt;br&gt;
If you liked this idea, feel free to use the color styles or design concepts in your own portfolio.&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://madhurimarawat.github.io/Portfolio-Website/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fuser-attachments%2Fassets%2Fd3e225c3-9dd0-4685-af2b-079c9f4d8838" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://madhurimarawat.github.io/Portfolio-Website/" rel="noopener noreferrer" class="c-link"&gt;
            Portfolio Website
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Explore my personal portfolio, showcasing education, skills, projects, and achievements.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmadhurimarawat.github.io%2FPortfolio-Website%2Fimages%2FTitle%2520Logo.png"&gt;
          madhurimarawat.github.io
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;





&lt;h3&gt;
  
  
  🏠 House Layout
&lt;/h3&gt;

&lt;p&gt;Each room is a section: Projects in the study, About Me in the living room, Skills in the workshop.&lt;br&gt;
Great for storytelling with a floorplan feel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ideas&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a map-style homepage&lt;/li&gt;
&lt;li&gt;Hover to zoom into each room&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Inspiration&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://storymap.knightlab.com/" rel="noopener noreferrer"&gt;StoryMapJS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use SVG + tooltips for interaction&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🗺️ Roadmap
&lt;/h3&gt;

&lt;p&gt;Your tech journey shown as a path or roadmap — from where you started to your future goals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Design Tips&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vertical scroll timeline or curved roadmap&lt;/li&gt;
&lt;li&gt;Mark milestones with icons&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tools&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://timeline.knightlab.com/" rel="noopener noreferrer"&gt;TimelineJS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Canva or Figma for custom SVG design&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🎬 Story Format
&lt;/h3&gt;

&lt;p&gt;Turn your dev journey into a story. Chapters for each year, goal, or challenge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sections&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Act I: Learning Phase&lt;/li&gt;
&lt;li&gt;Act II: Building Projects&lt;/li&gt;
&lt;li&gt;Act III: Real-world Experience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Use&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scroll effects (e.g., &lt;a href="https://michalsnik.github.io/aos/" rel="noopener noreferrer"&gt;AOS&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Typewriter animations&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🔣 Icon Based Layout
&lt;/h3&gt;

&lt;p&gt;Minimal text, icon-heavy. One icon = one skill/project/tool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fonts &amp;amp; Icons&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://fontawesome.com/" rel="noopener noreferrer"&gt;Font Awesome&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://heroicons.com/" rel="noopener noreferrer"&gt;Heroicons&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use tooltips to describe icons&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Design Color Scheme&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Background: &lt;code&gt;#f8f9fa&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Icons: &lt;code&gt;#495057&lt;/code&gt;, &lt;code&gt;#6c757d&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🛒 Smart Mart Style
&lt;/h3&gt;

&lt;p&gt;Think digital mart where each section is a skill category or tech aisle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sections&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Aisle 1: Frontend Tools&lt;/li&gt;
&lt;li&gt;Aisle 2: Backend&lt;/li&gt;
&lt;li&gt;Aisle 3: Projects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Design Tools&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CSS Grid&lt;/li&gt;
&lt;li&gt;Store-style UI: &lt;a href="https://uibakery.io/" rel="noopener noreferrer"&gt;UI Bakery&lt;/a&gt;, &lt;a href="https://squoosh.app/" rel="noopener noreferrer"&gt;Squoosh-inspired layouts&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  📊 Wordcloud Skills
&lt;/h3&gt;

&lt;p&gt;Showcase tech stack with a wordcloud, size reflects confidence or usage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tools&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://wordart.com/" rel="noopener noreferrer"&gt;WordArt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jasondavies/d3-cloud" rel="noopener noreferrer"&gt;d3-cloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Style by years of experience&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🤖 Personalized Chatbot
&lt;/h3&gt;

&lt;p&gt;Build a chatbot that introduces your work, answers FAQs, and links to your resume/projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tools to Try&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.tidio.com/" rel="noopener noreferrer"&gt;Tidio&lt;/a&gt; or &lt;a href="https://botpress.com/" rel="noopener noreferrer"&gt;BotPress&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Custom JS chatbot with hardcoded answers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tip&lt;/strong&gt;&lt;br&gt;
Add buttons for “Show Resume,” “Explore Projects,” etc.&lt;/p&gt;


&lt;h3&gt;
  
  
  📖 Book Style Layout
&lt;/h3&gt;

&lt;p&gt;Turn your portfolio into a digital book. Flip pages or click tabs to explore sections.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tools&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.turnjs.com/" rel="noopener noreferrer"&gt;turn.js&lt;/a&gt; for page-flip effects&lt;/li&gt;
&lt;li&gt;Book-style font: &lt;code&gt;Georgia&lt;/code&gt;, &lt;code&gt;Libre Baskerville&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  👗 Wardrobe Layout
&lt;/h3&gt;

&lt;p&gt;Your skills as wardrobe elements. Choose an "outfit" to see your tech stack mix.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Visuals&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Categories like “Frontend Fit”, “Fullstack Casual”&lt;/li&gt;
&lt;li&gt;Clothes rack layout with hover cards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Fun Addition&lt;/strong&gt;&lt;br&gt;
Include personal flair — your “style” in code or design.&lt;/p&gt;


&lt;h3&gt;
  
  
  🌱 Ecosystem Portfolio
&lt;/h3&gt;

&lt;p&gt;Imagine your skillset as an ecosystem — like a food web. Frontend depends on design, backend powers logic, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Design Ideas&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connect skills using arrows or branches&lt;/li&gt;
&lt;li&gt;Use circular node maps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tools&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://js.cytoscape.org/" rel="noopener noreferrer"&gt;Cytoscape.js&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://viz-js.com/" rel="noopener noreferrer"&gt;Graphviz Visualizer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  🌌 Solar System Theme
&lt;/h3&gt;

&lt;p&gt;Planets represent skills, moons for tools or projects. Sun = your core expertise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Colors&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Background: &lt;code&gt;#0b0c10&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Planets: gradient or soft neons&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Inspiration&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://threejs.org/" rel="noopener noreferrer"&gt;Three.js&lt;/a&gt; for 3D view&lt;/li&gt;
&lt;li&gt;&lt;a href="https://codepen.io/ste-vg/pen/LYGpQXE" rel="noopener noreferrer"&gt;Solar system CSS demo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resources: &lt;br&gt;
I've created an animated solar system that you can explore for design inspiration. If you're choosing this theme, feel free to reuse or adapt some of the CSS styles and animations.&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://madhurimarawat.github.io/Animated-Solar-System/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fmadhurimarawat%2FAnimated-Solar-System%2Fraw%2Fmain%2Fsnapshots%2Fpreview.png" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://madhurimarawat.github.io/Animated-Solar-System/" rel="noopener noreferrer" class="c-link"&gt;
            Solar System
          &lt;/a&gt;
        &lt;/h2&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fo.quizlet.com%2F14M5G9A3lUhYyqaoJsLJwA_b.png"&gt;
          madhurimarawat.github.io
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;





&lt;h3&gt;
  
  
  ✨ Wrapping Up
&lt;/h3&gt;

&lt;p&gt;These ideas are just a starting point. You can mix and match, maybe a wardrobe-themed portfolio that changes with seasons, or a book-style layout with a chatbot guide. Your portfolio should be more than a template. Let it reflect your creativity, growth, and story.&lt;/p&gt;

&lt;p&gt;Build something that's &lt;em&gt;uniquely you&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;If you try any of these or have more cool ideas, I’d love to see them! Drop a link or thought in the comments below 🌟&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>portfolio</category>
      <category>programming</category>
      <category>discuss</category>
    </item>
    <item>
      <title>🧰 Developer Resources Hub: Essential Tools and Tech in One Place 📚</title>
      <dc:creator>Madhurima Rawat</dc:creator>
      <pubDate>Wed, 16 Jul 2025 07:26:17 +0000</pubDate>
      <link>https://dev.to/madhurima_rawat/developer-resources-hub-essential-tools-and-tech-in-one-place-4amn</link>
      <guid>https://dev.to/madhurima_rawat/developer-resources-hub-essential-tools-and-tech-in-one-place-4amn</guid>
      <description>&lt;p&gt;&lt;strong&gt;🚀 Introducing Developer Resources Hub&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hey everyone! I hope your code is running smooth like butter 🧈. It's been a while since I posted, so first of all, a big hello to you all 👋&lt;/p&gt;

&lt;p&gt;Today I'm excited to share my latest GitHub repo with you:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/madhurimarawat" rel="noopener noreferrer"&gt;
        madhurimarawat
      &lt;/a&gt; / &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub" rel="noopener noreferrer"&gt;
        Developer-Resources-Hub
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A comprehensive collection of valuable resources for developers, covering job preparation, programming, frontend, backend, IoT, databases, and more.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Developer-Resources-Hub&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A comprehensive collection of valuable resources for developers, covering job preparation, programming, frontend, backend, IoT, databases, and more.&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fmadhurimarawat%2FDeveloper-Resources-Hub%2Fraw%2Fmain%2Fimages%2Fdevelopers_resources_hub_illustration.PNG"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fmadhurimarawat%2FDeveloper-Resources-Hub%2Fraw%2Fmain%2Fimages%2Fdevelopers_resources_hub_illustration_dark.PNG"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/stargazers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/c669b0b880064327fcc041ff0d1200f549c60597a9980eaee32502139fca8172/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d6164687572696d6172617761742f446576656c6f7065722d5265736f75726365732d4875623f7374796c653d666c61742d73717561726526636f6c6f723d666662366331" alt="GitHub Stars"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/network/members" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/d6fac7b63379dc89855a7151935746f58e2e9db9fa383f771137e2b3bcc1192c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6d6164687572696d6172617761742f446576656c6f7065722d5265736f75726365732d4875623f7374796c653d666c61742d73717561726526636f6c6f723d623065306536" alt="GitHub Forks"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/633fecddb62d811f283ac091e783dc6a9db8d3ebc1e75665be34b0967139784a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7265706f2d73697a652f6d6164687572696d6172617761742f446576656c6f7065722d5265736f75726365732d4875623f7374796c653d666c61742d73717561726526636f6c6f723d646461306464" alt="Repo Size"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/blob/main/LICENSE" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/82d811e63154036f85cff005fb0a6fd941c08999c5b8698b347d9e6049b9ff6d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6164687572696d6172617761742f446576656c6f7065722d5265736f75726365732d4875623f7374796c653d666c61742d73717561726526636f6c6f723d663065363863" alt="License"&gt;
  &lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/61cb427087a487126585f19c89cece98b9de9997b6a750ff8791bacd932ae672/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d616465253230776974682d2545322539442541342d6c6967687470696e6b3f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/61cb427087a487126585f19c89cece98b9de9997b6a750ff8791bacd932ae672/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d616465253230776974682d2545322539442541342d6c6967687470696e6b3f7374796c653d666c61742d737175617265" alt="Made with Love"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/bd553c5c938e772c6859c0a492e079cae67a8ccde889c032bafc4db5d1578924/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f546f706963732d34302532422d6c69676874626c75653f7374796c653d666c61742d737175617265"&gt;&lt;img src="https://camo.githubusercontent.com/bd553c5c938e772c6859c0a492e079cae67a8ccde889c032bafc4db5d1578924/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f546f706963732d34302532422d6c69676874626c75653f7374796c653d666c61742d737175617265" alt="Topics Covered"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developer Resources Hub&lt;/strong&gt; brings together well-structured guides, tutorials, and reference materials across key domains in software development:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💼 &lt;strong&gt;Job Preparation&lt;/strong&gt; – Interview questions, coding challenges, and career-building resources&lt;/li&gt;
&lt;li&gt;💻 &lt;strong&gt;Programming&lt;/strong&gt; – Language-specific tips, examples, and foundational concepts&lt;/li&gt;
&lt;li&gt;🌐 &lt;strong&gt;Frontend &amp;amp; Backend Development&lt;/strong&gt; – Framework insights, tooling, and practical workflows&lt;/li&gt;
&lt;li&gt;📡 &lt;strong&gt;IoT (Internet of Things)&lt;/strong&gt; – Architectures, protocols, and application-level references&lt;/li&gt;
&lt;li&gt;🗄️ &lt;strong&gt;Databases&lt;/strong&gt; – SQL/NoSQL fundamentals, query optimization, and schema design&lt;/li&gt;
&lt;/ul&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;📌 Table of Contents&lt;/h2&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#useful-links" rel="noopener noreferrer"&gt;🔗 Useful Links&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#recommended-apps" rel="noopener noreferrer"&gt;📱 Notes and To-do Lists&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#free-courses" rel="noopener noreferrer"&gt;📚 Free Courses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#books-and-references" rel="noopener noreferrer"&gt;📘 Books &amp;amp; References&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#ai-ml-ds-resources" rel="noopener noreferrer"&gt;🧠 AI / ML / DS Resources&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#github-repositories" rel="noopener noreferrer"&gt;📂 GitHub Repositories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#pdf-files" rel="noopener noreferrer"&gt;📄 PDF Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#ai-links" rel="noopener noreferrer"&gt;🔗 AI / ML / DS Reference Links&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#notebooklm" rel="noopener noreferrer"&gt;📓 NotebookLM&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#ai-art-tools" rel="noopener noreferrer"&gt;🎨 AI Art Tools&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#app-links" rel="noopener noreferrer"&gt;📲 App Links&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#aptitude--logical-reasoning" rel="noopener noreferrer"&gt;🧠 Aptitude &amp;amp; Logical Reasoning&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#blockchain" rel="noopener noreferrer"&gt;⛓️ Blockchain&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#coding-questions" rel="noopener noreferrer"&gt;📘 Coding Questions&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;

&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub#css-formatter" rel="noopener noreferrer"&gt;🎨 CSS&lt;/a&gt;…&lt;/li&gt;

&lt;/ul&gt;
&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/madhurimarawat/Developer-Resources-Hub" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;It's a one-stop place for developers. Whether you're just starting out or already building cool stuff, this collection brings together useful resources on job prep, programming, frontend, backend, databases, AI/ML, IoT, and a lot more.&lt;/p&gt;

&lt;p&gt;All current resources are listed here, and new ones are added continuously.&lt;/p&gt;




&lt;p&gt;&lt;a id="table-of-contents"&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;h2&gt;
  
  
  📌 Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
🔗 Useful Links
&lt;/li&gt;
&lt;li&gt;
📱 Notes and To-do Lists
&lt;/li&gt;
&lt;li&gt;
📚 Free Courses
&lt;/li&gt;
&lt;li&gt;
📘 Books &amp;amp; References
&lt;/li&gt;
&lt;li&gt;
🧠 AI / ML / DS Resources

&lt;ul&gt;
&lt;li&gt;
📂 GitHub Repositories
&lt;/li&gt;
&lt;li&gt;
📄 PDF Files
&lt;/li&gt;
&lt;li&gt;
🔗 AI / ML / DS Reference Links &lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;🎨 AI Art Tools&lt;/li&gt;

&lt;li&gt;📲 App Links&lt;/li&gt;

&lt;li&gt;🧠 Aptitude &amp;amp; Logical Reasoning&lt;/li&gt;

&lt;li&gt;⛓️ Blockchain&lt;/li&gt;

&lt;li&gt;📘 Coding Questions&lt;/li&gt;

&lt;li&gt;🎨 CSS Formatter&lt;/li&gt;

&lt;li&gt;🤖 Custom GPTs&lt;/li&gt;

&lt;li&gt;

🗄️ Databases

&lt;ul&gt;
&lt;li&gt;🔗 General Links&lt;/li&gt;
&lt;li&gt;🐬 MariaDB&lt;/li&gt;
&lt;li&gt;🍃 MongoDB&lt;/li&gt;
&lt;li&gt;🧮 MySQL&lt;/li&gt;
&lt;li&gt;🧾 Oracle&lt;/li&gt;
&lt;li&gt;📊 DS Resources&lt;/li&gt;
&lt;li&gt;🧑‍💻 Full Stack Development&lt;/li&gt;
&lt;li&gt;🛠️ Backend&lt;/li&gt;
&lt;li&gt;🎨 Frontend&lt;/li&gt;
&lt;li&gt;📚 Books&lt;/li&gt;
&lt;li&gt;📓 Notes&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;🧾 Graphic Designing&lt;/li&gt;

&lt;li&gt;📡 IoT Resources&lt;/li&gt;

&lt;li&gt;🐧 Linux Guides&lt;/li&gt;

&lt;li&gt;🧠 LLM (Large Language Models)&lt;/li&gt;

&lt;li&gt;📊 Power BI&lt;/li&gt;

&lt;li&gt;🧩 Go Programming&lt;/li&gt;

&lt;li&gt;📱 Kotlin Programming&lt;/li&gt;

&lt;li&gt;🐍 Python Programming&lt;/li&gt;

&lt;li&gt;🦀 Rust Programming&lt;/li&gt;

&lt;li&gt;🌐 Study Resources&lt;/li&gt;

&lt;li&gt;📊 SAS Programming&lt;/li&gt;

&lt;li&gt;🧾 HTML to PDF Conversion&lt;/li&gt;

&lt;/ul&gt;




&lt;p&gt;&lt;a id="useful-links"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔗 Useful Links
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🌐 Online Presence
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Boost your visibility and career growth with these essential resources:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;🧑‍💼 &lt;a href="https://www.msn.com/en-in/entertainment/hollywood/mastering-linkedin-tips-for-building-your-profile-and-networking/ss-BB1muOwj" rel="noopener noreferrer"&gt;Mastering LinkedIn – Tips for Building Your Profile and Networking&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Learn how to optimize your LinkedIn profile and expand your professional network.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;📝 &lt;a href="https://www.cnbc.com/2025/06/22/how-a-brag-doc-can-help-you-ace-interviews-and-land-a-job-says-recruiter.html" rel="noopener noreferrer"&gt;Brag Document – Ace Interviews and Land a Job&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Use a brag document to track accomplishments and boost your interview confidence.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ✍️ Blogging Platforms
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Write articles, share ideas, and grow your developer presence online:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;📰 &lt;a href="https://dev.to/"&gt;Dev.to&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;A friendly community of devs writing about code, careers, and life.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;✒️ &lt;a href="https://medium.com/" rel="noopener noreferrer"&gt;Medium&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;A global platform for sharing tech blogs, tutorials, and opinions.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;🚀 &lt;a href="https://hashnode.com/" rel="noopener noreferrer"&gt;Hashnode&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Start your own dev blog on a custom domain with no setup hassle.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;📘 &lt;a href="https://substack.com/" rel="noopener noreferrer"&gt;Substack&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Publish articles or newsletters and build your audience with ease.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;📖 &lt;a href="https://tealfeed.com/" rel="noopener noreferrer"&gt;Tealfeed&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Discover and write insightful content around tech, startups, and growth.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;🧵 &lt;a href="https://bearblog.dev/" rel="noopener noreferrer"&gt;Bear Blog&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;A minimalist, privacy-focused blogging platform for developers.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📄 PDF Tools
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Convert, scan, and edit PDFs with these handy tools:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;✂️ &lt;a href="https://smallpdf.com/crop-pdf#r=crop-pages" rel="noopener noreferrer"&gt;Smallpdf – Crop Tool&lt;/a&gt;&lt;/strong&gt;
&lt;em&gt;Crop and resize PDF pages online — quick and user-friendly.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📣 &lt;strong&gt;Learning &amp;amp; Community Updates&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://whatsapp.com/channel/0029Vb6ISO1Fsn0kEemhE03b" rel="noopener noreferrer"&gt;Prompt Engineering &amp;amp; Tech Updates WhatsApp Channel&lt;/a&gt;
&lt;em&gt;Stay updated with the latest in prompt engineering, AI tools, and tech trends.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  💼 &lt;strong&gt;Selling Projects &amp;amp; Digital Products&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;🛒 &lt;a href="https://gumroad.com/" rel="noopener noreferrer"&gt;Gumroad&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;A professional platform that empowers creators to monetize their knowledge and digital products, whether it’s code, design assets, or eBooks.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Just start with what you know, share it with the world, and get paid. Simple and effective.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;🚀 &lt;a href="https://www.producthunt.com/" rel="noopener noreferrer"&gt;Product Hunt&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;A launch platform for makers to showcase their products and gain traction from a tech-savvy audience.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Perfect for getting feedback, early users, and visibility for your digital creations.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ⚙️ Utility
&lt;/h3&gt;

&lt;h4&gt;
  
  
  🎓 Learning Apps
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;📚 &lt;a href="https://play.google.com/store/apps/details?id=com.myEdcoupon.freecourses" rel="noopener noreferrer"&gt;Edcoupon – Free Udemy Courses&lt;/a&gt;&lt;/strong&gt;
&lt;em&gt;Get access to daily updated free Udemy courses in tech, business, design, and more.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  ✍️ Signature Tools
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🖋️ &lt;a href="https://play.google.com/store/apps/details?id=com.scan.name_signature" rel="noopener noreferrer"&gt;Signature Scanner&lt;/a&gt;&lt;/strong&gt;
&lt;em&gt;Scan, create, and digitize your handwritten signature with ease.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  🎬 Video Tools
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;🎞️ &lt;a href="https://play.google.com/store/apps/details?id=allcut.allinone.videoeditor" rel="noopener noreferrer"&gt;AllCut – All-in-One Video Editor&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Edit videos, apply effects, cut, merge, and more — all from one app.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;📹 &lt;a href="https://play.google.com/store/apps/details?id=com.videoeditor.reducesizevideo.videocompressor" rel="noopener noreferrer"&gt;Video Compressor &amp;amp; Editor&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Compress video size without losing quality and edit videos on the go.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  🎨 Image Tools
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🧼 &lt;a href="https://www.remove.bg/upload" rel="noopener noreferrer"&gt;Remove.bg – Background Remover&lt;/a&gt;&lt;/strong&gt;
&lt;em&gt;Remove image backgrounds instantly using AI.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  📥 Download Tools
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;⬇️ &lt;a href="https://www.download4.cc/youtube-video-downloader.html" rel="noopener noreferrer"&gt;Download4.cc – YouTube Video Downloader&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Download YouTube videos quickly and easily without installing software.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;🎧 &lt;a href="https://en.savefrom.net/387/" rel="noopener noreferrer"&gt;SaveFrom.net – YT Downloader&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Another fast and simple option to download YouTube content.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="recommended-apps"&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  📱 Notes and To-do Lists
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;✅ &lt;a href="https://play.google.com/store/apps/details?id=todolist.scheduleplanner.dailyplanner.todo.reminders&amp;amp;referrer=utm_source%3Duser_share" rel="noopener noreferrer"&gt;To-do List – Daily Planner: Android&lt;/a&gt; | &lt;a href="https://apps.apple.com/app/apple-store/id1640609657?pt=123351739&amp;amp;ct=andrshare&amp;amp;mt=8" rel="noopener noreferrer"&gt;iOS&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;A clean and simple task scheduler and planner for daily productivity.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🗒️ &lt;a href="https://bit.ly/EasyNotesApp" rel="noopener noreferrer"&gt;EasyNotes – Notes &amp;amp; Reminders: Android&lt;/a&gt; | &lt;a href="https://bit.ly/EasyNotesiOSApp" rel="noopener noreferrer"&gt;iOS&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Colorful notepad for text and photo notes.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🐱 &lt;a href="https://play.google.com/store/apps/details?id=com.glgjing.money.task.todo.list.meow" rel="noopener noreferrer"&gt;Meow To-do List (Android)&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;A fun and quirky task manager app.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🧠 &lt;a href="https://play.google.com/store/apps/details?id=mindnotes.note.notepad.notebook.memo.stickynotes&amp;amp;referrer=utm_source%3Duser_share" rel="noopener noreferrer"&gt;Mind Notes – Smart Notepad (Android)&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;A visually appealing app for managing sticky notes and tasks.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🗃️ &lt;a href="https://play.google.com/store/apps/details?id=com.ichi2.anki" rel="noopener noreferrer"&gt;Anki Flashcards: Android&lt;/a&gt; | &lt;a href="https://apps.apple.com/app/ankimobile-flashcards/id373493387" rel="noopener noreferrer"&gt;iOS&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;A powerful, spaced-repetition flashcard app ideal for long-term learning and memory retention.&lt;/em&gt;*&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="free-courses"&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  📚 Free Courses
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;🎓 &lt;a href="https://lms.simplilearn.com/dashboard" rel="noopener noreferrer"&gt;Simplilearn Dashboard&lt;/a&gt; – &lt;em&gt;Access your free courses and certifications.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;📘 &lt;a href="https://alison.com/" rel="noopener noreferrer"&gt;Alison&lt;/a&gt; – &lt;em&gt;Explore free online diploma and certificate courses.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;💡 &lt;a href="https://www.coursera.org" rel="noopener noreferrer"&gt;Coursera&lt;/a&gt; – &lt;em&gt;University-level courses from top institutions.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;🧑‍🏫 &lt;a href="https://www.udemy.com" rel="noopener noreferrer"&gt;Udemy&lt;/a&gt; – &lt;em&gt;Thousands of affordable courses in tech and more.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;🌐 &lt;a href="https://www.simplilearn.com/" rel="noopener noreferrer"&gt;Simplilearn&lt;/a&gt; – &lt;em&gt;Professional certificate programs and bootcamps.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="books-and-references"&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  📘 Books &amp;amp; References
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📖 &lt;a href="https://www.pdfdrive.to/" rel="noopener noreferrer"&gt;PDFDrive&lt;/a&gt; – &lt;em&gt;Free downloadable eBooks in various domains.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;🌊 &lt;a href="https://theoceanofpdf.com/" rel="noopener noreferrer"&gt;OceanOfPDF&lt;/a&gt; – &lt;em&gt;Library of novels, textbooks, and learning PDFs.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;🎯 &lt;a href="https://goalkicker.com/" rel="noopener noreferrer"&gt;GoalKicker&lt;/a&gt; – &lt;em&gt;Free programming books with detailed guides.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="ai-ml-ds-resources"&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 AI / ML / DS Resources
&lt;/h2&gt;

&lt;p&gt;&lt;a id="github-repositories"&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  📂 GitHub Repositories
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📊 &lt;a href="https://github.com/TheAlgorithms/Python" rel="noopener noreferrer"&gt;TheAlgorithms/Python&lt;/a&gt; – &lt;em&gt;Collection of algorithms implemented in Python.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;🏗️ &lt;a href="https://github.com/donnemartin/system-design-primer" rel="noopener noreferrer"&gt;System Design Primer&lt;/a&gt; – &lt;em&gt;Learn system design with real-world use cases.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/soulmachine/machine-learning-cheat-sheet" rel="noopener noreferrer"&gt;Machine Learning Cheat Sheet&lt;/a&gt; – &lt;em&gt;Quick ML concepts and formulas.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;💯 &lt;a href="https://github.com/Avik-Jain/100-Days-Of-ML-Code" rel="noopener noreferrer"&gt;100 Days of ML Code&lt;/a&gt; – &lt;em&gt;A step-by-step roadmap to learning ML.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;🎯 &lt;a href="https://github.com/khangich/machine-learning-interview" rel="noopener noreferrer"&gt;ML Interview Questions&lt;/a&gt; – &lt;em&gt;Comprehensive ML interview prep.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;📚 &lt;a href="https://btech-notes.rgpvnotes.in/?m=1#home" rel="noopener noreferrer"&gt;RGPV BTech Notes&lt;/a&gt; – &lt;em&gt;Engineering study notes and references.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="pdf-files"&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  📄 PDF Files
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;These PDFs are located in the &lt;code&gt;AI ML DS/AI ML DS/&lt;/code&gt; folder.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/AI%20ML%20DS/AI%20ML%20DS.pdf" rel="noopener noreferrer"&gt;AI ML DS.pdf&lt;/a&gt; – &lt;em&gt;Overview of AI, ML, and Data Science fields.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/AI%20ML%20DS/AI%20Vs%20ML%20Vs%20DS%20FOR%20INDUSTRY.pdf" rel="noopener noreferrer"&gt;AI Vs ML Vs DS FOR INDUSTRY.pdf&lt;/a&gt; – &lt;em&gt;Comparison of AI, ML, and DS in practical applications.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="//AI%20ML%20DS/Data%20Science%20Interview.pdf"&gt;Data Science Interview.pdf&lt;/a&gt; – &lt;em&gt;Key questions and answers for DS job interviews.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/AI%20ML%20DS/Difference%20Between%20DS%20AI%20AND%20DL.pdf" rel="noopener noreferrer"&gt;Difference Between DS AI AND DL.pdf&lt;/a&gt; – &lt;em&gt;Distinguishes Data Science, AI, and Deep Learning.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/AI%20ML%20DS/Difference%20Between%20DS%20AI%20AND%20ML.pdf" rel="noopener noreferrer"&gt;Difference Between DS AI AND ML.pdf&lt;/a&gt; – &lt;em&gt;Clarifies the overlap and differences among fields.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/AI%20ML%20DS/Difference%20Between%20DS%20AI%20AND%20ML-2.pdf" rel="noopener noreferrer"&gt;Difference Between DS AI AND ML-2.pdf&lt;/a&gt; – &lt;em&gt;Extended explanation of ML, DS, and AI relationships.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="ai-links"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔗 AI / ML / DS Reference Links
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;These web links provide additional insights and articles related to AI, ML, DL, and Data Science.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;🧠 &lt;a href="https://braincube.com/resource/manufacturing-ai-vs-machine-learning-vs-data-science/#:~:text=Data%20Science%20involves%20analysis%2C%20visualization,and%20makes%20use%20of%20algorithms" rel="noopener noreferrer"&gt;AI Vs ML Vs DS FOR INDUSTRY – Braincube&lt;/a&gt;&lt;br&gt;
&lt;em&gt;A comprehensive guide comparing AI, ML, and Data Science in the manufacturing industry.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🧩 &lt;a href="https://www.geeksforgeeks.org/difference-between-artificial-intelligence-vs-machine-learning-vs-deep-learning/" rel="noopener noreferrer"&gt;Difference Between AI, ML, and DL – GeeksforGeeks&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Breakdown of how Artificial Intelligence, Machine Learning, and Deep Learning differ.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📘 &lt;a href="https://www.mygreatlearning.com/blog/difference-data-science-machine-learning-ai/#:~:text=Artificial%20Intelligence%20uses%20logic%20and,are%20popular%20applications%20of%20AI" rel="noopener noreferrer"&gt;Difference Between DS, AI and ML – MyGreatLearning&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Explains how Data Science, AI, and ML intersect and diverge.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🧪 &lt;a href="https://csweb.rice.edu/academics/graduate-programs/online-mds/blog/data-science-vs-ai-and-ml" rel="noopener noreferrer"&gt;DS vs AI vs ML – Rice University&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Insights from Rice University into the distinctions between these fields.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="ai-art-tools"&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;h2&gt;
  
  
  🎨 AI Art Tools
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🎨 &lt;a href="https://www.bing.com/create" rel="noopener noreferrer"&gt;Bing Image Creator&lt;/a&gt; – &lt;em&gt;Generate AI images from text prompts using DALL·E.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;🧠 &lt;a href="https://midjourney.com/" rel="noopener noreferrer"&gt;Midjourney&lt;/a&gt; – &lt;em&gt;Advanced AI art generation via Discord-based workflow.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="app-links"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  📲 App Links
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🛠️ Dev Apps
&lt;/h3&gt;

&lt;p&gt;Stay connected, explore resources, and boost productivity with these mobile apps made for developers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;📚 &lt;a href="https://play.google.com/store/apps/details?id=com.ivansaul.cheatsheets" rel="noopener noreferrer"&gt;Cheat Sheets&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Quickly access programming cheat sheets for multiple languages.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;🗓️ &lt;a href="https://play.google.com/store/apps/details?id=dev.daily" rel="noopener noreferrer"&gt;Daily.dev&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Developer news and articles curated from top sources, delivered daily.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;⚡ &lt;a href="https://play.google.com/store/apps/details?id=com.candelalabs.devbytes" rel="noopener noreferrer"&gt;DevBytes&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Byte-sized tech content and developer tips to help you learn something new every day.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;A standout feature: it displays the user Streak in the logo to encourage consistent learning.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;👩‍💻 &lt;a href="https://play.google.com/store/apps/details?id=com.forem.android" rel="noopener noreferrer"&gt;Forem (DEV Community)&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Engage with devs, read blogs, and join discussions right from your phone.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;:octocat: &lt;a href="https://play.google.com/store/apps/details?id=com.github.android" rel="noopener noreferrer"&gt;GitHub for Android&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Manage repos, issues, pull requests, and more – on the go.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📄 PDF Tools
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Convert, scan, and edit PDFs with these handy tools:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;📷 &lt;a href="https://adobescan.app.link/LYfBUdFMlY" rel="noopener noreferrer"&gt;Adobe Scan&lt;/a&gt;&lt;/strong&gt;
&lt;em&gt;Scan documents and convert them into clean, shareable PDFs easily.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="aptitude--logical-reasoning"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 Aptitude &amp;amp; Logical Reasoning
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📘 &lt;a href="https://drive.google.com/u/0/uc?id=1MP0I7nqFONaW6K102eJqyNraFv2SwvLp&amp;amp;export=download" rel="noopener noreferrer"&gt;R. S. Aggarwal Book – Download Link&lt;/a&gt;
&lt;em&gt;Widely used book for aptitude and reasoning preparation.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;📄 PDF Files available in &lt;code&gt;Aptitude and Logical Reasoning/&lt;/code&gt; folder:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Aptitude%20and%20Logical%20Reasoning/Answer%20Key.pdf" rel="noopener noreferrer"&gt;Answer Key.pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Aptitude%20and%20Logical%20Reasoning/Aptitude%20Test.pdf" rel="noopener noreferrer"&gt;Aptitude Test.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a id="blockchain"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ⛓️ Blockchain
&lt;/h2&gt;

&lt;h3&gt;
  
  
  📖 Concepts and Notes
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;What is decentralization? Why is it essential to blockchain technology? Learn key principles such as smart contracts, DApps, and privacy in this file:&lt;/em&gt;&lt;br&gt;
📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Blockchain/Blockchain.txt" rel="noopener noreferrer"&gt;&lt;code&gt;Blockchain.txt&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  📘 Books &amp;amp; Learning Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;📗 &lt;a href="https://blockchaintrainingalliance.com/products/blockchain-basics" rel="noopener noreferrer"&gt;Blockchain Basics – Blockchain Training Alliance&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Beginner-friendly overview of blockchain concepts and applications.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📕 &lt;a href="https://mrcet.com/downloads/digital_notes/CSE/IV%20Year/CSE%20B.TECH%20IV%20YEAR%20II%20SEM%20BCT%20%28R18A0534%29%20NOTES%20Final%20PDF.pdf" rel="noopener noreferrer"&gt;MRCET Blockchain Lecture Notes (PDF)&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Academic-level PDF notes for students learning blockchain.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📘 &lt;a href="https://bsvassociation.org/e-book/what-is-blockchain-ebook/" rel="noopener noreferrer"&gt;What is Blockchain – BSV Association eBook&lt;/a&gt;&lt;br&gt;
&lt;em&gt;A freely accessible eBook explaining blockchain fundamentals.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="coding-questions"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  📘 Coding Questions
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;📄 PDF Files available in &lt;code&gt;Coding Questions/&lt;/code&gt; folder:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Coding%20Questions/20%20Coding%20Patterns%20to%20master%20MAANG%20Interviews.pdf" rel="noopener noreferrer"&gt;20 Coding Patterns to Master MAANG Interviews.pdf&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Essential coding patterns for cracking top tech interviews.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Coding%20Questions/Zero%20to%20Advance%20DSA%20Questions.pdf" rel="noopener noreferrer"&gt;Zero to Advance DSA Questions.pdf&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Comprehensive DSA problem set from basics to advanced.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="css-formatter"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🎨 CSS Formatter
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🎨 &lt;a href="https://artdrivethru.com/about" rel="noopener noreferrer"&gt;ArtDriveThru CSS Formatter Tool&lt;/a&gt;
&lt;em&gt;Online CSS beautifier and formatter for front-end developers.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="custom-gpts"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🤖 Custom GPTs
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;📄 PDF Files available in &lt;code&gt;Custom GPT/&lt;/code&gt; folder:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Custom%20GPT/Gesture%2812%2BCustom%2BGPTs%29.pdf" rel="noopener noreferrer"&gt;Gesture(12+Custom+GPTs).pdf&lt;/a&gt;
&lt;em&gt;Descriptions and links to custom GPTs for automation and productivity.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="databases"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🗄️ Databases
&lt;/h2&gt;

&lt;p&gt;&lt;a id="general-links"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  🔗 General Links
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📚 &lt;a href="https://www.exploredatabase.com/p/advanced-database-concepts.html" rel="noopener noreferrer"&gt;Advanced Database Concepts – ExploreDatabase&lt;/a&gt;
&lt;em&gt;Detailed insights on modern database designs and use cases.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="mariadb"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  🐬 MariaDB
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📘 &lt;a href="https://turing.plymouth.edu/~zshen/Webfiles/notes/CS3600/labNotes/mariaDBNotes.pdf" rel="noopener noreferrer"&gt;MariaDB Notes PDF – Plymouth University&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📘 &lt;a href="https://www.tutorialspoint.com/mariadb/mariadb_tutorial.pdf" rel="noopener noreferrer"&gt;MariaDB Tutorial PDF – TutorialsPoint&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🌐 &lt;a href="https://mariadb.org/mariadbserverpdf/" rel="noopener noreferrer"&gt;MariaDB Server PDF Resources&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="mongodb"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  🍃 MongoDB
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📚 &lt;a href="https://github.com/karlseguin/the-little-mongodb-book" rel="noopener noreferrer"&gt;The Little MongoDB Book – GitHub&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📘 &lt;a href="https://www.bmcsoftware.fr/content/dam/bmc/collateral/bmc/523425-MongoDB-eBook-07292020.pdf" rel="noopener noreferrer"&gt;Practical MongoDB PDF – BMC Software&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📖 &lt;a href="https://content.e-bookshelf.de/media/reading/L-3949224-ced2b8e890.pdf" rel="noopener noreferrer"&gt;MongoDB Beginner Guide PDF&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📝 &lt;a href="https://topperworld.in/mongodb-handwritten-notes/#pdf-mongodb-handwritten-notes/9/" rel="noopener noreferrer"&gt;MongoDB Handwritten Notes – TopperWorld&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📘 &lt;a href="https://www.fromdev.com/2019/01/best-free-mongodb-tutorials-pdf.html?amp=1" rel="noopener noreferrer"&gt;Free MongoDB PDF Tutorials – FromDev&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="mysql"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  🧮 MySQL
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;🔍 &lt;a href="https://learnsql.com/blog/sql-personalities/" rel="noopener noreferrer"&gt;SQL Personalities Quiz – LearnSQL&lt;/a&gt;
&lt;em&gt;Interactive guide to explore your database mindset.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="oracle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  🧾 Oracle
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📘 &lt;a href="https://docs.oracle.com/en/database/oracle/oracle-database/19/cncpt/database-concepts.pdf" rel="noopener noreferrer"&gt;Oracle Database Concepts PDF (Official Docs)&lt;/a&gt;
&lt;em&gt;Oracle’s official concepts documentation for version 19c.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="ds-resources"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  📊 DS Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;📬 &lt;a href="https://blog.dailydoseofds.com/p/free-daily-dose-of-data-science-pdf" rel="noopener noreferrer"&gt;Free Daily Dose of Data Science PDF Newsletter&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Curated daily insights into the world of data science.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🧪 &lt;a href="https://bit.ly/DS-assessment" rel="noopener noreferrer"&gt;Assessment Quiz – Know What to Learn Next&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Take a quick assessment to identify your weak topics.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🧠 &lt;a href="https://www.kdnuggets.com/5-ways-to-transition-into-ai-from-a-non-tech-background" rel="noopener noreferrer"&gt;5 Ways to Transition Into AI from Non-Tech Background – KDnuggets&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Guidance for shifting into AI and ML roles from a non-technical background.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;💼 &lt;a href="https://www.kdnuggets.com/5-free-resources-to-master-your-data-science-job-search" rel="noopener noreferrer"&gt;5 Free Resources for DS Job Search – KDnuggets&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Free, curated tools to boost your data science job hunt.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="full-stack-development"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🧑‍💻 Full Stack Development
&lt;/h2&gt;

&lt;p&gt;&lt;a id="backend"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  🛠️ Backend
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;💬 &lt;a href="https://discord.gg/GMeAG9BVuD" rel="noopener noreferrer"&gt;Join the Backend Developers Discord Server&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Community for discussing backend frameworks and tools.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔗 &lt;a href="https://www.elithecomputerguy.com/2019/12/mysql-search-form-with-html-and-php/" rel="noopener noreferrer"&gt;MySQL Search Form with HTML + PHP – Eli The Computer Guy&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔍 &lt;a href="https://www.w3schools.com/php/php_mysql_select.asp" rel="noopener noreferrer"&gt;PHP MySQL Select – W3Schools&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Learn how to query MySQL databases using PHP.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🎥 &lt;a href="https://youtube.com/live/TDP7djYhGAU?feature=share" rel="noopener noreferrer"&gt;Lecture 1 – Backend Fundamentals (YouTube)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a id="backend-notes"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  📓 Notes
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;📄 PDF Files available in &lt;code&gt;Notes/&lt;/code&gt; folder:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Notes/30-Day%20Challenge%20to%20Learn%20MERN%20Stack.pdf" rel="noopener noreferrer"&gt;30-Day Challenge to Learn MERN Stack.pdf&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Daily learning structure to master MERN stack in a month.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Notes/Java%20Basic%20Concept%20Notes.pdf" rel="noopener noreferrer"&gt;Java Basic Concept Notes.pdf&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Key Java concepts in a simplified format.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📄 &lt;a href="//Notes/Java.pdf"&gt;Java.pdf&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Comprehensive guide to Java programming.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Notes/Lecture%2013%20-%20Backend%20Development.pdf" rel="noopener noreferrer"&gt;Lecture 13 – Backend Development.pdf&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Lecture slides covering backend fundamentals.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="frontend"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  🎨 Frontend
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;📘 &lt;a href="https://github.com/trekhleb/javascript-algorithms" rel="noopener noreferrer"&gt;JavaScript Algorithms GitHub Repo&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Collection of JavaScript algorithms explained and implemented.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;💻 &lt;strong&gt;JavaScript Projects by CodeWithFaraz&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.codewithfaraz.com/content/303/building-a-fruit-slicer-game-with-html-css-and-javascript-source-code" rel="noopener noreferrer"&gt;Fruit Slicer Game&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.codewithfaraz.com/content/260/creating-a-browser-detector-with-html-css-and-javascript" rel="noopener noreferrer"&gt;Browser Detector&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.codewithfaraz.com/content/114/create-a-whatsapp-web-interface-clone-using-html-and-css" rel="noopener noreferrer"&gt;WhatsApp Web UI Clone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/codingcss/whos-that-pokemon-javascript-project-45m5"&gt;Who’s That Pokémon JS Game – Dev.to&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🎨 &lt;a href="https://web.dev/learn/css/?gclid=CjwKCAiAhJWsBhAaEiwAmrNyq7diJcdiPFwCMteAeNW83eE98qwMiHF_zD80SZkdyznxHVX5fHs87hoCRUoQAvD_BwE" rel="noopener noreferrer"&gt;Learn CSS – Web.Dev Interactive Course&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;❓ &lt;strong&gt;Frontend Trivia&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🗂️ Questions sourced from &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Full%20Stack%20Development/Frontend/Questions.txt" rel="noopener noreferrer"&gt;&lt;code&gt;Full Stack Development/Frontend/Questions.txt&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Q1:&lt;/strong&gt; How many characters can be written in 1KB?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A)&lt;/strong&gt; 1048 &lt;strong&gt;B)&lt;/strong&gt; 1024 &lt;strong&gt;C)&lt;/strong&gt; 1042 &lt;strong&gt;D)&lt;/strong&gt; 1000&lt;br&gt;
✅ &lt;strong&gt;Answer:&lt;/strong&gt; B) 1024&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;&lt;a id="books"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  📚 Books
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;📄 PDF Files available in &lt;code&gt;Full Stack Development/Books/&lt;/code&gt; folder:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Full%20Stack%20Development/Books/Web_Development_with_Node_Express.pdf" rel="noopener noreferrer"&gt;Web Development with Node &amp;amp; Express.pdf&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Learn backend development using Express.js.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Full%20Stack%20Development/Books/The%20Full%20Stack%20Developer_%20Your%20Essential%20Guide%20to%20the%20Everyday%20Skills%20Expected%20of%20a%20Modern%20Full%20Stack%20Web%20Developer%20%28%20PDFDrive%20%29.pdf" rel="noopener noreferrer"&gt;The Full Stack Developer Guide (PDFDrive)&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Essential full-stack skills for modern web developers.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="notes"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  📓 Notes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Full%20Stack%20Development/Notes/Full%20Stack%20Introduction.pdf" rel="noopener noreferrer"&gt;Full Stack Introduction.pdf&lt;/a&gt;
&lt;em&gt;Introductory overview of full stack development and its components.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="graphic-designing"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🧾 Graphic Designing
&lt;/h2&gt;
&lt;h3&gt;
  
  
  📄 PDF Files
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Graphic%20Designing/Graphic%20Design%20Basics.pdf" rel="noopener noreferrer"&gt;Graphic Design Basics.pdf&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Fundamentals of layout, typography, and visual design principles.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/Graphic%20Designing/Graphic-Designing-Notes.pdf" rel="noopener noreferrer"&gt;Graphic-Designing-Notes.pdf&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Comprehensive notes on various graphic designing topics.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="iot-resources"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  📡 IoT Resources
&lt;/h2&gt;
&lt;h3&gt;
  
  
  🔗 Book Link
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📘 &lt;a href="https://mrcet.com/downloads/digital_notes/EEE/IoT%20&amp;amp;%20Applications%20Digital%20Notes.pdf" rel="noopener noreferrer"&gt;IoT &amp;amp; Applications Digital Notes – MRCET&lt;/a&gt;
&lt;em&gt;Core material for understanding IoT fundamentals and its applications.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="linux-guides"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🐧 Linux Guides
&lt;/h2&gt;
&lt;h3&gt;
  
  
  🔗 Website Links
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📂 &lt;a href="https://linuxsurvival.com/linux-directory-listing-part-1/" rel="noopener noreferrer"&gt;Linux Directory Listing – Part 1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📂 &lt;a href="https://linuxjourney.com/lesson/boot-process-overview" rel="noopener noreferrer"&gt;Linux Boot Process Overview&lt;/a&gt;
&lt;em&gt;Interactive and beginner-friendly Linux tutorials.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="llm-resources"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🧠 LLM (Large Language Models)
&lt;/h2&gt;
&lt;h3&gt;
  
  
  📂 Useful Links
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;🔗 &lt;a href="https://github.com/mlabonne/llm-course" rel="noopener noreferrer"&gt;LLM Course GitHub&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🔗 &lt;a href="https://github.com/stars/madhurimarawat/lists/llm-large-language-models" rel="noopener noreferrer"&gt;LLM List – GitHub Stars by Madhurima&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🔗 &lt;a href="https://www.analyticsvidhya.com/blog/2023/12/implement-huggingface-models-using-langchain/" rel="noopener noreferrer"&gt;LangChain with Hugging Face&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🔗 &lt;a href="https://dev.to/oyemade/getting-started-w-googles-gemini-pro-llm-using-langchain-js-4o1"&gt;Gemini Pro LLM – LangChain JS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🔗 &lt;a href="https://dev.to/quine/8-llms-and-deep-learning-repos-to-get-you-into-the-top-1-108g"&gt;Top 8 LLMs &amp;amp; DL Repos&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  📄 PDF File
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📄 &lt;a href="//LLM/LLM%20Introduction.pdf"&gt;LLM Introduction.pdf&lt;/a&gt;
&lt;em&gt;Beginner-friendly overview of LLM concepts and tools.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="power-bi"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  📊 Power BI
&lt;/h2&gt;
&lt;h3&gt;
  
  
  🔗 Website Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📘 &lt;a href="https://www.datacamp.com/tutorial/tutorial-power-bi-for-beginners" rel="noopener noreferrer"&gt;DataCamp: Power BI for Beginners&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📘 &lt;a href="https://www.geeksforgeeks.org/power-bi-tutorial/" rel="noopener noreferrer"&gt;GFG: Power BI Tutorial&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📘 &lt;a href="https://medium.com/@arjunuttamsharma561/power-bi-desktop-for-beginners-b3c2bbac27e4" rel="noopener noreferrer"&gt;Power BI Desktop Guide (Medium)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  📂 PDF Guides
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📄 &lt;a href="https://www.bing.com/ck/a?!&amp;amp;&amp;amp;p=fd9a35213e42a8aa1b41752c690f49b72e015486fac4ddc2d38eac556c2b29cdJmltdHM9MTc1MjI3ODQwMA&amp;amp;ptn=3&amp;amp;ver=2&amp;amp;hsh=4&amp;amp;fclid=38cd0206-549a-643c-18ed-17f9550165b0&amp;amp;psq=Introduction+to+Power+BI+pdf&amp;amp;u=a1aHR0cHM6Ly9kb3dubG9hZC5taWNyb3NvZnQuY29tL2Rvd25sb2FkLzAvOC8xLzA4MTZGOEQxLUQxQTUtNEY2MC05QUY1LUJDOTFFMThENkQ2NC9NaWNyb3NvZnRfUHJlc3NfZWJvb2tfSW50cm9kdWNpbmdfUG93ZXJfQklfUERGX21vYmlsZS5wZGY&amp;amp;ntb=1" rel="noopener noreferrer"&gt;Microsoft Power BI – Mobile PDF Guide&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/ambarishan/PowerBIFiles/blob/main/01%20-%20Introduction%20to%20Microsoft%20Power%20BI.pdf" rel="noopener noreferrer"&gt;Introduction to Microsoft Power BI – GitHub&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://monashdatafluency.github.io/Power_BI/" rel="noopener noreferrer"&gt;Monash Power BI Course&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://thetacdn.blob.core.windows.net/assets/2021:PowerBIGuides/Power%20BI%20for%20Beginners%20-%202020.pdf" rel="noopener noreferrer"&gt;Power BI for Beginners (2020)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📄 &lt;a href="https://data-mozart.com/wp-content/uploads/2022/01/END-TO-END-ANALYTICS-WITH-MICROSOFT-POWER-BI.pdf" rel="noopener noreferrer"&gt;End-to-End Analytics with Power BI&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="go-programming"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🧩 Go Programming
&lt;/h2&gt;
&lt;h3&gt;
  
  
  🔗 Project Links
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;📺 &lt;a href="https://www.youtube.com/watch?v=jFfo23yIWac" rel="noopener noreferrer"&gt;Learn Go Programming by Building 11 Projects&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;A comprehensive YouTube tutorial for hands-on Go learning.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🧠 &lt;a href="https://dev.to/encore/building-a-type-safe-go-backend-for-a-react-web-app-3hmf"&gt;Building a Type-Safe Go Backend for React&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Dev article explaining how to integrate a robust Go backend with React.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="kotlin-programming"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  📱 Kotlin Programming
&lt;/h2&gt;
&lt;h3&gt;
  
  
  🔗 Project Link
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📺 &lt;a href="https://www.youtube.com/watch?v=XLt_moCoauw" rel="noopener noreferrer"&gt;Simple Kotlin App | Android Studio | 2024&lt;/a&gt;
&lt;em&gt;Tutorial for building a simple Kotlin Android app using Android Studio.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="python-programming"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🐍 Python Programming
&lt;/h2&gt;
&lt;h3&gt;
  
  
  🔗 GitHub Repositories
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📘 &lt;a href="https://www.kdnuggets.com/10-github-repositories-to-master-python" rel="noopener noreferrer"&gt;10 GitHub Repositories to Master Python&lt;/a&gt;
&lt;em&gt;A curated list of top Python learning resources and projects.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  📚 Interactive Notebooks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;📓 &lt;a href="https://github.com/marimo-team/marimo" rel="noopener noreferrer"&gt;Marimo&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;A Python-based reactive notebook built for developers—clean, fast, and ideal for dashboards and reports.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📔 &lt;a href="https://jupyter.org/" rel="noopener noreferrer"&gt;Jupyter Notebook&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;A powerful open-source web app to create and share documents containing live code, equations, and visualizations.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📗 &lt;a href="https://colab.research.google.com/" rel="noopener noreferrer"&gt;Google Colab&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;A free cloud service from Google that supports Python notebooks with GPU/TPU support and zero setup.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  🧠 Beginner-Friendly Articles
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;📘 &lt;a href="https://www.freecodecamp.org/news/learning-python-from-zero-to-hero-120ea540b567" rel="noopener noreferrer"&gt;Python for Absolute Beginners – freeCodeCamp&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;A comprehensive guide to get started with Python from scratch.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📙 &lt;a href="https://www.w3schools.com/python/" rel="noopener noreferrer"&gt;Learn Python – W3Schools&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Interactive lessons to grasp Python syntax, logic, and functions step-by-step.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📕 &lt;a href="https://realpython.com/learning-paths/beginner/" rel="noopener noreferrer"&gt;Real Python – Beginner’s Roadmap&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Structured learning paths for those new to Python, covering basics to real-world projects.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="rust-programming"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🦀 Rust Programming
&lt;/h2&gt;
&lt;h3&gt;
  
  
  🔗 Project Link
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📺 &lt;a href="https://www.youtube.com/watch?v=wHDYReCysVY" rel="noopener noreferrer"&gt;Getting Started with Rust – Projects Playlist&lt;/a&gt;
&lt;em&gt;Video walkthrough on building Rust projects from scratch.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="study-resources"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🌐 Study Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🌐 &lt;a href="https://learn.rumie.org/jR/" rel="noopener noreferrer"&gt;Learn Anywhere – Rumie&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🌐 &lt;a href="https://goalkicker.com/" rel="noopener noreferrer"&gt;GoalKicker – Free Programming Books&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🌐 &lt;a href="https://kodekloud.com/" rel="noopener noreferrer"&gt;KodeKloud&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🌐 &lt;a href="https://learn.kodekloud.com/" rel="noopener noreferrer"&gt;KodeKloud Learning Portal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🌐 &lt;a href="https://engineersplanet.com/" rel="noopener noreferrer"&gt;Engineers Planet – Resources&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🌐 &lt;a href="https://learn.engineersplanet.com/" rel="noopener noreferrer"&gt;Engineers Planet – Learning Portal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🌐 &lt;a href="https://github.com/engineers-planet/Machine-Learning_Deep-learning_Free-Download/tree/381de74cb080305f43ffb710db13f3e6f5ce54e0" rel="noopener noreferrer"&gt;Engineers Planet GitHub – ML/DL Resources&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="sas-programming"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  📊 SAS Programming
&lt;/h2&gt;
&lt;h3&gt;
  
  
  📄 PDF File
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📄 &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/raw/main/SAS/Introduction%20To%20SAS%20Programming.pdf" rel="noopener noreferrer"&gt;Introduction To SAS Programming.pdf&lt;/a&gt;
&lt;em&gt;Foundational guide to understanding SAS programming basics.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  🔗 Extra Reading
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📘 &lt;a href="https://ofe.ecu.edu/wp-content/pv-uploads/sites/277/2021/05/SAS_intro_2021OFE.pdf" rel="noopener noreferrer"&gt;SAS Intro Guide – ECU&lt;/a&gt;
&lt;em&gt;Official SAS intro document from East Carolina University.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a id="html-to-pdf-conversion"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🧾 HTML to PDF Conversion
&lt;/h2&gt;

&lt;p&gt;Convert HTML files to PDF using browser tools, command-line utilities, Python, or online services.&lt;/p&gt;
&lt;h3&gt;
  
  
  🔹 1. Using Google Chrome or Any Browser (Easy Method)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open the HTML file in your browser (Chrome, Edge, Firefox).&lt;/li&gt;
&lt;li&gt;Press &lt;code&gt;Ctrl + P&lt;/code&gt; (Windows/Linux) or &lt;code&gt;Cmd + P&lt;/code&gt; (Mac) to open the &lt;strong&gt;Print&lt;/strong&gt; dialog.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Destination&lt;/strong&gt; section, select &lt;strong&gt;Save as PDF&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt;, choose a location, and save the file.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  🔹 2. Using &lt;code&gt;wkhtmltopdf&lt;/code&gt; (Command Line)
&lt;/h3&gt;

&lt;p&gt;A powerful tool to convert HTML to PDF via terminal.&lt;/p&gt;
&lt;h4&gt;
  
  
  ✅ Install &lt;code&gt;wkhtmltopdf&lt;/code&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ubuntu/Debian:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;wkhtmltopdf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mac (Homebrew):&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  brew &lt;span class="nb"&gt;install &lt;/span&gt;wkhtmltopdf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Windows:&lt;/strong&gt; Download from &lt;a href="https://wkhtmltopdf.org/downloads.html" rel="noopener noreferrer"&gt;wkhtmltopdf.org&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  🔁 Convert HTML to PDF
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;wkhtmltopdf input.html output.pdf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  🔹 3. Using Python (Automated)
&lt;/h3&gt;

&lt;p&gt;Automate the conversion with Python using &lt;code&gt;pdfkit&lt;/code&gt;.&lt;/p&gt;
&lt;h4&gt;
  
  
  ✅ Install Dependencies
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;pdfkit
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;wkhtmltopdf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  💡 Python Script
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pdfkit&lt;/span&gt;
&lt;span class="n"&gt;pdfkit&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;from_file&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;input.html&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;output.pdf&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  🔹 4. Using an Online Tool
&lt;/h3&gt;

&lt;p&gt;No setup needed—just upload your file and convert:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌐 &lt;a href="https://www.sejda.com/html-to-pdf" rel="noopener noreferrer"&gt;Sejda HTML to PDF&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🌐 &lt;a href="https://www.pdfcrowd.com/" rel="noopener noreferrer"&gt;PDFCrowd&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;
  
  
  🤝 Want to Contribute or Suggest Improvements?
&lt;/h4&gt;

&lt;p&gt;If you'd like to suggest new resources, contribute, or start a discussion, feel free to get involved!&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;tr&gt;
    &lt;td&gt;
      &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/issues" rel="noopener noreferrer"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdabuttonfactory.com%2Fbutton.png%3Ft%3DOpen%2Ban%2BIssue%26f%3DOpen%2BSans-Bold%26ts%3D20%26tc%3Dfff%26hp%3D15%26vp%3D10%26c%3D11%26bgt%3Dunicolored%26bgc%3DE74C3C" alt="Open an Issue"&gt;
      &lt;/a&gt;
    &lt;/td&gt;
    &lt;td&gt;
      &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/pulls" rel="noopener noreferrer"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdabuttonfactory.com%2Fbutton.png%3Ft%3DSubmit%2Ba%2BPull%2BRequest%26f%3DOpen%2BSans-Bold%26ts%3D20%26tc%3Dfff%26hp%3D15%26vp%3D10%26c%3D11%26bgt%3Dunicolored%26bgc%3D27AE60" alt="Submit a Pull Request"&gt;
      &lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td colspan="2"&gt;
      &lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub/discussions" rel="noopener noreferrer"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdabuttonfactory.com%2Fbutton.png%3Ft%3DJoin%2Bthe%2BDiscussion%26f%3DOpen%2BSans-Bold%26ts%3D20%26tc%3Dfff%26hp%3D15%26vp%3D10%26c%3D11%26bgt%3Dunicolored%26bgc%3D3498DB" alt="Join the Discussion"&gt;
      &lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h4&gt;
  
  
  📫 Get in Touch
&lt;/h4&gt;

&lt;p&gt;If you have questions, suggestions, or just want to say hi:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;tr&gt;
    &lt;td&gt;
      &lt;a href="https://www.linkedin.com/in/madhurima-rawat/" rel="noopener noreferrer"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdabuttonfactory.com%2Fbutton.png%3Ft%3DConnect%2Bon%2BLinkedIn%26f%3DOpen%2BSans-Bold%26ts%3D20%26tc%3Dfff%26hp%3D15%26vp%3D10%26c%3D11%26bgt%3Dunicolored%26bgc%3D0A66C2" alt="LinkedIn Button"&gt;
      &lt;/a&gt;
    &lt;/td&gt;
    &lt;td&gt;
      &lt;a href="mailto:rawatmadhurima@gmail.com" rel="noopener noreferrer"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdabuttonfactory.com%2Fbutton.png%3Ft%3DSend%2Ban%2BEmail%26f%3DOpen%2BSans-Bold%26ts%3D20%26tc%3Dfff%26hp%3D15%26vp%3D10%26c%3D11%26bgt%3Dunicolored%26bgc%3DD44638" alt="Email Button"&gt;
      &lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;✨ If you're preparing for interviews, exploring new tech, or just looking for helpful guides, this hub is here for you.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Take a look, explore the links, and if you find it helpful, give it a ⭐ on GitHub!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/madhurimarawat/Developer-Resources-Hub" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Star 🌟 the repo on GitHub!&lt;/a&gt;
&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>beginners</category>
      <category>programming</category>
      <category>resources</category>
    </item>
    <item>
      <title>🌊 AquaScript: Your Dev Tool for Fake Data, Real Impact ⚡</title>
      <dc:creator>Madhurima Rawat</dc:creator>
      <pubDate>Tue, 20 May 2025 06:27:54 +0000</pubDate>
      <link>https://dev.to/aquascript/aquascript-your-dev-tool-for-fake-data-real-impact-20ib</link>
      <guid>https://dev.to/aquascript/aquascript-your-dev-tool-for-fake-data-real-impact-20ib</guid>
      <description>&lt;h3&gt;
  
  
  💦 Welcome to AquaScript
&lt;/h3&gt;

&lt;p&gt;AquaScript is your fast, simple, and developer-friendly platform to generate &lt;strong&gt;blazing-fast fake JSON data APIs&lt;/strong&gt;, perfect for seamless &lt;strong&gt;development, testing&lt;/strong&gt;, and &lt;strong&gt;prototyping&lt;/strong&gt;. Built by developers, for developers — with ❤️ by &lt;a class="mentioned-user" href="https://dev.to/hanzla-baig"&gt;@hanzla-baig&lt;/a&gt; , &lt;a class="mentioned-user" href="https://dev.to/kelvincode1234"&gt;@kelvincode1234&lt;/a&gt; , and &lt;a class="mentioned-user" href="https://dev.to/madhurima_rawat"&gt;@madhurima_rawat&lt;/a&gt; .&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/wecoded-dev" rel="noopener noreferrer"&gt;
        wecoded-dev
      &lt;/a&gt; / &lt;a href="https://github.com/wecoded-dev/Aquascript" rel="noopener noreferrer"&gt;
        Aquascript
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Welcome to 𝗔𝗾𝘂𝗮𝗦𝗰𝗿𝗶𝗽𝘁 — your fast, simple, and developer-friendly platform 🌊 for generating blazing-fast fake JSON data APIs 🚀, perfect for seamless development, testing, and prototyping ✨  
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;AquaScript 🌊✨&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Your Favorite Fake JSON API for Testing &amp;amp; Prototyping&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/wecoded-dev/Aquascript" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/7451ca906d55f5269eb1f5032d4fa5a98a6cbae13808c2d382637e0388be5182/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7265706f2d73697a652f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233464642364331266c6162656c3d5265706f25323053697a65266c6162656c436f6c6f723d253233463339464242267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Repo Size"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/wecoded-dev/Aquascript/stargazers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/22bbccc4aa6131df3cb3a194d520ed1062785f2244a16550cefc82d143700be9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233464644353830266c6162656c3d5374617273266c6162656c436f6c6f723d253233463543313645267374796c653d666f722d7468652d6261646765266c6f676f3d73746172" alt="GitHub Stars"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/wecoded-dev/Aquascript/network/members" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/4495d5afc47eedb6975a5931dee447364919c8dc10e227c9e95ac7360556b2dc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233383844384330266c6162656c3d466f726b73266c6162656c436f6c6f723d253233373543444231267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="GitHub Forks"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/wecoded-dev/Aquascript/issues" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/395e62704080bc2fd3e61bcf8ff3b883975d805d9e6e100f590c44dfaee466cc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233464644384138266c6162656c3d4f70656e253230497373756573266c6162656c436f6c6f723d253233464643343838267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="GitHub Issues"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/wecoded-dev/Aquascript/issues?q=is%3Aissue+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/85d37041765488a82c026fa1f09c61f17e67592ab97bdfff9030f6a6c5623dbd/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d636c6f7365642f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233463642364236266c6162656c3d436c6f736564253230497373756573266c6162656c436f6c6f723d253233453939443944267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="Closed Issues"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/wecoded-dev/Aquascript/pulls" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/5af2a1c886677665f91b530b840746d6366341ddfe80fc290afca7d98d49c7e2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233413043344646266c6162656c3d4f70656e253230505273266c6162656c436f6c6f723d253233383742344633267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Open Pull Requests"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/wecoded-dev/Aquascript/pulls?q=is%3Apr+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/e8a308e058889be1ea07cf4a3275b8403c91cf9ebd84216f479d298894b23f45/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722d636c6f7365642f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233443541364530266c6162656c3d436c6f736564253230505273266c6162656c436f6c6f723d253233433239314433267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Closed Pull Requests"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/wecoded-dev/Aquascript/discussions" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/684efe767b364555ffaa734bd31ef7ed9d84389a1480c0a9023e98d948f84256/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f64697363757373696f6e732f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233433942364534266c6162656c3d44697363757373696f6e73266c6162656c436f6c6f723d253233423841314438267374796c653d666f722d7468652d6261646765266c6f676f3d646973636f75727365" alt="GitHub Discussions"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/wecoded-dev/Aquascript/graphs/contributors" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/9df5159505b654d93139bb0aa12a02e2cb8b718f320a38a22ffc8b12fdc912ed/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233413044453833266c6162656c3d436f6e7472696275746f7273266c6162656c436f6c6f723d253233384443443733267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Contributors"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/wecoded-dev/Aquascript" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/6ac5c0be5ac84bf3b698d0cf225be410653f157b0b268aba0c273aa7b250026a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f746f702f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233454543364530266c6162656c3d546f702532304c616e6775616765266c6162656c436f6c6f723d253233444242314433267374796c653d666f722d7468652d6261646765266c6f676f3d707974686f6e" alt="Top Language"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/LICENSE" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/edc3aa135722efb0e22328164a2d7849154f47e5cc5c44499e1628bfff9724d0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f7765636f6465642d6465762f417175617363726970743f636f6c6f723d2532334646383639266c6162656c3d4c6963656e7365266c6162656c436f6c6f723d253233453736433838267374796c653d666f722d7468652d6261646765266c6f676f3d6f70656e2d736f757263652d696e6974696174697665" alt="License"&gt;
  &lt;/a&gt;
  
&lt;a href="https://github.com/wecoded-dev/Aquascript/commits/main" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/43fce936f01a0601b2a3110065c58117dd55c1ab2478251907c874857dd922bb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233464443423845266c6162656c3d4c617374253230436f6d6d6974266c6162656c436f6c6f723d253233463442383736267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Last Commit"&gt;
&lt;/a&gt;
  
  &lt;a href="https://github.com/wecoded-dev/Aquascript/watchers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/cb8bfc5a460ae7248b55fb4829085cd0e20e2ae205e2e60648d0ec15746f7ecb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f77617463686572732f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233464644313636266c6162656c3d5761746368657273266c6162656c436f6c6f723d253233463442373445267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Watchers"&gt;
  &lt;/a&gt;
 
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/641aefaa4fa39a7a71415b89e96e6d4fbed305c2a022fab553c6bb0225cb30c9/68747470733a2f2f6b6f6d617265762e636f6d2f67687076632f3f757365726e616d653d7765636f6465642d646576266c6162656c3d56697369746f727326636f6c6f723d423545343843267374796c653d666c6174"&gt;&lt;img src="https://camo.githubusercontent.com/641aefaa4fa39a7a71415b89e96e6d4fbed305c2a022fab553c6bb0225cb30c9/68747470733a2f2f6b6f6d617265762e636f6d2f67687076632f3f757365726e616d653d7765636f6465642d646576266c6162656c3d56697369746f727326636f6c6f723d423545343843267374796c653d666c6174" alt="Visitors"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Welcome to &lt;strong&gt;AquaScript&lt;/strong&gt; — a fast, simple, and developer-friendly platform to fetch blazing-fast fake JSON data APIs for your web and app projects.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Crafted with passion by Hanzla Baig, Precious Kelvin and Madhurima Rawat (HP&amp;amp;M) with ´❤️´&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🚀 About AquaScript&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/wecoded-dev/Aquascriptassets/previewimg.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fwecoded-dev%2FAquascriptassets%2Fpreviewimg.png" alt="Preview"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AquaScript&lt;/strong&gt; is your go-to solution for generating fake, yet realistic, JSON data across a variety of categories. Whether you're building a frontend UI, testing backend endpoints, or prototyping an entire app — AquaScript lets you plug in mock data without the hassle of setting up a database or dealing with real information.&lt;/p&gt;

&lt;p&gt;Need mock articles, user profiles, books, jokes, movie listings, or inspirational quotes?&lt;br&gt;
&lt;strong&gt;We’ve got you covered.&lt;/strong&gt; ✅&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🎯 Project Goal&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=BAP4nRlONw4" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fwecoded-dev%2FAquascriptassets%2Fytb.png" alt="Watch the video"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To empower developers with a &lt;strong&gt;fast&lt;/strong&gt;, &lt;strong&gt;reliable&lt;/strong&gt;, and &lt;strong&gt;easy-to-integrate&lt;/strong&gt; platform for accessing high-quality fake JSON data — boosting productivity and reducing development friction.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;✨ Key&lt;/h2&gt;…&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/wecoded-dev/Aquascript" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;





&lt;h3&gt;
  
  
  Table of Contents
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;What is AquaScript?&lt;/li&gt;
&lt;li&gt;Why AquaScript?&lt;/li&gt;
&lt;li&gt;API Categories&lt;/li&gt;
&lt;li&gt;Meet the Team&lt;/li&gt;
&lt;li&gt;Project Goal&lt;/li&gt;
&lt;li&gt;Tech Stack&lt;/li&gt;
&lt;li&gt;Live Demo &amp;amp; Contribution&lt;/li&gt;
&lt;li&gt;Design &amp;amp; Inspiration&lt;/li&gt;
&lt;li&gt;Links &amp;amp; Resources&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  1. What is AquaScript? &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;AquaScript provides &lt;strong&gt;fake, realistic JSON data&lt;/strong&gt; across various domains. Whether you're building a frontend UI, testing APIs, or teaching programming, AquaScript is here to make it &lt;strong&gt;easier and faster&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Why AquaScript? &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;🌟 &lt;strong&gt;Key Highlights&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🆓 &lt;strong&gt;Free Access&lt;/strong&gt;: No signup or API keys required
&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;Fast&lt;/strong&gt;: Blazing-fast JSON responses
&lt;/li&gt;
&lt;li&gt;📚 &lt;strong&gt;Diverse Categories&lt;/strong&gt;: Books, Movies, Quotes, Jokes, Recipes, and more
&lt;/li&gt;
&lt;li&gt;🔄 &lt;strong&gt;Updated&lt;/strong&gt;: Regularly updated APIs
&lt;/li&gt;
&lt;li&gt;🔗 &lt;strong&gt;Easy Integration&lt;/strong&gt;: Developer-first approach with clean JSON
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  3. API Categories &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;
  📘 Books — Titles, authors, genres
  &lt;br&gt;
→ &lt;a href="https://github.com/wecoded-dev/Aquascript/blob/main/api/books.json" rel="noopener noreferrer"&gt;&lt;code&gt;books.json&lt;/code&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
→ &lt;a href="https://github.com/wecoded-dev/Aquascript/blob/main/api/books++.json" rel="noopener noreferrer"&gt;&lt;code&gt;books++.json&lt;/code&gt;&lt;/a&gt;&lt;br&gt;


&lt;/p&gt;

&lt;p&gt;
  🎬 Movies — Ratings, cast, streaming info
  &lt;br&gt;
→ &lt;a href="https://github.com/wecoded-dev/Aquascript/blob/main/api/moviesdata.json" rel="noopener noreferrer"&gt;&lt;code&gt;movies.json&lt;/code&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
→ &lt;a href="https://github.com/wecoded-dev/Aquascript/blob/main/api/moviesdata++.json" rel="noopener noreferrer"&gt;&lt;code&gt;movies++.json&lt;/code&gt;&lt;/a&gt;&lt;br&gt;


&lt;/p&gt;

&lt;p&gt;
  💬 Quotes — Inspiring and funny sayings
  &lt;br&gt;
→ &lt;a href="https://github.com/wecoded-dev/Aquascript/blob/main/api/quotes.json" rel="noopener noreferrer"&gt;&lt;code&gt;quotes.json&lt;/code&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
→ &lt;a href="https://github.com/wecoded-dev/Aquascript/blob/main/api/quotes++.json" rel="noopener noreferrer"&gt;&lt;code&gt;quotes++.json&lt;/code&gt;&lt;/a&gt;&lt;br&gt;


&lt;/p&gt;

&lt;p&gt;
  😂 Jokes — General and dev-focused humor
  &lt;br&gt;
→ &lt;a href="https://github.com/wecoded-dev/Aquascript/blob/main/api/jokes.json" rel="noopener noreferrer"&gt;&lt;code&gt;jokes.json&lt;/code&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
→ &lt;a href="https://github.com/wecoded-dev/Aquascript/blob/main/api/programming-jokes.json" rel="noopener noreferrer"&gt;&lt;code&gt;programming-jokes.json&lt;/code&gt;&lt;/a&gt;&lt;br&gt;


&lt;/p&gt;

&lt;p&gt;
  👤 Users — Random user profiles and metadata
  &lt;br&gt;
→ &lt;a href="https://github.com/wecoded-dev/Aquascript/blob/main/api/randomuser.json" rel="noopener noreferrer"&gt;&lt;code&gt;users.json&lt;/code&gt;&lt;/a&gt;&lt;br&gt;


&lt;/p&gt;

&lt;p&gt;
  🍽️ Recipes — Ingredients, steps, and nutrition
  &lt;br&gt;
→ &lt;a href="https://github.com/wecoded-dev/Aquascript/blob/main/api/recipes.json" rel="noopener noreferrer"&gt;&lt;code&gt;recipes.json&lt;/code&gt;&lt;/a&gt;&lt;br&gt;


&lt;/p&gt;

&lt;p&gt;
  🎵 Songs — Song names, lyrics, and artist info
  &lt;br&gt;
→ &lt;a href="https://github.com/wecoded-dev/Aquascript/blob/main/api/songs.json" rel="noopener noreferrer"&gt;&lt;code&gt;songs.json&lt;/code&gt;&lt;/a&gt;&lt;br&gt;


&lt;/p&gt;

&lt;p&gt;Each API returns data in a &lt;strong&gt;consistent JSON structure&lt;/strong&gt; — ideal for quick plug-and-play integration!&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Meet the Team &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Built with ❤️ by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧠 &lt;strong&gt;Lead Developer&lt;/strong&gt; &lt;div class="ltag__user ltag__user__id__1943881"&gt;
    &lt;a href="/hanzla-baig" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1943881%2Ff39bc02e-81f5-454f-a68c-4c1f8c143d12.jpg" alt="hanzla-baig image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/hanzla-baig"&gt;Hanzla Baig&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/hanzla-baig"&gt;In my projects, I aim to push the boundaries of conventional web design, incorporating advanced animations, responsive layouts, and dynmic features that captivate and retain users. So i like this&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
 (he/him, Founder) — Lead Developer, bringing innovative solutions to life with a forward-thinking mindset and hands-on expertise.&lt;/li&gt;
&lt;li&gt;🛠️ &lt;strong&gt;Backend Engineer&lt;/strong&gt; &lt;div class="ltag__user ltag__user__id__2164333"&gt;
    &lt;a href="/kelvincode1234" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2164333%2Fe0869f8f-bdd8-4c89-a951-a9cd5471f301.png" alt="kelvincode1234 image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/kelvincode1234"&gt; Precious Kelvin Nwaogu&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/kelvincode1234"&gt;Software Developer skilled in React, Nextjs, Nodejs, Java, HTML5, CSS3 &amp;amp; Material UI. I love building user-centered web applications and am always eager to learn 📚 and collaborate 🤝!&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
 (he/him, Co-Founder) — Full Stack Specialist, architecting robust and scalable APIs that power seamless backend operations.&lt;/li&gt;
&lt;li&gt;🧩 &lt;strong&gt;Project Coordinator&lt;/strong&gt;  &lt;div class="ltag__user ltag__user__id__1418377"&gt;
    &lt;a href="/madhurima_rawat" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2Fc388603b-a324-47c6-bbbf-017619dd39c2.jpg" alt="madhurima_rawat image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/madhurima_rawat"&gt;Madhurima Rawat&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/madhurima_rawat"&gt;🚀 Passionate about tech &amp;amp; growth | 💻 Data Scientist &amp;amp; Frontend Dev | C, C++, Python, R | 📊 InfluxDB, Grafana | 🤖 ML Enthusiast | 🐙 GitHub &amp;amp; Open Source | 📚 Learning &amp;amp; Sharing&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
 (she/her, Co-Founder) — Streamlined Git workflows, managed issues and pull requests to ensure smooth, collaborative development.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together, we aim to &lt;strong&gt;empower the developer community&lt;/strong&gt; with tools that are simple, fast, and powerful.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. Project Goal &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;🎯 To provide a &lt;strong&gt;free, open-source&lt;/strong&gt;, and &lt;strong&gt;developer-friendly&lt;/strong&gt; platform for accessing mock data without the overhead of setting up your own infrastructure.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Origin Story&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;It all started from this post: &lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/hanzla-baig" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1943881%2Ff39bc02e-81f5-454f-a68c-4c1f8c143d12.jpg" alt="hanzla-baig"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/hanzla-baig/aquascript-24af" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;AquaScript 🌊✨&lt;/h2&gt;
      &lt;h3&gt;Hanzla Baig ・ Apr 12&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#programming&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#productivity&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#api&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#discuss&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
  After gathering feedback, we decided to build a GitHub repo and officially launch AquaScript.&lt;br&gt;&lt;br&gt;
🔗 Follow our official DEV profile for updates:  &lt;div class="ltag__user ltag__user__id__10695"&gt;
  &lt;a href="/aquascript" class="ltag__user__link profile-image-link"&gt;
    &lt;div class="ltag__user__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F10695%2Fc2fb2106-5c9c-4e3f-9a1d-e28d221aac4e.png" alt="aquascript image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
      &lt;a href="/aquascript" class="ltag__user__link"&gt;AquaScript &lt;/a&gt;
      Follow
    &lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a href="/aquascript" class="ltag__user__link"&gt;
        Free JSON APIs Providers
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;





&lt;h3&gt;
  
  
  6. Tech Stack &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;🛠 &lt;strong&gt;Built With&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML5
&lt;/li&gt;
&lt;li&gt;CSS3
&lt;/li&gt;
&lt;li&gt;JavaScript
&lt;/li&gt;
&lt;li&gt;Bootstrap
&lt;/li&gt;
&lt;li&gt;jQuery
&lt;/li&gt;
&lt;li&gt;Node.js
&lt;/li&gt;
&lt;li&gt;Python
&lt;/li&gt;
&lt;li&gt;JSON
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;☁️ &lt;strong&gt;More tech and enhancements coming soon...&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  7. Live Demo &amp;amp; Contribution &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;🌐 &lt;strong&gt;Try it live&lt;/strong&gt;: &lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://www.aquascript.xyz/" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.aquascript.xyz%2Fassets%2FPurple%2520and%2520Pink%2520Gradient%2520Simple%2520Neon%2520Futuristic%2520Technology%2520Desktop%2520Wallpaper.png" height="450" class="m-0" width="800"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://www.aquascript.xyz/" rel="noopener noreferrer" class="c-link"&gt;
          AquaScript | Free JSON APIs for Developers
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Access high-quality, reliable JSON APIs for books, movies, quotes, jokes, and more. Easy to integrate, free to use, and constantly updated.
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.aquascript.xyz%2Fassets%2FAqua_icon.png" width="100" height="100"&gt;
        aquascript.xyz
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;💡 No installation needed — just grab an endpoint and go.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/wecoded-dev/Aquascript" class="ltag_cta ltag_cta--branded" rel="noopener noreferrer"&gt;Give the GitHub repo a star! 🌟&lt;/a&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  8. Design &amp;amp; Inspiration &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;🖼️ &lt;strong&gt;About the Cover Image&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;The cover shows a calming &lt;strong&gt;blueish gradient&lt;/strong&gt;, inspired by &lt;strong&gt;ocean waves&lt;/strong&gt;, reflecting the name &lt;strong&gt;AquaScript&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
The wave motion represents &lt;strong&gt;fluidity&lt;/strong&gt; and &lt;strong&gt;speed&lt;/strong&gt;, key traits of our API platform.&lt;br&gt;&lt;br&gt;
Icons on the cover illustrate all current &lt;strong&gt;API categories&lt;/strong&gt; available.  &lt;/p&gt;

&lt;p&gt;🧩 The heading says:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;AquaScript — JSON Data API&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Underneath it, we display:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Fake data, real results — Build faster&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I’ve tried to capture the whole concept here — let me know what you think or share any feedback you have!&lt;/p&gt;


&lt;h3&gt;
  
  
  9. Links &amp;amp; Resources &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;🌍 &lt;strong&gt;Website&lt;/strong&gt; – &lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://www.aquascript.xyz/" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.aquascript.xyz%2Fassets%2FPurple%2520and%2520Pink%2520Gradient%2520Simple%2520Neon%2520Futuristic%2520Technology%2520Desktop%2520Wallpaper.png" height="450" class="m-0" width="800"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://www.aquascript.xyz/" rel="noopener noreferrer" class="c-link"&gt;
          AquaScript | Free JSON APIs for Developers
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Access high-quality, reliable JSON APIs for books, movies, quotes, jokes, and more. Easy to integrate, free to use, and constantly updated.
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.aquascript.xyz%2Fassets%2FAqua_icon.png" width="100" height="100"&gt;
        aquascript.xyz
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;🧑‍💻 &lt;strong&gt;GitHub Repo&lt;/strong&gt; – &lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/wecoded-dev" rel="noopener noreferrer"&gt;
        wecoded-dev
      &lt;/a&gt; / &lt;a href="https://github.com/wecoded-dev/Aquascript" rel="noopener noreferrer"&gt;
        Aquascript
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Welcome to 𝗔𝗾𝘂𝗮𝗦𝗰𝗿𝗶𝗽𝘁 — your fast, simple, and developer-friendly platform 🌊 for generating blazing-fast fake JSON data APIs 🚀, perfect for seamless development, testing, and prototyping ✨  
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;AquaScript 🌊✨&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Your Favorite Fake JSON API for Testing &amp;amp; Prototyping&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/wecoded-dev/Aquascript" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/7451ca906d55f5269eb1f5032d4fa5a98a6cbae13808c2d382637e0388be5182/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7265706f2d73697a652f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233464642364331266c6162656c3d5265706f25323053697a65266c6162656c436f6c6f723d253233463339464242267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Repo Size"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/wecoded-dev/Aquascript/stargazers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/22bbccc4aa6131df3cb3a194d520ed1062785f2244a16550cefc82d143700be9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233464644353830266c6162656c3d5374617273266c6162656c436f6c6f723d253233463543313645267374796c653d666f722d7468652d6261646765266c6f676f3d73746172" alt="GitHub Stars"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/wecoded-dev/Aquascript/network/members" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/4495d5afc47eedb6975a5931dee447364919c8dc10e227c9e95ac7360556b2dc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233383844384330266c6162656c3d466f726b73266c6162656c436f6c6f723d253233373543444231267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="GitHub Forks"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/wecoded-dev/Aquascript/issues" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/395e62704080bc2fd3e61bcf8ff3b883975d805d9e6e100f590c44dfaee466cc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233464644384138266c6162656c3d4f70656e253230497373756573266c6162656c436f6c6f723d253233464643343838267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="GitHub Issues"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/wecoded-dev/Aquascript/issues?q=is%3Aissue+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/85d37041765488a82c026fa1f09c61f17e67592ab97bdfff9030f6a6c5623dbd/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d636c6f7365642f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233463642364236266c6162656c3d436c6f736564253230497373756573266c6162656c436f6c6f723d253233453939443944267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="Closed Issues"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/wecoded-dev/Aquascript/pulls" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/5af2a1c886677665f91b530b840746d6366341ddfe80fc290afca7d98d49c7e2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233413043344646266c6162656c3d4f70656e253230505273266c6162656c436f6c6f723d253233383742344633267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Open Pull Requests"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/wecoded-dev/Aquascript/pulls?q=is%3Apr+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/e8a308e058889be1ea07cf4a3275b8403c91cf9ebd84216f479d298894b23f45/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722d636c6f7365642f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233443541364530266c6162656c3d436c6f736564253230505273266c6162656c436f6c6f723d253233433239314433267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Closed Pull Requests"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/wecoded-dev/Aquascript/discussions" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/684efe767b364555ffaa734bd31ef7ed9d84389a1480c0a9023e98d948f84256/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f64697363757373696f6e732f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233433942364534266c6162656c3d44697363757373696f6e73266c6162656c436f6c6f723d253233423841314438267374796c653d666f722d7468652d6261646765266c6f676f3d646973636f75727365" alt="GitHub Discussions"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/wecoded-dev/Aquascript/graphs/contributors" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/9df5159505b654d93139bb0aa12a02e2cb8b718f320a38a22ffc8b12fdc912ed/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233413044453833266c6162656c3d436f6e7472696275746f7273266c6162656c436f6c6f723d253233384443443733267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Contributors"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/wecoded-dev/Aquascript" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/6ac5c0be5ac84bf3b698d0cf225be410653f157b0b268aba0c273aa7b250026a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f746f702f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233454543364530266c6162656c3d546f702532304c616e6775616765266c6162656c436f6c6f723d253233444242314433267374796c653d666f722d7468652d6261646765266c6f676f3d707974686f6e" alt="Top Language"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/LICENSE" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/edc3aa135722efb0e22328164a2d7849154f47e5cc5c44499e1628bfff9724d0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f7765636f6465642d6465762f417175617363726970743f636f6c6f723d2532334646383639266c6162656c3d4c6963656e7365266c6162656c436f6c6f723d253233453736433838267374796c653d666f722d7468652d6261646765266c6f676f3d6f70656e2d736f757263652d696e6974696174697665" alt="License"&gt;
  &lt;/a&gt;
  
&lt;a href="https://github.com/wecoded-dev/Aquascript/commits/main" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/43fce936f01a0601b2a3110065c58117dd55c1ab2478251907c874857dd922bb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233464443423845266c6162656c3d4c617374253230436f6d6d6974266c6162656c436f6c6f723d253233463442383736267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Last Commit"&gt;
&lt;/a&gt;
  
  &lt;a href="https://github.com/wecoded-dev/Aquascript/watchers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/cb8bfc5a460ae7248b55fb4829085cd0e20e2ae205e2e60648d0ec15746f7ecb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f77617463686572732f7765636f6465642d6465762f417175617363726970743f636f6c6f723d253233464644313636266c6162656c3d5761746368657273266c6162656c436f6c6f723d253233463442373445267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Watchers"&gt;
  &lt;/a&gt;
 
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/641aefaa4fa39a7a71415b89e96e6d4fbed305c2a022fab553c6bb0225cb30c9/68747470733a2f2f6b6f6d617265762e636f6d2f67687076632f3f757365726e616d653d7765636f6465642d646576266c6162656c3d56697369746f727326636f6c6f723d423545343843267374796c653d666c6174"&gt;&lt;img src="https://camo.githubusercontent.com/641aefaa4fa39a7a71415b89e96e6d4fbed305c2a022fab553c6bb0225cb30c9/68747470733a2f2f6b6f6d617265762e636f6d2f67687076632f3f757365726e616d653d7765636f6465642d646576266c6162656c3d56697369746f727326636f6c6f723d423545343843267374796c653d666c6174" alt="Visitors"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Welcome to &lt;strong&gt;AquaScript&lt;/strong&gt; — a fast, simple, and developer-friendly platform to fetch blazing-fast fake JSON data APIs for your web and app projects.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Crafted with passion by Hanzla Baig, Precious Kelvin and Madhurima Rawat (HP&amp;amp;M) with ´❤️´&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🚀 About AquaScript&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/wecoded-dev/Aquascriptassets/previewimg.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fwecoded-dev%2FAquascriptassets%2Fpreviewimg.png" alt="Preview"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AquaScript&lt;/strong&gt; is your go-to solution for generating fake, yet realistic, JSON data across a variety of categories. Whether you're building a frontend UI, testing backend endpoints, or prototyping an entire app — AquaScript lets you plug in mock data without the hassle of setting up a database or dealing with real information.&lt;/p&gt;

&lt;p&gt;Need mock articles, user profiles, books, jokes, movie listings, or inspirational quotes?&lt;br&gt;
&lt;strong&gt;We’ve got you covered.&lt;/strong&gt; ✅&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🎯 Project Goal&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=BAP4nRlONw4" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fwecoded-dev%2FAquascriptassets%2Fytb.png" alt="Watch the video"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To empower developers with a &lt;strong&gt;fast&lt;/strong&gt;, &lt;strong&gt;reliable&lt;/strong&gt;, and &lt;strong&gt;easy-to-integrate&lt;/strong&gt; platform for accessing high-quality fake JSON data — boosting productivity and reducing development friction.&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;✨ Key&lt;/h2&gt;…&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/wecoded-dev/Aquascript" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;/li&gt;

&lt;li&gt;📝 &lt;strong&gt;Project Overview Blog (by Hanzla Baig)&lt;/strong&gt; – &lt;div class="ltag__link"&gt;
&lt;br&gt;
  &lt;a href="/hanzla-baig" class="ltag__link__link"&gt;&lt;br&gt;
    &lt;div class="ltag__link__pic"&gt;
&lt;br&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1943881%2Ff39bc02e-81f5-454f-a68c-4c1f8c143d12.jpg" alt="hanzla-baig"&gt;&lt;br&gt;
    &lt;/div&gt;
&lt;br&gt;
  &lt;/a&gt;&lt;br&gt;
  &lt;a href="https://dev.to/hanzla-baig/aquascript-24af" class="ltag__link__link"&gt;&lt;br&gt;
    &lt;div class="ltag__link__content"&gt;
&lt;br&gt;
      &lt;h2&gt;AquaScript 🌊✨&lt;/h2&gt;
&lt;br&gt;
      &lt;h3&gt;Hanzla Baig ・ Apr 12&lt;/h3&gt;
&lt;br&gt;
      &lt;div class="ltag__link__taglist"&gt;
&lt;br&gt;
        &lt;span class="ltag__link__tag"&gt;#programming&lt;/span&gt;&lt;br&gt;
        &lt;span class="ltag__link__tag"&gt;#productivity&lt;/span&gt;&lt;br&gt;
        &lt;span class="ltag__link__tag"&gt;#api&lt;/span&gt;&lt;br&gt;
        &lt;span class="ltag__link__tag"&gt;#discuss&lt;/span&gt;&lt;br&gt;
      &lt;/div&gt;
&lt;br&gt;
    &lt;/div&gt;
&lt;br&gt;
  &lt;/a&gt;&lt;br&gt;
&lt;/div&gt;

&lt;/li&gt;

&lt;li&gt;📢 &lt;strong&gt;AquaScript on DEV&lt;/strong&gt; – &lt;div class="ltag__user ltag__user__id__10695"&gt;
&lt;br&gt;
  &lt;a href="/aquascript" class="ltag__user__link profile-image-link"&gt;&lt;br&gt;
    &lt;div class="ltag__user__pic"&gt;
&lt;br&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F10695%2Fc2fb2106-5c9c-4e3f-9a1d-e28d221aac4e.png" alt="aquascript image"&gt;&lt;br&gt;
    &lt;/div&gt;
&lt;br&gt;
  &lt;/a&gt;&lt;br&gt;
  &lt;div class="ltag__user__content"&gt;
&lt;br&gt;
    &lt;h2&gt;
&lt;br&gt;
      &lt;a href="/aquascript" class="ltag__user__link"&gt;AquaScript &lt;/a&gt;&lt;br&gt;
      Follow&lt;br&gt;
    &lt;/h2&gt;
&lt;br&gt;
    &lt;div class="ltag__user__summary"&gt;
&lt;br&gt;
      &lt;a href="/aquascript" class="ltag__user__link"&gt;&lt;br&gt;
        Free JSON APIs Providers&lt;br&gt;
      &lt;/a&gt;&lt;br&gt;
    &lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;

&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  👨‍💻 Contributors
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;🙋‍♂️ &lt;strong&gt;Hanzla Baig&lt;/strong&gt; – &lt;div class="ltag__user ltag__user__id__1943881"&gt;
    &lt;a href="/hanzla-baig" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1943881%2Ff39bc02e-81f5-454f-a68c-4c1f8c143d12.jpg" alt="hanzla-baig image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/hanzla-baig"&gt;Hanzla Baig&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/hanzla-baig"&gt;In my projects, I aim to push the boundaries of conventional web design, incorporating advanced animations, responsive layouts, and dynmic features that captivate and retain users. So i like this&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;🙋‍♀️ &lt;strong&gt;Madhurima Rawat&lt;/strong&gt; – &lt;div class="ltag__user ltag__user__id__1418377"&gt;
    &lt;a href="/madhurima_rawat" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2Fc388603b-a324-47c6-bbbf-017619dd39c2.jpg" alt="madhurima_rawat image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/madhurima_rawat"&gt;Madhurima Rawat&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/madhurima_rawat"&gt;🚀 Passionate about tech &amp;amp; growth | 💻 Data Scientist &amp;amp; Frontend Dev | C, C++, Python, R | 📊 InfluxDB, Grafana | 🤖 ML Enthusiast | 🐙 GitHub &amp;amp; Open Source | 📚 Learning &amp;amp; Sharing&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;🙋‍♂️ &lt;strong&gt;Precious Kelvin&lt;/strong&gt; – &lt;div class="ltag__user ltag__user__id__2164333"&gt;
    &lt;a href="/kelvincode1234" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2164333%2Fe0869f8f-bdd8-4c89-a951-a9cd5471f301.png" alt="kelvincode1234 image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/kelvincode1234"&gt; Precious Kelvin Nwaogu&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/kelvincode1234"&gt;Software Developer skilled in React, Nextjs, Nodejs, Java, HTML5, CSS3 &amp;amp; Material UI. I love building user-centered web applications and am always eager to learn 📚 and collaborate 🤝!&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Let us know what’s next — any API, article, or anything you want!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some ideas:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New APIs you want us to add&lt;/li&gt;
&lt;li&gt;Articles on how we manage the project using issues and PRs&lt;/li&gt;
&lt;li&gt;How we handle time zones&lt;/li&gt;
&lt;li&gt;Real project use cases&lt;/li&gt;
&lt;li&gt;Templates for using this project&lt;/li&gt;
&lt;li&gt;Or just any ideas or suggestions you have — we’ve got you covered!&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;💬 &lt;em&gt;Keep learning, keep building, keep breaking — and most importantly — keep using AquaScript!&lt;/em&gt; 🌊💻🚀&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We made this for you. Would love to hear your feedback!&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>aquascript</category>
      <category>api</category>
      <category>discuss</category>
      <category>opensource</category>
    </item>
    <item>
      <title>✅ Setting Up Cloud-based CI-CD Pipeline 🔄</title>
      <dc:creator>Madhurima Rawat</dc:creator>
      <pubDate>Mon, 19 May 2025 16:00:00 +0000</pubDate>
      <link>https://dev.to/madhurima_rawat/setting-up-cloud-based-ci-cd-pipeline-3jjn</link>
      <guid>https://dev.to/madhurima_rawat/setting-up-cloud-based-ci-cd-pipeline-3jjn</guid>
      <description>&lt;p&gt;&lt;strong&gt;🛰️ Hello Cloud Sentinels!!&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;May all your logs be clean and your dashboards insightful! 📈☁️&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;📚 All code, docs, and resources are available in my GitHub repository:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/madhurimarawat" rel="noopener noreferrer"&gt;
        madhurimarawat
      &lt;/a&gt; / &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
        Cloud-Computing
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Cloud-Computing&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/c9859653cc6bdc851215885b3436957ed5971e43cf6101fff3ff7886a076a56b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7265706f2d73697a652f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d5265706f25323053697a65266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Repo Size"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/stargazers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/df5a501b0624645ea6cb2483785cb7f2e528851973bdb5459f04612a3076fcd7/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233463743414339266c6162656c3d5374617273266c6162656c436f6c6f723d253233463141374238267374796c653d666f722d7468652d6261646765266c6f676f3d73746172" alt="GitHub Stars"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/network/members" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/6f89c73b10c60f6adafa90ad7b21b848298583df8d462a2becbe87d24059aab3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233443645324539266c6162656c3d466f726b73266c6162656c436f6c6f723d253233423944334532267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="GitHub Forks"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/issues" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/3a4b8ee004af093803fcbc24c59516c13e44cbba5d60b0c191bd9a1a713ad80d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464646354333266c6162656c3d4f70656e253230497373756573266c6162656c436f6c6f723d253233463445334132267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="GitHub Issues"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/issues?q=is%3Aissue+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/9a7e44607d1e3075d6ee0c4435fb62ec8967421b2c7b7cd08d82ed2fe03ade4f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d636c6f7365642f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d436c6f736564253230497373756573266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="Closed Issues"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/pulls" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/006d96a895a5a63e5c4cdc5cee99115e9f3f1e7cf347c0e8bc3a6cd76b72aecc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d4f70656e253230505273266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Open Pull Requests"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/pulls?q=is%3Apr+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/29f3240b8ff38a935f43f0302be69162dfa32b4a514810e67b642a90d1ee55fe/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722d636c6f7365642f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233443645324539266c6162656c3d436c6f736564253230505273266c6162656c436f6c6f723d253233423944334532267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Closed Pull Requests"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/discussions" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/4fd33ad946489a34cd15c0e9cc4672fc0360a2835497f89fd016f120149f46b5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f64697363757373696f6e732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464646354333266c6162656c3d44697363757373696f6e73266c6162656c436f6c6f723d253233463445334132267374796c653d666f722d7468652d6261646765266c6f676f3d646973636f75727365" alt="GitHub Discussions"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/graphs/contributors" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/8da36f92f85f0963a49b26b0e0fd687a62414e6d3a30c0ad543231e154cbc553/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233314641313943266c6162656c3d436f6e7472696275746f7273266c6162656c436f6c6f723d253233313937413736267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Contributors"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/455a748d858809820ad7f44f85c2e86faafd6a954c67ead5475c45eed721f6d3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f746f702f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d546f702532304c616e6775616765266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d707974686f6e" alt="Top Language"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/LICENSE" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/da655d545fe30c26a3114fabad1d4b1d5dd3b6a04f5e76eecdef695b3558c60f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233463339433132266c6162656c3d4c6963656e7365266c6162656c436f6c6f723d253233443638393130267374796c653d666f722d7468652d6261646765266c6f676f3d6f70656e2d736f757263652d696e6974696174697665" alt="License"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/commits/main" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/be4f3887f44ba5015568dc5cb9797b98d35fcef0b4e19cdf0cce6b5240846f93/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d4c617374253230436f6d6d6974266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Last Commit"&gt;
  &lt;/a&gt;


&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/bc683f8655ba0b26dd0beb55f18a552d39e70f4d3011f63a4d9474714b6829b2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5265706f2532304167652d3059253230334d25323034442d2532334646413037413f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6162656c436f6c6f723d25323335463945413026636f6c6f723d253233464138303732" alt="Repository Age"&gt;
&lt;/a&gt;


&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/d1222ee23d3ebd2f07992c4335829c81501e78a9c3abb14b06b270d46fef15d9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e672f7570646174652d7265706f2d696e666f2e796d6c3f636f6c6f723d253233373244444637266c6162656c3d576f726b666c6f77266c6162656c436f6c6f723d253233354343314537267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Workflow Status"&gt;
&lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/watchers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/e85d4eaaeb096eb979db583ba2685eb75331a0e0de102dca37aed25c12acff07/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f77617463686572732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d5761746368657273266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Watchers"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/6bc54e8b2205f3168e6211d168408366d8a64fbb33cde69d2a003f28ff1e1b74/68747470733a2f2f696d672e6672656570696b2e636f6d2f7072656d69756d2d766563746f722f636c6f75642d636f6d707574696e672d636f6e636570742d776974682d70656f706c652d7363656e652d6d616e2d776f6d616e2d70726f63657373696e672d696e666f726d6174696f6e2d6c6170746f70732d7573696e672d636c6f75642d746563686e6f6c6f67792d646174612d73746f726167652d6261636b75702d766563746f722d696c6c757374726174696f6e2d776974682d636861726163746572732d666c61742d64657369676e2d7765625f393230392d393831352e6a7067"&gt;&lt;img src="https://camo.githubusercontent.com/6bc54e8b2205f3168e6211d168408366d8a64fbb33cde69d2a003f28ff1e1b74/68747470733a2f2f696d672e6672656570696b2e636f6d2f7072656d69756d2d766563746f722f636c6f75642d636f6d707574696e672d636f6e636570742d776974682d70656f706c652d7363656e652d6d616e2d776f6d616e2d70726f63657373696e672d696e666f726d6174696f6e2d6c6170746f70732d7573696e672d636c6f75642d746563686e6f6c6f67792d646174612d73746f726167652d6261636b75702d766563746f722d696c6c757374726174696f6e2d776974682d636861726163746572732d666c61742d64657369676e2d7765625f393230392d393831352e6a7067" width="100%" height="500px"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Tools and Technologies ⚙️💻&lt;/h2&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;1. &lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/" rel="nofollow noopener noreferrer"&gt;AWS CLI&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;AWS Command Line Interface (CLI) is a powerful tool that allows users to interact with AWS services directly from the terminal. It simplifies managing cloud resources by providing commands for a wide range of AWS services, enabling tasks such as provisioning, managing, and automating workflows with ease.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;2. &lt;a href="https://docs.localstack.cloud/" rel="nofollow noopener noreferrer"&gt;LocalStack&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;LocalStack is a fully functional, local testing environment for AWS services. It enables developers to simulate AWS services on their local machines, facilitating the development and testing of cloud-based applications without needing access to an actual AWS account.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;3. &lt;a href="https://docs.docker.com/" rel="nofollow noopener noreferrer"&gt;Docker&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;Docker is a containerization platform that allows developers to build, share, and run applications in isolated environments called…&lt;/p&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
 In the &lt;strong&gt;last post&lt;/strong&gt;,&lt;br&gt;

&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/madhurima_rawat/implementing-cloud-monitoring-and-logging-1ob9" class="crayons-story__hidden-navigation-link"&gt;📊 Implementing Cloud Monitoring and Logging 🛠️&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/madhurima_rawat" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2F49f4ff03-59aa-4dd5-80f1-2ec430ec102a.jpg" alt="madhurima_rawat profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/madhurima_rawat" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Madhurima Rawat
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Madhurima Rawat
                
              
              &lt;div id="story-author-preview-content-2501075" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/madhurima_rawat" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2F49f4ff03-59aa-4dd5-80f1-2ec430ec102a.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Madhurima Rawat&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/madhurima_rawat/implementing-cloud-monitoring-and-logging-1ob9" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 19 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/madhurima_rawat/implementing-cloud-monitoring-and-logging-1ob9" id="article-link-2501075"&gt;
          📊 Implementing Cloud Monitoring and Logging 🛠️
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/aws"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;aws&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cloud"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cloud&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cloudcomputing"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cloudcomputing&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/tutorial"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tutorial&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/madhurima_rawat/implementing-cloud-monitoring-and-logging-1ob9" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;11&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/madhurima_rawat/implementing-cloud-monitoring-and-logging-1ob9#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              5&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            5 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
 we previously explored &lt;strong&gt;monitoring and logging&lt;/strong&gt;, and how logs are managed within the cloud.

&lt;p&gt;&lt;strong&gt;Today&lt;/strong&gt;, we’re diving into something equally exciting and essential:&lt;br&gt;
🚀 &lt;strong&gt;Cloud-based CI/CD Pipelines&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;First, I’ll walk you through &lt;strong&gt;what CI/CD really is&lt;/strong&gt;, why it’s a &lt;strong&gt;game-changer in modern development&lt;/strong&gt;, and then we’ll move on to its &lt;strong&gt;hands-on implementation&lt;/strong&gt; — from seamless code integration to fully automated deployment.&lt;/p&gt;

&lt;p&gt;In this experiment, we’ll set up a &lt;strong&gt;Continuous Integration/Continuous Deployment (CI/CD) pipeline&lt;/strong&gt; using &lt;strong&gt;GitHub Actions, Docker, and LocalStack&lt;/strong&gt;. You'll gain practical insights into &lt;strong&gt;automating cloud deployments&lt;/strong&gt; with &lt;strong&gt;AWS services&lt;/strong&gt;, particularly leveraging the &lt;strong&gt;AWS CLI&lt;/strong&gt; and &lt;strong&gt;S3&lt;/strong&gt; for efficient resource management.&lt;/p&gt;

&lt;p&gt;Let’s build pipelines that flow effortlessly — like water through perfectly engineered pipes! ☁️🔄🚀🛠️&lt;/p&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;🚀 How It Works&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;GitHub Actions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automates build, test, and deployment processes directly from GitHub.&lt;/li&gt;
&lt;li&gt;Triggers workflows on &lt;strong&gt;code commits, pull requests, or scheduled intervals&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2️⃣ &lt;strong&gt;Docker:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creates &lt;strong&gt;containerized environments&lt;/strong&gt; for running applications.&lt;/li&gt;
&lt;li&gt;Ensures that the pipeline runs consistently across different systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3️⃣ &lt;strong&gt;LocalStack:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simulates AWS cloud services locally (S3, Lambda, DynamoDB, etc.).&lt;/li&gt;
&lt;li&gt;Allows developers to test AWS-related workflows without real AWS costs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;4️⃣ &lt;strong&gt;AWS CLI &amp;amp; S3:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS CLI automates interactions with AWS services.&lt;/li&gt;
&lt;li&gt;S3 (Simple Storage Service) acts as a storage bucket for deployment artifacts.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;🔹 Use Cases&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;✅ &lt;strong&gt;Automated Deployment Pipelines&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Code is automatically tested, built, and deployed to cloud environments.&lt;/li&gt;
&lt;li&gt;Reduces manual intervention, ensuring faster release cycles.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ &lt;strong&gt;Simulating AWS Services Locally&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developers can test AWS-dependent applications &lt;strong&gt;without incurring AWS costs&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Ideal for &lt;strong&gt;offline development&lt;/strong&gt; or &lt;strong&gt;local testing&lt;/strong&gt; of cloud-native applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ &lt;strong&gt;Cloud-Based Workflow Testing&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ensures &lt;strong&gt;infrastructure as code&lt;/strong&gt; (IaC) principles by defining cloud setups in version control.&lt;/li&gt;
&lt;li&gt;Useful for DevOps teams deploying applications on AWS.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ &lt;strong&gt;Disaster Recovery &amp;amp; Backup Automation&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CI/CD can automate the creation of &lt;strong&gt;S3 backups&lt;/strong&gt; and deployment rollbacks.&lt;/li&gt;
&lt;li&gt;Helps maintain data integrity and business continuity.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ &lt;strong&gt;Microservices &amp;amp; Serverless Development&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supports &lt;strong&gt;Lambda function deployment&lt;/strong&gt;, API Gateway integration, and event-driven applications.&lt;/li&gt;
&lt;li&gt;Helps teams working on &lt;strong&gt;serverless computing&lt;/strong&gt; streamline their workflow.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;🌍 Real-Life Examples&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;📌 &lt;strong&gt;E-commerce Platforms&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploy new features to AWS-hosted websites seamlessly without downtime.&lt;/li&gt;
&lt;li&gt;Test changes in a &lt;strong&gt;LocalStack AWS simulation&lt;/strong&gt; before pushing them live.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📌 &lt;strong&gt;Financial Services&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automate deployment of &lt;strong&gt;fraud detection algorithms&lt;/strong&gt; in a secure pipeline.&lt;/li&gt;
&lt;li&gt;Ensure compliance by &lt;strong&gt;testing AWS interactions locally&lt;/strong&gt; before deploying.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📌 &lt;strong&gt;Mobile App Backend Development&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automatically deploy backend APIs (hosted on AWS Lambda) after each successful commit.&lt;/li&gt;
&lt;li&gt;Use LocalStack to &lt;strong&gt;test S3 storage operations without using real AWS resources&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📌 &lt;strong&gt;AI/ML Model Deployment&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automate pushing trained ML models to S3 for cloud inference.&lt;/li&gt;
&lt;li&gt;Use GitHub Actions to validate the model before deployment.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;🎯 Key Benefits&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;🔹 &lt;strong&gt;Faster Development Cycles&lt;/strong&gt; → Reduces manual deployment efforts.&lt;br&gt;&lt;br&gt;
🔹 &lt;strong&gt;Cost-Efficient Testing&lt;/strong&gt; → Simulates AWS without incurring costs.&lt;br&gt;&lt;br&gt;
🔹 &lt;strong&gt;Reliable Cloud Automation&lt;/strong&gt; → Ensures seamless integration &amp;amp; deployment.&lt;br&gt;&lt;br&gt;
🔹 &lt;strong&gt;Enhanced Security&lt;/strong&gt; → Controlled CI/CD workflow reduces human errors.&lt;br&gt;&lt;br&gt;
🔹 &lt;strong&gt;Scalability&lt;/strong&gt; → Easily extendable for various AWS services.&lt;/p&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;📷 Visual Representation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;🔗 Version Control in CI/CD&lt;/p&gt;

&lt;p&gt; &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2000%2F1%2AGCghsySEr-HB48bKytjaTQ.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A2000%2F1%2AGCghsySEr-HB48bKytjaTQ.gif" height="300px"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;🔗 CI/CD Pipeline Execution&lt;/p&gt;

&lt;p&gt; &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1400%2F1%2A1mYyliE8xO9v1xoAqmfHtA.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A1400%2F1%2A1mYyliE8xO9v1xoAqmfHtA.gif" height="300px"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;🖼️ &lt;strong&gt;About the Cover Image:&lt;/strong&gt;&lt;br&gt;
The visual begins with a &lt;strong&gt;cloud icon&lt;/strong&gt; surrounded by a &lt;strong&gt;🔄 CI/CD loop&lt;/strong&gt;, symbolizing continuous integration and deployment within the cloud environment.&lt;/p&gt;

&lt;p&gt;From the cloud, the flow branches out into &lt;strong&gt;three development lines&lt;/strong&gt;, each representing different &lt;strong&gt;GitHub branches&lt;/strong&gt;. These branches visually &lt;strong&gt;merge into one&lt;/strong&gt;, signifying the integration into the &lt;strong&gt;main branch&lt;/strong&gt; — a core concept of CI/CD pipelines.&lt;/p&gt;

&lt;p&gt;Next, the image shows &lt;strong&gt;three connected user icons&lt;/strong&gt;, representing seamless &lt;strong&gt;team collaboration&lt;/strong&gt; through GitHub and CI/CD processes. It highlights how developers work together, push changes, and build confidently in sync.&lt;/p&gt;

&lt;p&gt;🎨 The entire theme follows a &lt;strong&gt;black and grey palette&lt;/strong&gt;, inspired by the GitHub aesthetic.&lt;br&gt;
✅ The &lt;strong&gt;icons appear in green&lt;/strong&gt;, reinforcing the success-driven nature of CI/CD pipelines — where &lt;strong&gt;green indicates passing builds, clean merges, and successful deployments&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  CI/CD Pipelines with GitHub Actions, Docker, and LocalStack
&lt;/h2&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;1. Creating an S3 Bucket&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 s3 mb s3://my-ci-cd-artifacts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Explanation:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;aws s3 mb&lt;/code&gt; → Creates a new S3 bucket.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;s3://my-ci-cd-artifacts&lt;/code&gt; → The name of the bucket being created.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--endpoint-url=http://localhost:4566&lt;/code&gt; → Uses &lt;strong&gt;LocalStack&lt;/strong&gt; to simulate AWS services.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;make_bucket: my-ci-cd-artifacts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;2. Attempting to Create a CodeCommit Repository&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 codecommit create-
repository &lt;span class="nt"&gt;--repository-name&lt;/span&gt; my-repo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Explanation:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;aws codecommit create-repository&lt;/code&gt; → Creates a new AWS CodeCommit repository.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--repository-name my-repo&lt;/code&gt; → Assigns the repository name as &lt;code&gt;my-repo&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--endpoint-url=http://localhost:4566&lt;/code&gt; → Uses &lt;strong&gt;LocalStack&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Error Output:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;An error occurred &lt;span class="o"&gt;(&lt;/span&gt;InternalFailure&lt;span class="o"&gt;)&lt;/span&gt; when calling the
CreateRepository operation: API &lt;span class="k"&gt;for &lt;/span&gt;service &lt;span class="s1"&gt;'codecommit'&lt;/span&gt;
not yet implemented or pro feature - please check
https://docs.localstack.cloud/references/coverage/ &lt;span class="k"&gt;for &lt;/span&gt;further information
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;3. Initializing a Git Repository&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Explanation:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;git init&lt;/code&gt; → Initializes a new &lt;strong&gt;Git repository&lt;/strong&gt; in the current directory.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Initialized empty Git repository &lt;span class="k"&gt;in &lt;/span&gt;C:/Users/rawat/Documents/8
SEMESTER/Cloud Computing/Lab/Experiment 10/Codes/.git/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;4. Staging and Committing Files&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Commands:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git add &lt;span class="nb"&gt;.&lt;/span&gt;
git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Initial commit"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Explanation:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;git add .&lt;/code&gt; → Stages all files for commit.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git commit -m "Initial commit"&lt;/code&gt; → Commits the staged files with a message.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;[&lt;/span&gt;master &lt;span class="o"&gt;(&lt;/span&gt;root-commit&lt;span class="o"&gt;)&lt;/span&gt; 2dfb5b6] Initial commit
 3 files changed, 1153 insertions&lt;span class="o"&gt;(&lt;/span&gt;+&lt;span class="o"&gt;)&lt;/span&gt;
 create mode 100644 Command Prompt Input and Output Explanation.md
 create mode 100644 Command Prompt Input and Output Explanation.pdf
 create mode 100644 Command Prompt Input and Output.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;5. Uploading a ZIP File to S3&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 s3 &lt;span class="nb"&gt;cp &lt;/span&gt;my-code.zip
s3://my-ci-cd-artifacts/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Explanation:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;aws s3 cp&lt;/code&gt; → Copies a file to S3.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;my-code.zip&lt;/code&gt; → The file being uploaded.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;s3://my-ci-cd-artifacts/&lt;/code&gt; → Destination bucket in S3.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--endpoint-url=http://localhost:4566&lt;/code&gt; → Uses &lt;strong&gt;LocalStack&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Error Output:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;The user-provided path my-code.zip does not exist.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;6. Creating a ZIP Archive&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;powershell Compress-Archive &lt;span class="nt"&gt;-Path&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="nt"&gt;-DestinationPath&lt;/span&gt; my-code.zip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Explanation:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Compress-Archive -Path * -DestinationPath my-code.zip&lt;/code&gt; → Creates a ZIP archive of all files in the directory.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;7. Uploading the ZIP File Again&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 s3 &lt;span class="nb"&gt;cp &lt;/span&gt;my-code.zip
s3://my-ci-cd-artifacts/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;upload: .&lt;span class="se"&gt;\m&lt;/span&gt;y-code.zip to s3://my-ci-cd-artifacts/my-code.zip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;8. Listing the Uploaded Files in S3&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 s3 &lt;span class="nb"&gt;ls &lt;/span&gt;s3://my-ci-cd-artifacts/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;2025-03-08 10:32:42     289415 my-code.zip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;9. Setting Up a Remote Git Repository&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Commands:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git remote add origin https://github.com/madhurimarawat/Cloud-
Computing.git
git branch &lt;span class="nt"&gt;-M&lt;/span&gt; main
git push &lt;span class="nt"&gt;-u&lt;/span&gt; origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Explanation:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;git remote add origin &amp;lt;repo-url&amp;gt;&lt;/code&gt; → Links the local repository to GitHub.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git branch -M main&lt;/code&gt; → Renames the current branch to &lt;code&gt;main&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git push -u origin main&lt;/code&gt; → Pushes the code to GitHub.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Error Output:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;To https://github.com/madhurimarawat/Cloud-Computing.git
 &lt;span class="o"&gt;!&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;rejected]        main -&amp;gt; main &lt;span class="o"&gt;(&lt;/span&gt;fetch first&lt;span class="o"&gt;)&lt;/span&gt;
error: failed to push some refs to
&lt;span class="s1"&gt;'https://github.com/madhurimarawat/Cloud-Computing.git'&lt;/span&gt;
hint: Updates were rejected because the remote contains
work that you &lt;span class="k"&gt;do &lt;/span&gt;not
hint: have locally. This is usually caused by another
repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: &lt;span class="s1"&gt;'git pull'&lt;/span&gt; before pushing again.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Fix:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;To resolve this issue, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git pull origin main &lt;span class="nt"&gt;--rebase&lt;/span&gt;
git push &lt;span class="nt"&gt;-u&lt;/span&gt; origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;10. Pulling the Latest Changes from GitHub&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git pull origin main &lt;span class="nt"&gt;--rebase&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Explanation:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Fetches changes from the &lt;strong&gt;remote repository&lt;/strong&gt; and applies them using &lt;strong&gt;rebase&lt;/strong&gt; instead of a merge.&lt;/li&gt;
&lt;li&gt;Ensures a linear commit history by reapplying local changes on top of the latest remote changes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;remote: Enumerating objects: 240, done.
remote: Counting objects: 100% (240/240), done.
remote: Compressing objects: 100% (212/212), done.
remote: Total 240 (delta 100), reused 43 (delta 21), pack-reused 0
Receiving objects: 100% (240/240), 9.22 MiB | 1.11 MiB/s, done.
Resolving deltas: 100% (100/100), done.
From https://github.com/madhurimarawat/Cloud-Computing
 * branch            main       -&amp;gt; FETCH_HEAD
 * [new branch]      main       -&amp;gt; origin/main
Successfully rebased and updated refs/heads/main.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;11. Staging All Changes&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git add &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Explanation:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Stages all modified and newly created files in the &lt;strong&gt;current directory&lt;/strong&gt; for the next commit.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;12. Checking for an Ongoing Rebase&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git rebase &lt;span class="nt"&gt;--continue&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Explanation:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Used to &lt;strong&gt;continue&lt;/strong&gt; an ongoing rebase operation if there are conflicts.&lt;/li&gt;
&lt;li&gt;In this case, the &lt;strong&gt;error&lt;/strong&gt; means there was &lt;strong&gt;no ongoing rebase&lt;/strong&gt;, so this step was unnecessary.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fatal: no rebase in progress
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;13. Pushing Changes to GitHub&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git push &lt;span class="nt"&gt;-u&lt;/span&gt; origin main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Explanation:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Pushes local changes to the &lt;strong&gt;remote repository&lt;/strong&gt; (&lt;code&gt;origin&lt;/code&gt;), setting &lt;code&gt;main&lt;/code&gt; as the &lt;strong&gt;upstream branch&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;This makes future &lt;code&gt;git push&lt;/code&gt; commands &lt;strong&gt;simpler&lt;/strong&gt; by automatically pushing to &lt;code&gt;origin main&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 8 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 282.43 KiB | 31.38 MiB/s, done.
Total 5 (delta 1), reused 1 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/madhurimarawat/Cloud-Computing.git
   b201b02..eb4faf7  main -&amp;gt; main
branch 'main' set up to track 'origin/main'.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Output Breakdown:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Delta compression&lt;/strong&gt; → Reduces the size of transmitted data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Objects written successfully&lt;/strong&gt; → Confirms the &lt;strong&gt;push&lt;/strong&gt; was successful.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tracking branch set up&lt;/strong&gt; → Future &lt;code&gt;git push&lt;/code&gt; commands will default to &lt;code&gt;origin main&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;14. Viewing the YAML Deployment Workflow&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Link:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/.github/workflows/deploy.yml" rel="noopener noreferrer"&gt;View the deployment YAML file&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Purpose:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;This GitHub Actions workflow automates a &lt;strong&gt;manual deployment process&lt;/strong&gt; by performing the following steps:&lt;/p&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Workflow Breakdown:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Triggering the Workflow&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The workflow is &lt;strong&gt;manually triggered&lt;/strong&gt; using &lt;code&gt;workflow_dispatch&lt;/code&gt;, meaning it does &lt;strong&gt;not&lt;/strong&gt; run automatically on commits or merges.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Job Execution&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;single job&lt;/strong&gt; named &lt;code&gt;deploy&lt;/code&gt; is executed on &lt;strong&gt;Ubuntu-latest&lt;/strong&gt;, the default GitHub-hosted runner.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Steps in the Workflow&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Checkout Repository&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; - Uses `actions/checkout@v4` to fetch the repository contents into the GitHub Actions runner.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;(Optional)&lt;/em&gt; &lt;strong&gt;Install AWS CLI&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; - This step is commented out but would install the AWS CLI if needed.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;(Optional)&lt;/em&gt; &lt;strong&gt;Zip the Repository&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; - Another commented-out step that creates a ZIP archive of the repository.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;(Optional)&lt;/em&gt; &lt;strong&gt;Upload to LocalStack S3&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; - Demonstrates an attempt to upload the ZIP file to a **LocalStack S3 bucket**.
 - **⚠️ This step does NOT work in GitHub Actions**, since LocalStack would need to be running on the same machine.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Print Success Message&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Simply prints &lt;code&gt;"Successfully run!"&lt;/code&gt; to indicate that the workflow has been executed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Key Considerations:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;This workflow is primarily a &lt;strong&gt;template&lt;/strong&gt; for deploying to &lt;strong&gt;LocalStack S3&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Since GitHub Actions &lt;strong&gt;runs on cloud-hosted VMs&lt;/strong&gt;, it cannot access &lt;strong&gt;LocalStack running locally&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;We can modify this workflow to deploy to a real AWS S3 bucket by configuring proper AWS credentials.&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;📄 &lt;strong&gt;Want to see how everything came together step by step? Check it out here:&lt;/strong&gt;&lt;br&gt;
🔗 &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Experiment%2010/Output/Experiment%2010%20Output.pdf" rel="noopener noreferrer"&gt;Experiment 10 Output (PDF)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🧠 Curious about the exact commands and how they function? Explore the detailed input-output flow:&lt;br&gt;
🖥️ &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Experiment%2010/Codes/Command%20Prompt%20Input%20and%20Output%20Explanation.pdf" rel="noopener noreferrer"&gt;CI/CD Setup Input-Output Flow (PDF)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🎉 &lt;strong&gt;And that’s a wrap on Cloud-based CI/CD Pipelines!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;📚 &lt;strong&gt;Got awesome CI/CD tips, resources, or cheat sheets?&lt;/strong&gt; Feel free to drop them in the &lt;strong&gt;comments&lt;/strong&gt; — I’d love to explore and share them!&lt;/p&gt;

&lt;p&gt;📘 &lt;strong&gt;Want a compact version of all experiments with explanations and outputs in one place?&lt;/strong&gt;&lt;br&gt;
Grab the complete PDF here:&lt;br&gt;
📂 &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Lab%20Manual/Lab%20Manual.pdf" rel="noopener noreferrer"&gt;Cloud Computing Lab Manual (PDF)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;💖 &lt;strong&gt;This is the final article in this series.&lt;/strong&gt;&lt;br&gt;
Thank you all so much for sticking with me and exploring the world of &lt;strong&gt;Cloud Computing&lt;/strong&gt; through each of these posts! It’s been an incredible journey, and I hope you found each article insightful and practical.&lt;/p&gt;

&lt;p&gt;💬 I’d love to hear from &lt;strong&gt;you&lt;/strong&gt;:&lt;br&gt;
✨ &lt;em&gt;Which article was your favorite?&lt;/em&gt;&lt;br&gt;
✨ &lt;em&gt;How did you like the series overall?&lt;/em&gt;&lt;br&gt;
✨ &lt;em&gt;And most importantly — what should I explore next?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here are a few exciting ideas I’m considering for the next series:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📊 &lt;strong&gt;Big Data Analytics using Hadoop&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🏢 &lt;strong&gt;Data Warehousing using MySQL&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🐍🧹 &lt;strong&gt;Data Wrangling using Python and MySQL&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;💻 &lt;strong&gt;A community-powered series&lt;/strong&gt; based on my repo: &lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/madhurimarawat" rel="noopener noreferrer"&gt;
        madhurimarawat
      &lt;/a&gt; / &lt;a href="https://github.com/madhurimarawat/CodeCulture-Daily" rel="noopener noreferrer"&gt;
        CodeCulture-Daily
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A daily programming challenge repository where fun meets learning! With 39 challenges over 39 days, it helps coders enhance skills through practical tasks and interview prep. While maintenance is paused, contributions are welcome, and future expansions are planned to keep learning ongoing.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🚀 CodeCulture-Daily&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;A daily programming challenge repository where fun meets learning! Solve challenges, learn new tools and technologies, and get featured as a top contributor. Join now to sharpen your coding skills!&lt;/p&gt;

&lt;p&gt;
  &lt;i&gt; “It's not about ideas. It's about making ideas happen.” &lt;/i&gt; – Scott Belsky
  &lt;br&gt; &lt;br&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/a40c98088ee748de9aee9b1dc9a13ba030fc0760dd924b2a03aae02175d7fd61/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f646543756c747572652d4461696c792532304368616c6c656e6765732d6666363962343f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562"&gt;&lt;img src="https://camo.githubusercontent.com/a40c98088ee748de9aee9b1dc9a13ba030fc0760dd924b2a03aae02175d7fd61/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f646543756c747572652d4461696c792532304368616c6c656e6765732d6666363962343f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="CodeCulture-Daily Banner"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/madhurimarawat/CodeCulture-Daily/blob/main/docs/images/Illustration%201.webp" rel="noopener noreferrer"&gt; &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fmadhurimarawat%2FCodeCulture-Daily%2Fraw%2Fmain%2Fdocs%2Fimages%2FIllustration%25201.webp" title="Illustration 1" alt="Illustration 1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
  Welcome to &lt;strong&gt;CodeCulture-Daily&lt;/strong&gt;, your go-to spot for daily programming and tech challenges! 🎉
&lt;/p&gt;

&lt;p&gt;By practicing daily, you'll not only sharpen your problem-solving skills but also learn and master various tools, technologies, algorithms, and much more. Whether you're starting as a beginner or pushing through advanced levels, &lt;strong&gt;CodeCulture-Daily&lt;/strong&gt; is the perfect platform to grow your knowledge. 💡&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🌟 What to Expect&lt;/h2&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;📅 Daily Challenges&lt;/strong&gt;: Every day at &lt;strong&gt;7 PM&lt;/strong&gt;, a new challenge will be posted in this repository.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🏆 Three Levels&lt;/strong&gt;: Each challenge is categorized by difficulty
&lt;ul&gt;
&lt;li&gt;🟢 &lt;strong&gt;Beginner&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🟡 &lt;strong&gt;Intermediate&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🔴 &lt;strong&gt;Advanced&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;📂 Domain Categories&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tech&lt;/strong&gt; 💻
&lt;ul&gt;
&lt;li&gt;🖥️ &lt;strong&gt;Programming Languages&lt;/strong&gt;…&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;/ul&gt;
&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/madhurimarawat/CodeCulture-Daily" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;

 📌 In this one, I’ll post one question daily — and we’ll solve it together in the &lt;strong&gt;comments&lt;/strong&gt;. How fun would that be?&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;👉 Let me know in the &lt;strong&gt;comments&lt;/strong&gt; which one you'd love to dive into next!&lt;/p&gt;

&lt;p&gt;Until the next article — &lt;strong&gt;goodbye for now!&lt;/strong&gt; 🌟&lt;br&gt;
Let’s meet again in the next series. 🙌💻🚀&lt;/p&gt;

</description>
      <category>cicd</category>
      <category>github</category>
      <category>githubactions</category>
      <category>aws</category>
    </item>
    <item>
      <title>📊 Implementing Cloud Monitoring and Logging 🛠️</title>
      <dc:creator>Madhurima Rawat</dc:creator>
      <pubDate>Mon, 19 May 2025 06:34:28 +0000</pubDate>
      <link>https://dev.to/madhurima_rawat/implementing-cloud-monitoring-and-logging-1ob9</link>
      <guid>https://dev.to/madhurima_rawat/implementing-cloud-monitoring-and-logging-1ob9</guid>
      <description>&lt;p&gt;&lt;strong&gt;📊 Hello Access Managers!!&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;From setting secure roles to watching them in action — let’s move from IAM to real-time monitoring and logging! 🔐➡️📊&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;📚 All code, docs, and resources are available in my GitHub repository:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/madhurimarawat" rel="noopener noreferrer"&gt;
        madhurimarawat
      &lt;/a&gt; / &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
        Cloud-Computing
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Cloud-Computing&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/c9859653cc6bdc851215885b3436957ed5971e43cf6101fff3ff7886a076a56b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7265706f2d73697a652f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d5265706f25323053697a65266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Repo Size"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/stargazers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/df5a501b0624645ea6cb2483785cb7f2e528851973bdb5459f04612a3076fcd7/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233463743414339266c6162656c3d5374617273266c6162656c436f6c6f723d253233463141374238267374796c653d666f722d7468652d6261646765266c6f676f3d73746172" alt="GitHub Stars"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/network/members" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/6f89c73b10c60f6adafa90ad7b21b848298583df8d462a2becbe87d24059aab3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233443645324539266c6162656c3d466f726b73266c6162656c436f6c6f723d253233423944334532267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="GitHub Forks"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/issues" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/3a4b8ee004af093803fcbc24c59516c13e44cbba5d60b0c191bd9a1a713ad80d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464646354333266c6162656c3d4f70656e253230497373756573266c6162656c436f6c6f723d253233463445334132267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="GitHub Issues"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/issues?q=is%3Aissue+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/9a7e44607d1e3075d6ee0c4435fb62ec8967421b2c7b7cd08d82ed2fe03ade4f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d636c6f7365642f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d436c6f736564253230497373756573266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="Closed Issues"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/pulls" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/006d96a895a5a63e5c4cdc5cee99115e9f3f1e7cf347c0e8bc3a6cd76b72aecc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d4f70656e253230505273266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Open Pull Requests"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/pulls?q=is%3Apr+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/29f3240b8ff38a935f43f0302be69162dfa32b4a514810e67b642a90d1ee55fe/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722d636c6f7365642f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233443645324539266c6162656c3d436c6f736564253230505273266c6162656c436f6c6f723d253233423944334532267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Closed Pull Requests"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/discussions" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/4fd33ad946489a34cd15c0e9cc4672fc0360a2835497f89fd016f120149f46b5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f64697363757373696f6e732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464646354333266c6162656c3d44697363757373696f6e73266c6162656c436f6c6f723d253233463445334132267374796c653d666f722d7468652d6261646765266c6f676f3d646973636f75727365" alt="GitHub Discussions"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/graphs/contributors" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/8da36f92f85f0963a49b26b0e0fd687a62414e6d3a30c0ad543231e154cbc553/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233314641313943266c6162656c3d436f6e7472696275746f7273266c6162656c436f6c6f723d253233313937413736267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Contributors"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/455a748d858809820ad7f44f85c2e86faafd6a954c67ead5475c45eed721f6d3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f746f702f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d546f702532304c616e6775616765266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d707974686f6e" alt="Top Language"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/LICENSE" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/da655d545fe30c26a3114fabad1d4b1d5dd3b6a04f5e76eecdef695b3558c60f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233463339433132266c6162656c3d4c6963656e7365266c6162656c436f6c6f723d253233443638393130267374796c653d666f722d7468652d6261646765266c6f676f3d6f70656e2d736f757263652d696e6974696174697665" alt="License"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/commits/main" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/be4f3887f44ba5015568dc5cb9797b98d35fcef0b4e19cdf0cce6b5240846f93/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d4c617374253230436f6d6d6974266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Last Commit"&gt;
  &lt;/a&gt;


&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/bc683f8655ba0b26dd0beb55f18a552d39e70f4d3011f63a4d9474714b6829b2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5265706f2532304167652d3059253230334d25323034442d2532334646413037413f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6162656c436f6c6f723d25323335463945413026636f6c6f723d253233464138303732" alt="Repository Age"&gt;
&lt;/a&gt;


&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/d1222ee23d3ebd2f07992c4335829c81501e78a9c3abb14b06b270d46fef15d9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e672f7570646174652d7265706f2d696e666f2e796d6c3f636f6c6f723d253233373244444637266c6162656c3d576f726b666c6f77266c6162656c436f6c6f723d253233354343314537267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Workflow Status"&gt;
&lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/watchers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/e85d4eaaeb096eb979db583ba2685eb75331a0e0de102dca37aed25c12acff07/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f77617463686572732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d5761746368657273266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Watchers"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/6bc54e8b2205f3168e6211d168408366d8a64fbb33cde69d2a003f28ff1e1b74/68747470733a2f2f696d672e6672656570696b2e636f6d2f7072656d69756d2d766563746f722f636c6f75642d636f6d707574696e672d636f6e636570742d776974682d70656f706c652d7363656e652d6d616e2d776f6d616e2d70726f63657373696e672d696e666f726d6174696f6e2d6c6170746f70732d7573696e672d636c6f75642d746563686e6f6c6f67792d646174612d73746f726167652d6261636b75702d766563746f722d696c6c757374726174696f6e2d776974682d636861726163746572732d666c61742d64657369676e2d7765625f393230392d393831352e6a7067"&gt;&lt;img src="https://camo.githubusercontent.com/6bc54e8b2205f3168e6211d168408366d8a64fbb33cde69d2a003f28ff1e1b74/68747470733a2f2f696d672e6672656570696b2e636f6d2f7072656d69756d2d766563746f722f636c6f75642d636f6d707574696e672d636f6e636570742d776974682d70656f706c652d7363656e652d6d616e2d776f6d616e2d70726f63657373696e672d696e666f726d6174696f6e2d6c6170746f70732d7573696e672d636c6f75642d746563686e6f6c6f67792d646174612d73746f726167652d6261636b75702d766563746f722d696c6c757374726174696f6e2d776974682d636861726163746572732d666c61742d64657369676e2d7765625f393230392d393831352e6a7067" width="100%" height="500px"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Tools and Technologies ⚙️💻&lt;/h2&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;1. &lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/" rel="nofollow noopener noreferrer"&gt;AWS CLI&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;AWS Command Line Interface (CLI) is a powerful tool that allows users to interact with AWS services directly from the terminal. It simplifies managing cloud resources by providing commands for a wide range of AWS services, enabling tasks such as provisioning, managing, and automating workflows with ease.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;2. &lt;a href="https://docs.localstack.cloud/" rel="nofollow noopener noreferrer"&gt;LocalStack&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;LocalStack is a fully functional, local testing environment for AWS services. It enables developers to simulate AWS services on their local machines, facilitating the development and testing of cloud-based applications without needing access to an actual AWS account.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;3. &lt;a href="https://docs.docker.com/" rel="nofollow noopener noreferrer"&gt;Docker&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;Docker is a containerization platform that allows developers to build, share, and run applications in isolated environments called…&lt;/p&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
 In the &lt;strong&gt;last post&lt;/strong&gt;,&lt;br&gt;

&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/madhurima_rawat/cloud-identity-and-access-management-iam-696" class="crayons-story__hidden-navigation-link"&gt;👥 Cloud Identity and Access Management (IAM) 🔓&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/madhurima_rawat" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2F49f4ff03-59aa-4dd5-80f1-2ec430ec102a.jpg" alt="madhurima_rawat profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/madhurima_rawat" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Madhurima Rawat
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Madhurima Rawat
                
              
              &lt;div id="story-author-preview-content-2496156" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/madhurima_rawat" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2F49f4ff03-59aa-4dd5-80f1-2ec430ec102a.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Madhurima Rawat&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/madhurima_rawat/cloud-identity-and-access-management-iam-696" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 17 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/madhurima_rawat/cloud-identity-and-access-management-iam-696" id="article-link-2496156"&gt;
          👥 Cloud Identity and Access Management (IAM) 🔓
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cloud"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cloud&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cloudcomputing"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cloudcomputing&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/aws"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;aws&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/iam"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;iam&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/madhurima_rawat/cloud-identity-and-access-management-iam-696" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;14&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/madhurima_rawat/cloud-identity-and-access-management-iam-696#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              4&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            6 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
 we explored &lt;strong&gt;Cloud Identity and Access Management (IAM)&lt;/strong&gt; and how to &lt;strong&gt;secure your cloud infrastructure&lt;/strong&gt; with fine-grained access control.

&lt;p&gt;&lt;strong&gt;Today&lt;/strong&gt;, we’re gonna dive into something equally vital,&lt;br&gt;
📊 &lt;strong&gt;Cloud Monitoring and Logging&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;First, I’ll explain &lt;strong&gt;what monitoring and logging actually mean&lt;/strong&gt;, why they’re absolutely &lt;strong&gt;essential in any cloud setup&lt;/strong&gt;, and share some &lt;strong&gt;real-life use cases&lt;/strong&gt; that show their impact.&lt;br&gt;
Then we’ll move ahead with the &lt;strong&gt;implementation&lt;/strong&gt;.&lt;/p&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;What is AWS CloudWatch?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;AWS CloudWatch is a &lt;strong&gt;monitoring and observability&lt;/strong&gt; service that collects and tracks &lt;strong&gt;metrics, logs, and events&lt;/strong&gt; to provide insights into cloud resources and applications.&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.whizlabs.com%2Fblog%2Fwp-content%2Fuploads%2F2017%2F04%2FHow-Amazon-CloudWatch-works-2048x1152.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.whizlabs.com%2Fblog%2Fwp-content%2Fuploads%2F2017%2F04%2FHow-Amazon-CloudWatch-works-2048x1152.png" height="285px"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;🔹 &lt;strong&gt;Key Features of CloudWatch:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Metrics Monitoring&lt;/strong&gt; 📊: Collects and analyzes performance metrics for AWS services.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Log Management&lt;/strong&gt; 📜: Stores and processes logs for applications and infrastructure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alarms &amp;amp; Notifications&lt;/strong&gt; 🚨: Triggers alerts based on threshold values.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dashboards &amp;amp; Visualization&lt;/strong&gt; 📈: Provides real-time monitoring dashboards.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Event-driven Automation&lt;/strong&gt; ⚙️: Automates actions based on events.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Understanding Log Management&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Log management is a crucial part of &lt;strong&gt;cloud monitoring&lt;/strong&gt; and involves the collection, storage, and analysis of logs.&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.pinimg.com%2F736x%2Fea%2F45%2Fd9%2Fea45d92c8dc7c49d21ad545103f6f2fe.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.pinimg.com%2F736x%2Fea%2F45%2Fd9%2Fea45d92c8dc7c49d21ad545103f6f2fe.jpg" height="285px"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;Six Components of Log Management:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fc7.alamy.com%2Fcomp%2F2PH3YXN%2Fsix-components-of-log-management-2PH3YXN.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fc7.alamy.com%2Fcomp%2F2PH3YXN%2Fsix-components-of-log-management-2PH3YXN.jpg" height="285px"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Log Collection&lt;/strong&gt; 🏗️: Logs are gathered from various sources (servers, applications, cloud services).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Log Aggregation&lt;/strong&gt; 🗃️: Logs are combined and stored in a centralized system like CloudWatch Logs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Log Storage&lt;/strong&gt; 🏢: Logs are kept in CloudWatch &lt;strong&gt;Log Groups&lt;/strong&gt; and &lt;strong&gt;Log Streams&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Log Analysis&lt;/strong&gt; 🔍: Tools like AWS CloudWatch Insights analyze log data for patterns and trends.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Log Monitoring &amp;amp; Alerts&lt;/strong&gt; 🚨: CloudWatch can send alerts based on predefined conditions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compliance &amp;amp; Retention&lt;/strong&gt; ✅: Logs are archived based on security and compliance requirements.&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;What Are Log Streams?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Log streams represent a sequence of &lt;strong&gt;log events&lt;/strong&gt; from the same source (e.g., an application instance, EC2 instance, or microservice).&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.slideplayer.com%2F25%2F8011789%2Fslides%2Fslide_2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.slideplayer.com%2F25%2F8011789%2Fslides%2Fslide_2.jpg" height="285px"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;🔹 &lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A web server might have separate log streams for &lt;strong&gt;each instance&lt;/strong&gt; it runs on.&lt;/li&gt;
&lt;li&gt;CloudWatch logs are organized in &lt;strong&gt;log groups&lt;/strong&gt;, and each log group contains multiple &lt;strong&gt;log streams&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimage3.slideserve.com%2F5914791%2Fdata-stream-management-system-dsms-l.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimage3.slideserve.com%2F5914791%2Fdata-stream-management-system-dsms-l.jpg" height="285px"&gt;&lt;/a&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Real-life Use Case: CloudWatch Logs &amp;amp; Metrics&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
A company hosts its web application on AWS &lt;strong&gt;EC2 instances&lt;/strong&gt; and wants to &lt;strong&gt;monitor CPU usage&lt;/strong&gt; and &lt;strong&gt;analyze logs&lt;/strong&gt; for errors.&lt;/p&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Steps in AWS CloudWatch:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;Enable CloudWatch Logs&lt;/strong&gt; on EC2 instances to store application logs.&lt;br&gt;&lt;br&gt;
2️⃣ &lt;strong&gt;Create a log group&lt;/strong&gt; &lt;code&gt;/my/app/logs&lt;/code&gt; and &lt;strong&gt;define log streams&lt;/strong&gt; for different instances.&lt;br&gt;&lt;br&gt;
3️⃣ &lt;strong&gt;Send logs &amp;amp; metrics&lt;/strong&gt; (e.g., CPU usage, errors, response time) to CloudWatch.&lt;br&gt;&lt;br&gt;
4️⃣ &lt;strong&gt;Set up alarms&lt;/strong&gt; to notify the DevOps team when CPU usage exceeds &lt;strong&gt;80%&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
5️⃣ &lt;strong&gt;Analyze logs&lt;/strong&gt; using CloudWatch Insights to detect anomalies.&lt;/p&gt;

&lt;p&gt;🖼️ &lt;strong&gt;About the Cover Image:&lt;/strong&gt;&lt;br&gt;
It begins with a &lt;strong&gt;speedometer icon&lt;/strong&gt;, representing &lt;strong&gt;metrics and performance monitoring&lt;/strong&gt; — capturing real-time data like logs, usage stats, and resource health.&lt;br&gt;
Next, a &lt;strong&gt;checkbox with a right tick&lt;/strong&gt; symbolizes that all essential cloud services are being &lt;strong&gt;actively monitored and running smoothly&lt;/strong&gt; ✅.&lt;br&gt;
Following that, a &lt;strong&gt;warning icon&lt;/strong&gt; appears to indicate that &lt;strong&gt;if anything goes wrong&lt;/strong&gt;, the system will trigger &lt;strong&gt;alerts and notifications&lt;/strong&gt; ⚠️.&lt;br&gt;
Finally, a &lt;strong&gt;heart with a heartbeat line&lt;/strong&gt; represents the idea of &lt;strong&gt;continuous, real-time monitoring&lt;/strong&gt; — ensuring your cloud stays alive, healthy, and responsive 💓📡.&lt;/p&gt;


&lt;h2&gt;
  
  
  AWS CLI Commands for LocalStack (CloudWatch and Logs)
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Create a Log Group
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 logs create-log-group
&lt;span class="nt"&gt;--log-group-name&lt;/span&gt; /my/app/logs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creates a log group named &lt;code&gt;/my/app/logs&lt;/code&gt; in AWS CloudWatch Logs.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  2. Create a Log Stream
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 logs create-log-stream
&lt;span class="nt"&gt;--log-group-name&lt;/span&gt; /my/app/logs &lt;span class="nt"&gt;--log-stream-name&lt;/span&gt; my-stream
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creates a log stream named &lt;code&gt;my-stream&lt;/code&gt; within the &lt;code&gt;/my/app/logs&lt;/code&gt; log group.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  3. Put Log Events
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 logs put-log-events &lt;span class="nt"&gt;--&lt;/span&gt;
log-group-name /my/app/logs &lt;span class="nt"&gt;--log-stream-name&lt;/span&gt; my-stream &lt;span class="nt"&gt;--log-&lt;/span&gt;
events &lt;span class="s2"&gt;"[{&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;timestamp&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;:1741348140000,&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;message&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;:&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;Test log entry&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;}]"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Adds a log entry with a timestamp (&lt;code&gt;1741348140000&lt;/code&gt;) and message (&lt;code&gt;Test log entry&lt;/code&gt;) to the &lt;code&gt;my-stream&lt;/code&gt; log stream.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-----------------------------------------------------------------------------------
|                                  PutLogEvents                                   |
+--------------------+------------------------------------------------------------+
|  nextSequenceToken |  00000000000000000000000000000000000000000000000000000001  |
+--------------------+------------------------------------------------------------+
||                             rejectedLogEventsInfo                             ||
|+-------------------------------------------------------------------+-----------+|
||  tooNewLogEventStartIndex                                         |  0        ||
|+-------------------------------------------------------------------+-----------+|
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  4. Put Metric Data
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 cloudwatch put-metric-
data &lt;span class="nt"&gt;--namespace&lt;/span&gt; &lt;span class="s2"&gt;"MyApp"&lt;/span&gt; &lt;span class="nt"&gt;--metric-name&lt;/span&gt; &lt;span class="s2"&gt;"CPUUsage"&lt;/span&gt; &lt;span class="nt"&gt;--value&lt;/span&gt; 75
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Publishes a custom CloudWatch metric &lt;code&gt;CPUUsage&lt;/code&gt; with a value of &lt;code&gt;75&lt;/code&gt; in the &lt;code&gt;MyApp&lt;/code&gt; namespace.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  5. List CloudWatch Metrics
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 cloudwatch
list-metrics &lt;span class="nt"&gt;--namespace&lt;/span&gt; &lt;span class="s2"&gt;"MyApp"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lists all CloudWatch metrics under the &lt;code&gt;MyApp&lt;/code&gt; namespace.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-------------------------------
|         ListMetrics         |
+-----------------------------+
||          Metrics          ||
|+-------------+-------------+|
|| MetricName  |  Namespace  ||
|+-------------+-------------+|
||  CPUUsage   |  MyApp      ||
|+-------------+-------------+|
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  6. Describe Log Groups
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 logs describe-log-groups
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Retrieves details of all log groups available in CloudWatch Logs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-----------------------------------------------------------------------------------------
|                                   DescribeLogGroups                                   |
+---------------------------------------------------------------------------------------+
||                                      logGroups                                      ||
|+-------------------+-----------------------------------------------------------------+|
||  arn              |  arn:aws:logs:us-east-1:000000000000:log-group:/my/app/logs:*   ||
||  creationTime     |  1741322075726                                                  ||
||  logGroupName     |  /my/app/logs                                                   ||
||  metricFilterCount|  0                                                              ||
||  storedBytes      |  0                                                              ||
|+-------------------+-----------------------------------------------------------------+|
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  7. Retrieve Log Events
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 logs get-log-events
&lt;span class="nt"&gt;--log-group-name&lt;/span&gt; /my/app/logs &lt;span class="nt"&gt;--log-stream-name&lt;/span&gt; my-stream
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fetches the log events from &lt;code&gt;my-stream&lt;/code&gt; under &lt;code&gt;/my/app/logs&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-------------------------------------------------------------------------------------
|                                   GetLogEvents                                    |
+--------------------+--------------------------------------------------------------+
|  nextBackwardToken |  b/00000000000000000000000000000000000000000000000000000000  |
|  nextForwardToken  |  f/00000000000000000000000000000000000000000000000000000000  |
+--------------------+--------------------------------------------------------------+
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Want to see how it all worked step by step? Check it out here:&lt;/strong&gt;&lt;br&gt;
🔗 &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Experiment%209/Output/Experiment%209%20Output.pdf" rel="noopener noreferrer"&gt;Experiment 9 Output (PDF)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🧠 Curious about how each command runs and responds? See the detailed input-output flow here:&lt;br&gt;
🖥️ &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Experiment%209/Codes/Command%20Prompt%20Input%20and%20Output%20Explanation.pdf" rel="noopener noreferrer"&gt;Monitoring Setup Input-Output Flow (PDF)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🎉 &lt;strong&gt;And that’s a wrap on Cloud Monitoring and Logging!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;📚 &lt;strong&gt;Found great monitoring tools, cheat sheets, or observability hacks?&lt;/strong&gt; Drop them in the &lt;strong&gt;comments&lt;/strong&gt;. I’d love to check them out and share with the community!&lt;/p&gt;

&lt;p&gt;🚀 &lt;strong&gt;Stay tuned for the next article!&lt;/strong&gt;&lt;br&gt;
Up next, we’ll dive into &lt;strong&gt;Setting Up a Cloud-based CI/CD Pipeline&lt;/strong&gt; — where you’ll learn how to automate deployment and streamline your cloud workflows like a pro. 🔄☁️💻&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>cloudcomputing</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>👥 Cloud Identity and Access Management (IAM) 🔓</title>
      <dc:creator>Madhurima Rawat</dc:creator>
      <pubDate>Sat, 17 May 2025 07:44:39 +0000</pubDate>
      <link>https://dev.to/madhurima_rawat/cloud-identity-and-access-management-iam-696</link>
      <guid>https://dev.to/madhurima_rawat/cloud-identity-and-access-management-iam-696</guid>
      <description>&lt;p&gt;&lt;strong&gt;🦈 Hello Storage Sharks!!&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;May all your database data be stored and queried faster than lightning ⚡📊&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;📚 All code, docs, and resources are available in my GitHub repository:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/madhurimarawat" rel="noopener noreferrer"&gt;
        madhurimarawat
      &lt;/a&gt; / &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
        Cloud-Computing
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Cloud-Computing&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/c9859653cc6bdc851215885b3436957ed5971e43cf6101fff3ff7886a076a56b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7265706f2d73697a652f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d5265706f25323053697a65266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Repo Size"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/stargazers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/df5a501b0624645ea6cb2483785cb7f2e528851973bdb5459f04612a3076fcd7/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233463743414339266c6162656c3d5374617273266c6162656c436f6c6f723d253233463141374238267374796c653d666f722d7468652d6261646765266c6f676f3d73746172" alt="GitHub Stars"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/network/members" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/6f89c73b10c60f6adafa90ad7b21b848298583df8d462a2becbe87d24059aab3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233443645324539266c6162656c3d466f726b73266c6162656c436f6c6f723d253233423944334532267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="GitHub Forks"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/issues" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/3a4b8ee004af093803fcbc24c59516c13e44cbba5d60b0c191bd9a1a713ad80d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464646354333266c6162656c3d4f70656e253230497373756573266c6162656c436f6c6f723d253233463445334132267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="GitHub Issues"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/issues?q=is%3Aissue+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/9a7e44607d1e3075d6ee0c4435fb62ec8967421b2c7b7cd08d82ed2fe03ade4f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d636c6f7365642f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d436c6f736564253230497373756573266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="Closed Issues"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/pulls" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/006d96a895a5a63e5c4cdc5cee99115e9f3f1e7cf347c0e8bc3a6cd76b72aecc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d4f70656e253230505273266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Open Pull Requests"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/pulls?q=is%3Apr+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/29f3240b8ff38a935f43f0302be69162dfa32b4a514810e67b642a90d1ee55fe/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722d636c6f7365642f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233443645324539266c6162656c3d436c6f736564253230505273266c6162656c436f6c6f723d253233423944334532267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Closed Pull Requests"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/discussions" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/4fd33ad946489a34cd15c0e9cc4672fc0360a2835497f89fd016f120149f46b5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f64697363757373696f6e732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464646354333266c6162656c3d44697363757373696f6e73266c6162656c436f6c6f723d253233463445334132267374796c653d666f722d7468652d6261646765266c6f676f3d646973636f75727365" alt="GitHub Discussions"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/graphs/contributors" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/8da36f92f85f0963a49b26b0e0fd687a62414e6d3a30c0ad543231e154cbc553/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233314641313943266c6162656c3d436f6e7472696275746f7273266c6162656c436f6c6f723d253233313937413736267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Contributors"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/455a748d858809820ad7f44f85c2e86faafd6a954c67ead5475c45eed721f6d3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f746f702f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d546f702532304c616e6775616765266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d707974686f6e" alt="Top Language"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/LICENSE" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/da655d545fe30c26a3114fabad1d4b1d5dd3b6a04f5e76eecdef695b3558c60f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233463339433132266c6162656c3d4c6963656e7365266c6162656c436f6c6f723d253233443638393130267374796c653d666f722d7468652d6261646765266c6f676f3d6f70656e2d736f757263652d696e6974696174697665" alt="License"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/commits/main" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/be4f3887f44ba5015568dc5cb9797b98d35fcef0b4e19cdf0cce6b5240846f93/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d4c617374253230436f6d6d6974266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Last Commit"&gt;
  &lt;/a&gt;


&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/bc683f8655ba0b26dd0beb55f18a552d39e70f4d3011f63a4d9474714b6829b2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5265706f2532304167652d3059253230334d25323034442d2532334646413037413f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6162656c436f6c6f723d25323335463945413026636f6c6f723d253233464138303732" alt="Repository Age"&gt;
&lt;/a&gt;


&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/d1222ee23d3ebd2f07992c4335829c81501e78a9c3abb14b06b270d46fef15d9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e672f7570646174652d7265706f2d696e666f2e796d6c3f636f6c6f723d253233373244444637266c6162656c3d576f726b666c6f77266c6162656c436f6c6f723d253233354343314537267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Workflow Status"&gt;
&lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/watchers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/e85d4eaaeb096eb979db583ba2685eb75331a0e0de102dca37aed25c12acff07/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f77617463686572732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d5761746368657273266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Watchers"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/6bc54e8b2205f3168e6211d168408366d8a64fbb33cde69d2a003f28ff1e1b74/68747470733a2f2f696d672e6672656570696b2e636f6d2f7072656d69756d2d766563746f722f636c6f75642d636f6d707574696e672d636f6e636570742d776974682d70656f706c652d7363656e652d6d616e2d776f6d616e2d70726f63657373696e672d696e666f726d6174696f6e2d6c6170746f70732d7573696e672d636c6f75642d746563686e6f6c6f67792d646174612d73746f726167652d6261636b75702d766563746f722d696c6c757374726174696f6e2d776974682d636861726163746572732d666c61742d64657369676e2d7765625f393230392d393831352e6a7067"&gt;&lt;img src="https://camo.githubusercontent.com/6bc54e8b2205f3168e6211d168408366d8a64fbb33cde69d2a003f28ff1e1b74/68747470733a2f2f696d672e6672656570696b2e636f6d2f7072656d69756d2d766563746f722f636c6f75642d636f6d707574696e672d636f6e636570742d776974682d70656f706c652d7363656e652d6d616e2d776f6d616e2d70726f63657373696e672d696e666f726d6174696f6e2d6c6170746f70732d7573696e672d636c6f75642d746563686e6f6c6f67792d646174612d73746f726167652d6261636b75702d766563746f722d696c6c757374726174696f6e2d776974682d636861726163746572732d666c61742d64657369676e2d7765625f393230392d393831352e6a7067" width="100%" height="500px"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Tools and Technologies ⚙️💻&lt;/h2&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;1. &lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/" rel="nofollow noopener noreferrer"&gt;AWS CLI&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;AWS Command Line Interface (CLI) is a powerful tool that allows users to interact with AWS services directly from the terminal. It simplifies managing cloud resources by providing commands for a wide range of AWS services, enabling tasks such as provisioning, managing, and automating workflows with ease.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;2. &lt;a href="https://docs.localstack.cloud/" rel="nofollow noopener noreferrer"&gt;LocalStack&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;LocalStack is a fully functional, local testing environment for AWS services. It enables developers to simulate AWS services on their local machines, facilitating the development and testing of cloud-based applications without needing access to an actual AWS account.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;3. &lt;a href="https://docs.docker.com/" rel="nofollow noopener noreferrer"&gt;Docker&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;Docker is a containerization platform that allows developers to build, share, and run applications in isolated environments called…&lt;/p&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
 In the &lt;strong&gt;last post&lt;/strong&gt;,&lt;br&gt;

&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/madhurima_rawat/cloud-databases-and-data-management-5aa7" class="crayons-story__hidden-navigation-link"&gt;🌩️ Cloud Databases and Data Management 📊&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/madhurima_rawat" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2F49f4ff03-59aa-4dd5-80f1-2ec430ec102a.jpg" alt="madhurima_rawat profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/madhurima_rawat" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Madhurima Rawat
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Madhurima Rawat
                
              
              &lt;div id="story-author-preview-content-2492871" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/madhurima_rawat" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2F49f4ff03-59aa-4dd5-80f1-2ec430ec102a.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Madhurima Rawat&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/madhurima_rawat/cloud-databases-and-data-management-5aa7" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 16 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/madhurima_rawat/cloud-databases-and-data-management-5aa7" id="article-link-2492871"&gt;
          🌩️ Cloud Databases and Data Management 📊
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cloud"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cloud&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/database"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;database&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/tutorial"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tutorial&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/docker"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;docker&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/madhurima_rawat/cloud-databases-and-data-management-5aa7" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;10&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/madhurima_rawat/cloud-databases-and-data-management-5aa7#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            7 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
 we discussed about &lt;strong&gt;cloud databases&lt;/strong&gt; and how data is managed in the cloud.

&lt;p&gt;&lt;strong&gt;Today&lt;/strong&gt;, we’re gonna dive into something even more crucial, &lt;br&gt;
🔐 &lt;strong&gt;Cloud Identity and Access Management (IAM)&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;So first I’ll explain &lt;strong&gt;what IAM is&lt;/strong&gt;, and then we’ll move forward to its &lt;strong&gt;implementation&lt;/strong&gt;.&lt;br&gt;
Let’s get those access policies tight and secure like pros! ☁️🔐💼&lt;/p&gt;


&lt;h2&gt;
  
  
  Identity and Access Management (IAM)
&lt;/h2&gt;

&lt;p&gt;Identity and Access Management (IAM) is a framework that ensures the right individuals and entities have appropriate access to technology resources. In AWS IAM, users can securely control access to AWS services and resources.&lt;/p&gt;
&lt;h3&gt;
  
  
  Key Concepts of IAM
&lt;/h3&gt;
&lt;h3&gt;
  
  
  1. Identities in IAM
&lt;/h3&gt;

&lt;p&gt;IAM identities define who can access AWS resources and what actions they can perform. These include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Users&lt;/strong&gt; – Individual accounts with login credentials.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Groups&lt;/strong&gt; – Collections of users sharing permissions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Roles&lt;/strong&gt; – Assigned temporary permissions for AWS services or external users.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: A developer needs access to an S3 bucket. Instead of assigning permissions directly, they are added to the "Developers" IAM group, which has the required permissions.&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fbraxtongrant.com%2Fwp-content%2Fuploads%2F2022%2F01%2FIAM.graphic.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fbraxtongrant.com%2Fwp-content%2Fuploads%2F2022%2F01%2FIAM.graphic.png" height="285px"&gt;&lt;/a&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  2. IAM Policies
&lt;/h3&gt;

&lt;p&gt;IAM policies define permissions using JSON-based policy documents specifying what actions are allowed or denied on AWS resources.&lt;/p&gt;

&lt;h4&gt;
  
  
  Example Policy (Allow full S3 access to a user):
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"Version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2012-10-17"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"Statement"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Effect"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Allow"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Action"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"s3:*"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Resource"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"*"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This grants full S3 permissions to the user.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. IAM Roles and Temporary Credentials
&lt;/h3&gt;

&lt;p&gt;IAM roles allow users or AWS services to assume temporary permissions to interact with resources securely.&lt;/p&gt;

&lt;h4&gt;
  
  
  Example Use Cases:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;EC2 Instance Roles&lt;/strong&gt; – Instead of embedding credentials in an EC2 instance, an IAM role is assigned with the required permissions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-Account Access&lt;/strong&gt; – A company allows external contractors to access AWS services via IAM roles without sharing credentials.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.gitguardian.com%2Fcontent%2Fimages%2F2022%2F06%2Fillu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.gitguardian.com%2Fcontent%2Fimages%2F2022%2F06%2Fillu.png" alt="aws architecure" height="300px"&gt;&lt;/a&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Multi-Factor Authentication (MFA)
&lt;/h3&gt;

&lt;p&gt;IAM supports MFA, requiring an additional authentication step beyond a username and password.&lt;/p&gt;

&lt;h4&gt;
  
  
  Example Use Case:
&lt;/h4&gt;

&lt;p&gt;A finance team member accessing sensitive billing data in AWS must verify using Google Authenticator before accessing the console.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. IAM Best Practices
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Follow Least Privilege Principle&lt;/strong&gt; – Users and roles should only have the minimum permissions needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enable MFA for All Users&lt;/strong&gt; – Adds an extra security layer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use IAM Roles for AWS Services&lt;/strong&gt; – Avoid storing credentials in applications.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rotate Access Keys Regularly&lt;/strong&gt; – If access keys are compromised, rotation prevents misuse.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Real-World IAM Use Cases
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Enterprise-Level Role-Based Access Control (RBAC)
&lt;/h3&gt;

&lt;p&gt;A large organization has departments like HR, Development, and Finance. Each department has specific access needs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HR Team:&lt;/strong&gt; Can access employee databases but not development resources.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Developers:&lt;/strong&gt; Can deploy applications but cannot modify billing information.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Finance:&lt;/strong&gt; Can view billing dashboards but cannot access production environments.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;IAM ensures proper segregation of duties.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. IAM in Cloud Security &amp;amp; Compliance
&lt;/h3&gt;

&lt;p&gt;A financial institution must comply with &lt;strong&gt;PCI-DSS (Payment Card Industry Data Security Standard)&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IAM enforces policies ensuring only authorized personnel access cardholder data.&lt;/li&gt;
&lt;li&gt;MFA is required for accessing critical systems.&lt;/li&gt;
&lt;li&gt;Audit Logs via AWS CloudTrail help track unauthorized access attempts.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Case Study: IAM in a Tech Startup
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Company: CloudTech Solutions
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Developers needed access to AWS services, but granting full access posed security risks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; The company implemented IAM roles and groups:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Developers&lt;/strong&gt;: Given read-only access to production and write access to development environments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Admins&lt;/strong&gt;: Given full AWS access with MFA enabled.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated IAM Policy Auditing&lt;/strong&gt; detected and removed unused permissions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Outcome:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduced security risks.&lt;/li&gt;
&lt;li&gt;Improved compliance with security best practices.&lt;/li&gt;
&lt;li&gt;Simplified access management.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🖼️ &lt;strong&gt;About the Cover Image:&lt;/strong&gt;&lt;br&gt;
It starts with a &lt;strong&gt;web icon inside a laptop&lt;/strong&gt;, representing the website or broader cloud ecosystem.&lt;br&gt;
Next, it shows a &lt;strong&gt;single user connected to multiple other users&lt;/strong&gt; through a &lt;strong&gt;network and flow icon&lt;/strong&gt;, illustrating how user roles and policies define connections.&lt;br&gt;
The flow then leads to a &lt;strong&gt;lock&lt;/strong&gt; (🔒) and an &lt;strong&gt;identity card icon&lt;/strong&gt;, symbolizing that only authorized individuals can access specific resources, highlighting the core principles of &lt;strong&gt;security and identity management&lt;/strong&gt; in IAM.&lt;/p&gt;


&lt;h2&gt;
  
  
  Identity and Access Management (IAM) with Localstack
&lt;/h2&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;1. Create a User&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws iam create-user &lt;span class="nt"&gt;--user-name&lt;/span&gt; test-user
&lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creates a new IAM user named &lt;code&gt;test-user&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;This user can be assigned roles and policies later.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Expected Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"User"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Path"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"UserName"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"test-user"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"UserId"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"AIDAEXAMPLEID"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Arn"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"arn:aws:iam::123456789012:user/test-user"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"CreateDate"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-03-06T12:00:00Z"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;2. Create a Role&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws iam create-role &lt;span class="nt"&gt;--role-name&lt;/span&gt; ec2-role &lt;span class="nt"&gt;--assume-role-policy-&lt;/span&gt;
document file://trust-policy.json &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creates an IAM role named &lt;code&gt;ec2-role&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The role uses a &lt;strong&gt;trust policy&lt;/strong&gt; (stored in &lt;code&gt;trust-policy.json&lt;/code&gt;) to define which AWS services or users can assume this role.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Explanation of the Trust Policy Document&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This &lt;strong&gt;Trust Policy&lt;/strong&gt; is a JSON document that defines &lt;strong&gt;who&lt;/strong&gt; (which AWS service, user, or account) is allowed to &lt;strong&gt;assume&lt;/strong&gt; an IAM role. This is particularly useful when granting permissions to AWS services like EC2, Lambda, or other entities to access AWS resources.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Breakdown of the JSON Policy&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"Version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2012-10-17"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"Statement"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Effect"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Allow"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Principal"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"Service"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ec2.amazonaws.com"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Action"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"sts:AssumeRole"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;1. &lt;code&gt;"Version": "2012-10-17"&lt;/code&gt;&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Specifies the version of the IAM policy language being used.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;"2012-10-17"&lt;/code&gt; is the latest and recommended version for AWS policies.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;2. &lt;code&gt;"Statement": [...]&lt;/code&gt;&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Contains one or more &lt;strong&gt;statements&lt;/strong&gt; defining the permission rules.&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;Inside the &lt;code&gt;Statement&lt;/code&gt; Block:&lt;/strong&gt;
&lt;/h4&gt;

&lt;h5&gt;
  
  
  &lt;strong&gt;&lt;code&gt;"Effect": "Allow"&lt;/code&gt;&lt;/strong&gt;
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Defines whether the policy &lt;strong&gt;allows&lt;/strong&gt; or &lt;strong&gt;denies&lt;/strong&gt; the action.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;"Allow"&lt;/code&gt; means this policy &lt;strong&gt;grants&lt;/strong&gt; permissions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  &lt;strong&gt;&lt;code&gt;"Principal": { "Service": "ec2.amazonaws.com" }&lt;/code&gt;&lt;/strong&gt;
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Specifies &lt;strong&gt;who&lt;/strong&gt; is allowed to assume this role.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;"Service": "ec2.amazonaws.com"&lt;/code&gt; means that the &lt;strong&gt;EC2 service&lt;/strong&gt; (Amazon Elastic Compute Cloud) is allowed to assume this role.&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  &lt;strong&gt;&lt;code&gt;"Action": "sts:AssumeRole"&lt;/code&gt;&lt;/strong&gt;
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Specifies the action that is permitted.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;"sts:AssumeRole"&lt;/code&gt; allows the &lt;strong&gt;EC2 service&lt;/strong&gt; to assume this role using the AWS &lt;strong&gt;Security Token Service (STS)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;This is required when an EC2 instance needs temporary credentials to interact with other AWS services &lt;strong&gt;on behalf of the IAM role&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Use Case Example&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;When you create an &lt;strong&gt;IAM Role&lt;/strong&gt; (e.g., &lt;code&gt;ec2-role&lt;/code&gt;) with this trust policy, &lt;strong&gt;EC2 instances&lt;/strong&gt; can assume this role.&lt;/li&gt;
&lt;li&gt;This is useful when an EC2 instance needs access to &lt;strong&gt;S3, DynamoDB, Lambda, etc.&lt;/strong&gt;, without using long-term credentials.&lt;/li&gt;
&lt;li&gt;AWS &lt;strong&gt;securely provides temporary credentials&lt;/strong&gt; to the EC2 instance through this role.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;How This Works in Practice&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Create an &lt;strong&gt;IAM Role&lt;/strong&gt; with this trust policy.&lt;/li&gt;
&lt;li&gt;Attach &lt;strong&gt;permissions&lt;/strong&gt; to the role (e.g., S3 Read Access).&lt;/li&gt;
&lt;li&gt;Assign the &lt;strong&gt;IAM Role&lt;/strong&gt; to an &lt;strong&gt;EC2 instance&lt;/strong&gt; when launching it.&lt;/li&gt;
&lt;li&gt;The EC2 instance automatically receives &lt;strong&gt;temporary credentials&lt;/strong&gt; and can access AWS resources as defined in the role's permissions.&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;Expected Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"Role"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Path"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"RoleName"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ec2-role"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"RoleId"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"AROAXAMPLEID"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Arn"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"arn:aws:iam::123456789012:role/ec2-role"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"CreateDate"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-03-06T12:05:00Z"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"AssumeRolePolicyDocument"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2012-10-17"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Statement"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"Effect"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Allow"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"Principal"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"Service"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ec2.amazonaws.com"&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"Action"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"sts:AssumeRole"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;3. Attach a Policy to the User&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws iam attach-user-policy &lt;span class="nt"&gt;--user-name&lt;/span&gt; test-user
&lt;span class="nt"&gt;--policy-arn&lt;/span&gt; arn:aws:iam::aws:policy/AdministratorAccess
&lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Attaches the &lt;code&gt;AdministratorAccess&lt;/code&gt; policy to &lt;code&gt;test-user&lt;/code&gt;, giving full access to AWS resources.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Expected Output:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
No direct output. The policy is attached successfully.&lt;/p&gt;

&lt;p&gt;To verify, use the &lt;code&gt;list-attached-user-policies&lt;/code&gt; command.&lt;/p&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;4. List Users&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws iam list-users &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lists all IAM users in the account.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Expected Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"Users"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Path"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"UserName"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"test-user"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"UserId"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"AIDAEXAMPLEID"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Arn"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"arn:aws:iam::123456789012:user/test-user"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"CreateDate"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-03-06T12:00:00Z"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;5. List Roles&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws iam list-roles &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lists all IAM roles in the account.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Expected Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"Roles"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Path"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"RoleName"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ec2-role"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"RoleId"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"AROAXAMPLEID"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Arn"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"arn:aws:iam::123456789012:role/ec2-role"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"CreateDate"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2024-03-06T12:05:00Z"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;6. List Attached Policies for a User&lt;/strong&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws iam list-attached-user-policies &lt;span class="nt"&gt;--user-name&lt;/span&gt; test-user
&lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Displays the policies attached to &lt;code&gt;test-user&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Expected Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"AttachedPolicies"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"PolicyName"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"AdministratorAccess"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"PolicyArn"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"arn:aws:iam::aws:policy/AdministratorAccess"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These commands help manage IAM users, roles, and permissions efficiently. Using &lt;strong&gt;LocalStack&lt;/strong&gt;, this can be tested in a local environment before deploying in AWS.&lt;/p&gt;




&lt;p&gt;📄 &lt;strong&gt;Want to see how it all worked step by step? Check it out here:&lt;/strong&gt;&lt;br&gt;
🔗 &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Experiment%208/Output/Experiment%208%20Output.pdf" rel="noopener noreferrer"&gt;Experiment 8 Output (PDF)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🧠 Curious about how each command runs and responds? See the detailed input-output flow here:&lt;br&gt;
🖥️ &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Experiment%208/Codes/Command%20Prompt%20Input%20and%20Output%20Explanation.pdf" rel="noopener noreferrer"&gt;IAM Setup Input-Output Flow (PDF)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🎉 &lt;strong&gt;And that’s a wrap on Identity and Access Management (IAM)!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;📚 &lt;strong&gt;Found great IAM tutorials, cheat sheets, or guides?&lt;/strong&gt; Drop them in the &lt;strong&gt;comments&lt;/strong&gt;. I’d love to check them out and share them with others!&lt;/p&gt;

&lt;p&gt;🔥 &lt;strong&gt;Stay tuned for the next article!&lt;/strong&gt;&lt;br&gt;
Next up, we’ll explore &lt;strong&gt;Cloud Monitoring and Logging&lt;/strong&gt; — where you'll learn how to track activity and monitor resources effectively in a cloud environment. 📈🔍&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>cloudcomputing</category>
      <category>aws</category>
      <category>iam</category>
    </item>
    <item>
      <title>🌩️ Cloud Databases and Data Management 📊</title>
      <dc:creator>Madhurima Rawat</dc:creator>
      <pubDate>Fri, 16 May 2025 06:45:02 +0000</pubDate>
      <link>https://dev.to/madhurima_rawat/cloud-databases-and-data-management-5aa7</link>
      <guid>https://dev.to/madhurima_rawat/cloud-databases-and-data-management-5aa7</guid>
      <description>&lt;p&gt;&lt;strong&gt;⚖️ Hello Balancers!&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;From cloud load to life load, you can balance it all! 🐘📦&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;📚 All code, docs, and resources are available in my GitHub repository:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/madhurimarawat" rel="noopener noreferrer"&gt;
        madhurimarawat
      &lt;/a&gt; / &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
        Cloud-Computing
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Cloud-Computing&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/c9859653cc6bdc851215885b3436957ed5971e43cf6101fff3ff7886a076a56b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7265706f2d73697a652f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d5265706f25323053697a65266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Repo Size"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/stargazers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/df5a501b0624645ea6cb2483785cb7f2e528851973bdb5459f04612a3076fcd7/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233463743414339266c6162656c3d5374617273266c6162656c436f6c6f723d253233463141374238267374796c653d666f722d7468652d6261646765266c6f676f3d73746172" alt="GitHub Stars"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/network/members" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/6f89c73b10c60f6adafa90ad7b21b848298583df8d462a2becbe87d24059aab3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233443645324539266c6162656c3d466f726b73266c6162656c436f6c6f723d253233423944334532267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="GitHub Forks"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/issues" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/3a4b8ee004af093803fcbc24c59516c13e44cbba5d60b0c191bd9a1a713ad80d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464646354333266c6162656c3d4f70656e253230497373756573266c6162656c436f6c6f723d253233463445334132267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="GitHub Issues"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/issues?q=is%3Aissue+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/9a7e44607d1e3075d6ee0c4435fb62ec8967421b2c7b7cd08d82ed2fe03ade4f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d636c6f7365642f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d436c6f736564253230497373756573266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="Closed Issues"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/pulls" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/006d96a895a5a63e5c4cdc5cee99115e9f3f1e7cf347c0e8bc3a6cd76b72aecc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d4f70656e253230505273266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Open Pull Requests"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/pulls?q=is%3Apr+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/29f3240b8ff38a935f43f0302be69162dfa32b4a514810e67b642a90d1ee55fe/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722d636c6f7365642f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233443645324539266c6162656c3d436c6f736564253230505273266c6162656c436f6c6f723d253233423944334532267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Closed Pull Requests"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/discussions" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/4fd33ad946489a34cd15c0e9cc4672fc0360a2835497f89fd016f120149f46b5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f64697363757373696f6e732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464646354333266c6162656c3d44697363757373696f6e73266c6162656c436f6c6f723d253233463445334132267374796c653d666f722d7468652d6261646765266c6f676f3d646973636f75727365" alt="GitHub Discussions"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/graphs/contributors" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/8da36f92f85f0963a49b26b0e0fd687a62414e6d3a30c0ad543231e154cbc553/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233314641313943266c6162656c3d436f6e7472696275746f7273266c6162656c436f6c6f723d253233313937413736267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Contributors"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/455a748d858809820ad7f44f85c2e86faafd6a954c67ead5475c45eed721f6d3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f746f702f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d546f702532304c616e6775616765266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d707974686f6e" alt="Top Language"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/LICENSE" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/da655d545fe30c26a3114fabad1d4b1d5dd3b6a04f5e76eecdef695b3558c60f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233463339433132266c6162656c3d4c6963656e7365266c6162656c436f6c6f723d253233443638393130267374796c653d666f722d7468652d6261646765266c6f676f3d6f70656e2d736f757263652d696e6974696174697665" alt="License"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/commits/main" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/be4f3887f44ba5015568dc5cb9797b98d35fcef0b4e19cdf0cce6b5240846f93/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d4c617374253230436f6d6d6974266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Last Commit"&gt;
  &lt;/a&gt;


&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/bc683f8655ba0b26dd0beb55f18a552d39e70f4d3011f63a4d9474714b6829b2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5265706f2532304167652d3059253230334d25323034442d2532334646413037413f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6162656c436f6c6f723d25323335463945413026636f6c6f723d253233464138303732" alt="Repository Age"&gt;
&lt;/a&gt;


&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/d1222ee23d3ebd2f07992c4335829c81501e78a9c3abb14b06b270d46fef15d9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e672f7570646174652d7265706f2d696e666f2e796d6c3f636f6c6f723d253233373244444637266c6162656c3d576f726b666c6f77266c6162656c436f6c6f723d253233354343314537267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Workflow Status"&gt;
&lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/watchers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/e85d4eaaeb096eb979db583ba2685eb75331a0e0de102dca37aed25c12acff07/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f77617463686572732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d5761746368657273266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Watchers"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/6bc54e8b2205f3168e6211d168408366d8a64fbb33cde69d2a003f28ff1e1b74/68747470733a2f2f696d672e6672656570696b2e636f6d2f7072656d69756d2d766563746f722f636c6f75642d636f6d707574696e672d636f6e636570742d776974682d70656f706c652d7363656e652d6d616e2d776f6d616e2d70726f63657373696e672d696e666f726d6174696f6e2d6c6170746f70732d7573696e672d636c6f75642d746563686e6f6c6f67792d646174612d73746f726167652d6261636b75702d766563746f722d696c6c757374726174696f6e2d776974682d636861726163746572732d666c61742d64657369676e2d7765625f393230392d393831352e6a7067"&gt;&lt;img src="https://camo.githubusercontent.com/6bc54e8b2205f3168e6211d168408366d8a64fbb33cde69d2a003f28ff1e1b74/68747470733a2f2f696d672e6672656570696b2e636f6d2f7072656d69756d2d766563746f722f636c6f75642d636f6d707574696e672d636f6e636570742d776974682d70656f706c652d7363656e652d6d616e2d776f6d616e2d70726f63657373696e672d696e666f726d6174696f6e2d6c6170746f70732d7573696e672d636c6f75642d746563686e6f6c6f67792d646174612d73746f726167652d6261636b75702d766563746f722d696c6c757374726174696f6e2d776974682d636861726163746572732d666c61742d64657369676e2d7765625f393230392d393831352e6a7067" width="100%" height="500px"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Tools and Technologies ⚙️💻&lt;/h2&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;1. &lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/" rel="nofollow noopener noreferrer"&gt;AWS CLI&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;AWS Command Line Interface (CLI) is a powerful tool that allows users to interact with AWS services directly from the terminal. It simplifies managing cloud resources by providing commands for a wide range of AWS services, enabling tasks such as provisioning, managing, and automating workflows with ease.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;2. &lt;a href="https://docs.localstack.cloud/" rel="nofollow noopener noreferrer"&gt;LocalStack&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;LocalStack is a fully functional, local testing environment for AWS services. It enables developers to simulate AWS services on their local machines, facilitating the development and testing of cloud-based applications without needing access to an actual AWS account.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;3. &lt;a href="https://docs.docker.com/" rel="nofollow noopener noreferrer"&gt;Docker&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;Docker is a containerization platform that allows developers to build, share, and run applications in isolated environments called…&lt;/p&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;In the &lt;strong&gt;last post&lt;/strong&gt;,&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/madhurima_rawat/cloud-load-balancing-and-auto-scaling-1ol9" class="crayons-story__hidden-navigation-link"&gt;⚖️ Cloud Load Balancing and Auto Scaling 📈&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/madhurima_rawat" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2F49f4ff03-59aa-4dd5-80f1-2ec430ec102a.jpg" alt="madhurima_rawat profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/madhurima_rawat" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Madhurima Rawat
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Madhurima Rawat
                
              
              &lt;div id="story-author-preview-content-2484779" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/madhurima_rawat" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2F49f4ff03-59aa-4dd5-80f1-2ec430ec102a.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Madhurima Rawat&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/madhurima_rawat/cloud-load-balancing-and-auto-scaling-1ol9" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 13 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/madhurima_rawat/cloud-load-balancing-and-auto-scaling-1ol9" id="article-link-2484779"&gt;
          ⚖️ Cloud Load Balancing and Auto Scaling 📈
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cloud"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cloud&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/tutorial"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tutorial&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cloudcomputing"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cloudcomputing&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/aws"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;aws&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/madhurima_rawat/cloud-load-balancing-and-auto-scaling-1ol9" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;11&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/madhurima_rawat/cloud-load-balancing-and-auto-scaling-1ol9#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            7 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
 we explored &lt;strong&gt;Cloud Load Balancing&lt;/strong&gt; and &lt;strong&gt;Auto Scaling&lt;/strong&gt;, the dynamic duo behind resilient cloud infrastructure.

&lt;p&gt;Now, before we float too high in the clouds, let’s bring things down to earth and local.&lt;/p&gt;

&lt;p&gt;In this post, we’ll &lt;strong&gt;set up a PostgreSQL database using Docker&lt;/strong&gt; on your local machine.&lt;br&gt;
It’s quick, clean, and the perfect way to prototype or develop cloud-ready apps without relying on live cloud resources.&lt;/p&gt;

&lt;p&gt;No installations. No clutter. Just a few Docker commands and you're good to go. 🐳🧪&lt;/p&gt;

&lt;p&gt;Let’s containerize our data journey from the ground up! 📦🔌&lt;/p&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;Cloud Databases and Data Management&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Overview&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;This experiment covers setting up and managing cloud-based relational databases using &lt;strong&gt;PostgreSQL, Docker, and LocalStack&lt;/strong&gt;. It provides hands-on experience with database management in a &lt;strong&gt;simulated cloud environment&lt;/strong&gt;, replicating real-world cloud database operations using containerized solutions.&lt;/p&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;What are Databases?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Databases store, organize, and manage data efficiently. They are crucial in applications ranging from websites to large-scale enterprise systems.&lt;/p&gt;

&lt;p&gt;  
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimage3.slideserve.com%2F6849202%2Fdatabase-definition-l.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimage3.slideserve.com%2F6849202%2Fdatabase-definition-l.jpg" height="300px"&gt;&lt;/a&gt;  
&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Types of Databases&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Databases are broadly categorized into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Relational Databases (SQL-based)&lt;/strong&gt; – Structured data stored in tables (e.g., PostgreSQL, MySQL).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NoSQL Databases&lt;/strong&gt; – Flexible schema for handling unstructured data (e.g., MongoDB, Cassandra).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloud Databases&lt;/strong&gt; – Managed services with scalable storage (e.g., AWS RDS, Google Cloud Firestore).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;  
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.founderjar.com%2Fwp-content%2Fuploads%2F2022%2F07%2FTypes-of-Databases.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.founderjar.com%2Fwp-content%2Fuploads%2F2022%2F07%2FTypes-of-Databases.png" height="300px"&gt;&lt;/a&gt;  
&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;PostgreSQL Features&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;PostgreSQL is a powerful, open-source relational database with features like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ACID Compliance&lt;/strong&gt; – Ensures data integrity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extensibility&lt;/strong&gt; – Supports custom functions and data types.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scalability&lt;/strong&gt; – Handles large volumes of data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;  
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.educba.com%2Facademy%2Fwp-content%2Fuploads%2F2020%2F02%2FPostgreSQL-Features.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.educba.com%2Facademy%2Fwp-content%2Fuploads%2F2020%2F02%2FPostgreSQL-Features.jpg" height="300px"&gt;&lt;/a&gt;  
&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Real-World Application &amp;amp; Case Study&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Use Case: Financial Data Management&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
A leading bank implemented PostgreSQL on the cloud to handle transaction processing, fraud detection, and real-time analytics. With &lt;strong&gt;Dockerized deployments&lt;/strong&gt;, they achieved high availability, ensuring &lt;strong&gt;99.9% uptime&lt;/strong&gt; and enhanced security.&lt;/p&gt;

&lt;p&gt;This experiment provides insights into deploying such systems using &lt;strong&gt;Docker and LocalStack&lt;/strong&gt; to simulate real-world cloud database management.&lt;/p&gt;

&lt;p&gt;🖼️ &lt;strong&gt;About the Cover Image:&lt;/strong&gt;&lt;br&gt;
It illustrates the journey of data in a cloud environment. On the left, a &lt;strong&gt;PostgreSQL database&lt;/strong&gt; (🐘🗄️) stores structured information securely. That data flows into a &lt;strong&gt;brain&lt;/strong&gt; (🧠), symbolizing the &lt;strong&gt;tools and technologies&lt;/strong&gt; used for managing, querying, and analyzing the data, like Docker, pgAdmin, and SQL scripts. From there, the insights are transformed into &lt;strong&gt;visual representations&lt;/strong&gt;, a &lt;strong&gt;pie chart&lt;/strong&gt; (📊) and &lt;strong&gt;bar graph&lt;/strong&gt; (📈) displayed on a &lt;strong&gt;blackboard&lt;/strong&gt; (🧾), indicating how data is communicated, presented, and used for decision-making in cloud-native setups.&lt;/p&gt;





&lt;h2&gt;Database Operations with Postgres&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Creating an RDS Instance Using LocalStack&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws rds create-db-instance &lt;span class="nt"&gt;--db-instance-identifier&lt;/span&gt; mydb &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--db-instance-class&lt;/span&gt; db.t3.micro &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--engine&lt;/span&gt; mysql &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--master-username&lt;/span&gt; admin &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--master-user-password&lt;/span&gt; password &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--allocated-storage&lt;/span&gt; 20 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Error Output:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Could not connect to the endpoint URL: &lt;span class="s2"&gt;"http://localhost:4566/"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;An error occurred &lt;span class="o"&gt;(&lt;/span&gt;InternalFailure&lt;span class="o"&gt;)&lt;/span&gt; when calling the CreateDBInstance operation:
API &lt;span class="k"&gt;for &lt;/span&gt;service &lt;span class="s1"&gt;'rds'&lt;/span&gt; not yet implemented or pro feature - please check
https://docs.localstack.cloud/references/coverage/ &lt;span class="k"&gt;for &lt;/span&gt;further information
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Explanation:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The command attempts to create an &lt;strong&gt;RDS instance&lt;/strong&gt; in &lt;strong&gt;LocalStack&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--endpoint-url=http://localhost:4566&lt;/code&gt; → Uses LocalStack instead of AWS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Errors indicate&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;LocalStack is either not running or misconfigured.&lt;/li&gt;
&lt;li&gt;RDS API might not be fully implemented in the &lt;strong&gt;free&lt;/strong&gt; version of LocalStack.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Output Breakdown:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Could not connect to the endpoint URL&lt;/code&gt;&lt;/strong&gt; → LocalStack might not be running or accessible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;InternalFailure&lt;/code&gt; error&lt;/strong&gt; → The RDS API might require LocalStack Pro for full functionality.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Possible Fixes&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ensure LocalStack is running:
&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;--rm&lt;/span&gt; &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;--name&lt;/span&gt; localstack_main &lt;span class="nt"&gt;-p&lt;/span&gt; 4566:4566 localstack/localstack
&lt;/code&gt;&lt;/pre&gt;



&lt;ul&gt;
&lt;li&gt;Check service coverage:
&lt;a href="https://docs.localstack.cloud/references/coverage/" rel="noopener noreferrer"&gt;LocalStack RDS Coverage&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;2. Starting a PostgreSQL Container&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker start my-postgres
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker start postgres
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Error Output:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Error response from daemon: No such container: my-postgres
Error: failed to start containers: my-postgres
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Error response from daemon: No such container: postgres
Error: failed to start containers: postgres
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Explanation:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;containers do not exist&lt;/strong&gt; under the specified names.&lt;/li&gt;
&lt;li&gt;Verify running containers with:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  docker ps &lt;span class="nt"&gt;-a&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;If needed, create a new container:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  docker run &lt;span class="nt"&gt;--name&lt;/span&gt; my-postgres &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;POSTGRES_USER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;admin &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;POSTGRES_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;password &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;POSTGRES_DB&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;mydb &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;-p&lt;/span&gt; 5432:5432 &lt;span class="nt"&gt;-d&lt;/span&gt; postgres:15
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Output Breakdown:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;No such container: my-postgres&lt;/code&gt;&lt;/strong&gt; → The container was never created or was removed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;failed to start containers&lt;/code&gt;&lt;/strong&gt; → The container name does not match any existing instances.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Possible Fixes&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Check existing containers: &lt;code&gt;docker ps -a&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Create and start a new PostgreSQL container using &lt;code&gt;docker run&lt;/code&gt; (above).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;3. Listing Available Docker Images&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker images
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| REPOSITORY            | TAG    | IMAGE ID     | CREATED      | SIZE   |
| --------------------- | ------ | ------------ | ------------ | ------ |
| my-flask-app          | latest | f5feae0ac7a4 | 6 hours ago  | 139MB  |
| flask-app             | latest | ae4054c49614 | 7 hours ago  | 139MB  |
| hackvortex-backend    | latest | 14e63c26d40b | 21 hours ago | 1.05GB |
| postgres              | 15     | e45d3f5ec589 | 7 days ago   | 430MB  |
| localstack/localstack | latest | b686f3948f42 | 6 weeks ago  | 1.18GB |
| python                | 3.9    | 9f98746e2033 | 3 months ago | 999MB  |
| nginx                 | latest | b52e0b094bc0 | 4 weeks ago  | 192MB  |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Explanation:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Displays &lt;strong&gt;available images&lt;/strong&gt; in the local Docker environment.&lt;/li&gt;
&lt;li&gt;PostgreSQL (&lt;code&gt;postgres:15&lt;/code&gt;) is available.&lt;/li&gt;
&lt;li&gt;LocalStack (&lt;code&gt;localstack/localstack&lt;/code&gt;) is present but needs verification (&lt;code&gt;docker ps -a&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Output Breakdown:&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;postgres:15&lt;/code&gt; is listed&lt;/strong&gt; → The image exists but the container may not be running.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;localstack/localstack&lt;/code&gt; exists&lt;/strong&gt; → LocalStack is installed but may need to be started.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Possible Fixes&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start PostgreSQL if not running:
&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;--name&lt;/span&gt; my-postgres &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;POSTGRES_USER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;admin &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;POSTGRES_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;password &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;POSTGRES_DB&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;mydb &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-p&lt;/span&gt; 5432:5432 &lt;span class="nt"&gt;-d&lt;/span&gt; postgres:15
&lt;/code&gt;&lt;/pre&gt;



&lt;ul&gt;
&lt;li&gt;Ensure LocalStack is running:
&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class="highlight shell"&gt;&lt;code&gt;docker start localstack_main
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4. Starting a PostgreSQL Container&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;C:&lt;span class="se"&gt;\U&lt;/span&gt;sers&lt;span class="se"&gt;\r&lt;/span&gt;awat&amp;gt;docker start postgres
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Error Output:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Error response from daemon: No such container: postgres
Error: failed to start containers: postgres
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;5. Listing All Containers&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;C:&lt;span class="se"&gt;\U&lt;/span&gt;sers&lt;span class="se"&gt;\r&lt;/span&gt;awat&amp;gt;docker ps &lt;span class="nt"&gt;-a&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;CONTAINER ID&lt;/th&gt;
&lt;th&gt;IMAGE&lt;/th&gt;
&lt;th&gt;COMMAND&lt;/th&gt;
&lt;th&gt;CREATED&lt;/th&gt;
&lt;th&gt;STATUS&lt;/th&gt;
&lt;th&gt;PORTS&lt;/th&gt;
&lt;th&gt;NAMES&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;a10c5a71f625&lt;/td&gt;
&lt;td&gt;localstack/localstack&lt;/td&gt;
&lt;td&gt;"docker-entrypoint.sh"&lt;/td&gt;
&lt;td&gt;2 minutes ago&lt;/td&gt;
&lt;td&gt;Up 2 minutes (healthy)&lt;/td&gt;
&lt;td&gt;127.0.0.1:4510-4560-&amp;gt;4510-4560/tcp, 127.0.0.1:4566-&amp;gt;4566/tcp, 5678/tcp&lt;/td&gt;
&lt;td&gt;localstack-main&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7f0fa023ac4f&lt;/td&gt;
&lt;td&gt;3a669f02efff&lt;/td&gt;
&lt;td&gt;"python app.py"&lt;/td&gt;
&lt;td&gt;7 hours ago&lt;/td&gt;
&lt;td&gt;Exited (255) 5 minutes ago&lt;/td&gt;
&lt;td&gt;8080/tcp, 0.0.0.0:5002-&amp;gt;5000/tcp&lt;/td&gt;
&lt;td&gt;backend2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9ff472da8892&lt;/td&gt;
&lt;td&gt;3a669f02efff&lt;/td&gt;
&lt;td&gt;"python app.py"&lt;/td&gt;
&lt;td&gt;7 hours ago&lt;/td&gt;
&lt;td&gt;Exited (255) 5 minutes ago&lt;/td&gt;
&lt;td&gt;8080/tcp, 0.0.0.0:5001-&amp;gt;5000/tcp&lt;/td&gt;
&lt;td&gt;backend1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;6. Running a PostgreSQL Container&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;C:&lt;span class="se"&gt;\U&lt;/span&gt;sers&lt;span class="se"&gt;\r&lt;/span&gt;awat&amp;gt;docker run &lt;span class="nt"&gt;--name&lt;/span&gt; my-postgres &lt;span class="nt"&gt;-e&lt;/span&gt;
&lt;span class="nv"&gt;POSTGRES_USER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;admin &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;POSTGRES_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;password &lt;span class="nt"&gt;-e&lt;/span&gt;
&lt;span class="nv"&gt;POSTGRES_DB&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;mydb &lt;span class="nt"&gt;-p&lt;/span&gt; 5432:5432 &lt;span class="nt"&gt;-d&lt;/span&gt; postgres:15
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Error Output:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker: Error response from daemon: driver failed
programming external connectivity on endpoint my-postgres
&lt;span class="o"&gt;(&lt;/span&gt;feae7f0fb87909bde1853a7ddefa49bb518f11250e54304f75109
68f7a88cca1&lt;span class="o"&gt;)&lt;/span&gt;: Bind &lt;span class="k"&gt;for &lt;/span&gt;0.0.0.0:5432 failed: port is already allocated.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;7. Resolving Port Conflict and Running PostgreSQL on a Different Port&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;C:&lt;span class="se"&gt;\U&lt;/span&gt;sers&lt;span class="se"&gt;\r&lt;/span&gt;awat&amp;gt;docker run &lt;span class="nt"&gt;--name&lt;/span&gt; my-new-postgres &lt;span class="nt"&gt;-e&lt;/span&gt;
&lt;span class="nv"&gt;POSTGRES_USER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;admin &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;POSTGRES_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;password &lt;span class="nt"&gt;-e&lt;/span&gt;
&lt;span class="nv"&gt;POSTGRES_DB&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;mydb &lt;span class="nt"&gt;-p&lt;/span&gt; 5433:5432 &lt;span class="nt"&gt;-d&lt;/span&gt; postgres:15
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;b2efdca3c6f0af6cf4154fce236f0b66b5efba0f4f9e14972c94b3e0a5afa9de
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;8. Verifying Running Containers&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;C:&lt;span class="se"&gt;\U&lt;/span&gt;sers&lt;span class="se"&gt;\r&lt;/span&gt;awat&amp;gt;docker ps
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;CONTAINER ID&lt;/th&gt;
&lt;th&gt;IMAGE&lt;/th&gt;
&lt;th&gt;COMMAND&lt;/th&gt;
&lt;th&gt;CREATED&lt;/th&gt;
&lt;th&gt;STATUS&lt;/th&gt;
&lt;th&gt;PORTS&lt;/th&gt;
&lt;th&gt;NAMES&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;b2efdca3c6f0&lt;/td&gt;
&lt;td&gt;postgres:15&lt;/td&gt;
&lt;td&gt;"docker-entrypoint.s…"&lt;/td&gt;
&lt;td&gt;42 seconds ago&lt;/td&gt;
&lt;td&gt;Up 41 seconds&lt;/td&gt;
&lt;td&gt;0.0.0.0:5433-&amp;gt;5432/tcp&lt;/td&gt;
&lt;td&gt;my-new-postgres&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;a10c5a71f625&lt;/td&gt;
&lt;td&gt;localstack/localstack&lt;/td&gt;
&lt;td&gt;"docker-entrypoint.sh"&lt;/td&gt;
&lt;td&gt;3 minutes ago&lt;/td&gt;
&lt;td&gt;Up 3 minutes (healthy)&lt;/td&gt;
&lt;td&gt;127.0.0.1:4510-4560-&amp;gt;4510-4560/tcp, 127.0.0.1:4566-&amp;gt;4566/tcp, 5678/tcp&lt;/td&gt;
&lt;td&gt;localstack-main&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;9. Connecting to PostgreSQL and Performing SQL Operations&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Command:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;C:&lt;span class="se"&gt;\U&lt;/span&gt;sers&lt;span class="se"&gt;\r&lt;/span&gt;awat&amp;gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; my-
new-postgres psql &lt;span class="nt"&gt;-U&lt;/span&gt; admin &lt;span class="nt"&gt;-d&lt;/span&gt; mydb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;psql &lt;span class="o"&gt;(&lt;/span&gt;15.12 &lt;span class="o"&gt;(&lt;/span&gt;Debian 15.12-1.pgdg120+1&lt;span class="o"&gt;))&lt;/span&gt;
Type &lt;span class="s2"&gt;"help"&lt;/span&gt; &lt;span class="k"&gt;for &lt;/span&gt;help.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Creating a Table and Inserting Data:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;students&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="nb"&gt;SERIAL&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="nb"&gt;VARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;email&lt;/span&gt; &lt;span class="nb"&gt;VARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;UNIQUE&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;INSERT&lt;/span&gt; &lt;span class="k"&gt;INTO&lt;/span&gt; &lt;span class="n"&gt;students&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;email&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;VALUES&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Alice Johnson'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'alice@example.com'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Bob Smith'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'bob@example.com'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Charlie Brown'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'charlie@example.com'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;CREATE TABLE
INSERT 0 3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;10. Performing SQL Queries&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Selecting Data:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;students&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;id&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Email&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Alice Johnson&lt;/td&gt;
&lt;td&gt;&lt;a href="mailto:alice@example.com"&gt;alice@example.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Bob Smith&lt;/td&gt;
&lt;td&gt;&lt;a href="mailto:bob@example.com"&gt;bob@example.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Charlie Brown&lt;/td&gt;
&lt;td&gt;&lt;a href="mailto:charlie@example.com"&gt;charlie@example.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;Updating Data:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;UPDATE&lt;/span&gt; &lt;span class="n"&gt;students&lt;/span&gt; &lt;span class="k"&gt;SET&lt;/span&gt; &lt;span class="n"&gt;email&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'bob.smith@example.com'&lt;/span&gt;
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'Bob Smith'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;UPDATE 1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h4&gt;
  
  
  &lt;strong&gt;Deleting Data:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;DELETE&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;students&lt;/span&gt; &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'Charlie Brown'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;DELETE 1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h4&gt;
  
  
  &lt;strong&gt;Selecting Data with a Condition:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;students&lt;/span&gt; &lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="k"&gt;LIKE&lt;/span&gt; &lt;span class="s1"&gt;'A%'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Output:&lt;/strong&gt;
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;id&lt;/th&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Email&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Alice Johnson&lt;/td&gt;
&lt;td&gt;&lt;a href="mailto:alice@example.com"&gt;alice@example.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h4&gt;
  
  
  &lt;strong&gt;Exiting PostgreSQL:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;📄 &lt;strong&gt;Want to see how it all worked step by step? Check it out here:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Experiment%207/Output/Experiment%207%20Output.pdf" rel="noopener noreferrer"&gt;Experiment 7 Output (PDF)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🧠 Curious about how each command runs and responds? See the detailed input-output flow here:&lt;/p&gt;

&lt;p&gt;🖥️ &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Experiment%207/Codes/Command%20Prompt%20Input%20and%20Output%20Explanation.pdf" rel="noopener noreferrer"&gt;PostgreSQL + Docker Setup Flow (PDF)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🎉 &lt;strong&gt;And that’s a wrap on Cloud Databases and Data Management!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;We went hands-on with setting up PostgreSQL using Docker&lt;/strong&gt;, a clean, fast, and containerized way to build and test database-backed apps locally before going cloud-native.&lt;/p&gt;

&lt;p&gt;💬 &lt;strong&gt;Tried other tools like MySQL, MongoDB, or hosted services like Firebase?&lt;/strong&gt; I’d love to hear what worked best for you and why!&lt;/p&gt;

&lt;p&gt;📚 &lt;strong&gt;Know a helpful resource or walkthrough?&lt;/strong&gt;. I’d love to include helpful links in the article for others to explore!&lt;/p&gt;

&lt;p&gt;🔥 &lt;strong&gt;Coming up next:&lt;/strong&gt;&lt;br&gt;
We're diving into &lt;strong&gt;Cloud Security: Identity and Access Management (IAM)&lt;/strong&gt;, the guardrails of modern cloud architecture. 🔐☁️&lt;br&gt;
Let’s talk &lt;strong&gt;users, roles, policies&lt;/strong&gt;, and how to keep your cloud castle secure!&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>database</category>
      <category>tutorial</category>
      <category>docker</category>
    </item>
    <item>
      <title>⚖️ Cloud Load Balancing and Auto Scaling 📈</title>
      <dc:creator>Madhurima Rawat</dc:creator>
      <pubDate>Tue, 13 May 2025 15:20:47 +0000</pubDate>
      <link>https://dev.to/madhurima_rawat/cloud-load-balancing-and-auto-scaling-1ol9</link>
      <guid>https://dev.to/madhurima_rawat/cloud-load-balancing-and-auto-scaling-1ol9</guid>
      <description>&lt;p&gt;&lt;strong&gt;🔁 Hello Clouders!&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;May your serverless functions always stay within bounds or prepare for a billing surprise! 💸⚡&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;📚 All code, docs, and resources are available in my GitHub repository:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/madhurimarawat" rel="noopener noreferrer"&gt;
        madhurimarawat
      &lt;/a&gt; / &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
        Cloud-Computing
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Cloud-Computing&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/c9859653cc6bdc851215885b3436957ed5971e43cf6101fff3ff7886a076a56b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7265706f2d73697a652f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d5265706f25323053697a65266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Repo Size"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/stargazers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/df5a501b0624645ea6cb2483785cb7f2e528851973bdb5459f04612a3076fcd7/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233463743414339266c6162656c3d5374617273266c6162656c436f6c6f723d253233463141374238267374796c653d666f722d7468652d6261646765266c6f676f3d73746172" alt="GitHub Stars"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/network/members" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/6f89c73b10c60f6adafa90ad7b21b848298583df8d462a2becbe87d24059aab3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233443645324539266c6162656c3d466f726b73266c6162656c436f6c6f723d253233423944334532267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="GitHub Forks"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/issues" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/3a4b8ee004af093803fcbc24c59516c13e44cbba5d60b0c191bd9a1a713ad80d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464646354333266c6162656c3d4f70656e253230497373756573266c6162656c436f6c6f723d253233463445334132267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="GitHub Issues"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/issues?q=is%3Aissue+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/9a7e44607d1e3075d6ee0c4435fb62ec8967421b2c7b7cd08d82ed2fe03ade4f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d636c6f7365642f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d436c6f736564253230497373756573266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="Closed Issues"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/pulls" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/006d96a895a5a63e5c4cdc5cee99115e9f3f1e7cf347c0e8bc3a6cd76b72aecc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d4f70656e253230505273266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Open Pull Requests"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/pulls?q=is%3Apr+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/29f3240b8ff38a935f43f0302be69162dfa32b4a514810e67b642a90d1ee55fe/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722d636c6f7365642f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233443645324539266c6162656c3d436c6f736564253230505273266c6162656c436f6c6f723d253233423944334532267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Closed Pull Requests"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/discussions" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/4fd33ad946489a34cd15c0e9cc4672fc0360a2835497f89fd016f120149f46b5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f64697363757373696f6e732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464646354333266c6162656c3d44697363757373696f6e73266c6162656c436f6c6f723d253233463445334132267374796c653d666f722d7468652d6261646765266c6f676f3d646973636f75727365" alt="GitHub Discussions"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/graphs/contributors" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/8da36f92f85f0963a49b26b0e0fd687a62414e6d3a30c0ad543231e154cbc553/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233314641313943266c6162656c3d436f6e7472696275746f7273266c6162656c436f6c6f723d253233313937413736267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Contributors"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/455a748d858809820ad7f44f85c2e86faafd6a954c67ead5475c45eed721f6d3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f746f702f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d546f702532304c616e6775616765266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d707974686f6e" alt="Top Language"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/LICENSE" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/da655d545fe30c26a3114fabad1d4b1d5dd3b6a04f5e76eecdef695b3558c60f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233463339433132266c6162656c3d4c6963656e7365266c6162656c436f6c6f723d253233443638393130267374796c653d666f722d7468652d6261646765266c6f676f3d6f70656e2d736f757263652d696e6974696174697665" alt="License"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/commits/main" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/be4f3887f44ba5015568dc5cb9797b98d35fcef0b4e19cdf0cce6b5240846f93/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d4c617374253230436f6d6d6974266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Last Commit"&gt;
  &lt;/a&gt;


&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/bc683f8655ba0b26dd0beb55f18a552d39e70f4d3011f63a4d9474714b6829b2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5265706f2532304167652d3059253230334d25323034442d2532334646413037413f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6162656c436f6c6f723d25323335463945413026636f6c6f723d253233464138303732" alt="Repository Age"&gt;
&lt;/a&gt;


&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/d1222ee23d3ebd2f07992c4335829c81501e78a9c3abb14b06b270d46fef15d9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e672f7570646174652d7265706f2d696e666f2e796d6c3f636f6c6f723d253233373244444637266c6162656c3d576f726b666c6f77266c6162656c436f6c6f723d253233354343314537267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Workflow Status"&gt;
&lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/watchers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/e85d4eaaeb096eb979db583ba2685eb75331a0e0de102dca37aed25c12acff07/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f77617463686572732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d5761746368657273266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Watchers"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/6bc54e8b2205f3168e6211d168408366d8a64fbb33cde69d2a003f28ff1e1b74/68747470733a2f2f696d672e6672656570696b2e636f6d2f7072656d69756d2d766563746f722f636c6f75642d636f6d707574696e672d636f6e636570742d776974682d70656f706c652d7363656e652d6d616e2d776f6d616e2d70726f63657373696e672d696e666f726d6174696f6e2d6c6170746f70732d7573696e672d636c6f75642d746563686e6f6c6f67792d646174612d73746f726167652d6261636b75702d766563746f722d696c6c757374726174696f6e2d776974682d636861726163746572732d666c61742d64657369676e2d7765625f393230392d393831352e6a7067"&gt;&lt;img src="https://camo.githubusercontent.com/6bc54e8b2205f3168e6211d168408366d8a64fbb33cde69d2a003f28ff1e1b74/68747470733a2f2f696d672e6672656570696b2e636f6d2f7072656d69756d2d766563746f722f636c6f75642d636f6d707574696e672d636f6e636570742d776974682d70656f706c652d7363656e652d6d616e2d776f6d616e2d70726f63657373696e672d696e666f726d6174696f6e2d6c6170746f70732d7573696e672d636c6f75642d746563686e6f6c6f67792d646174612d73746f726167652d6261636b75702d766563746f722d696c6c757374726174696f6e2d776974682d636861726163746572732d666c61742d64657369676e2d7765625f393230392d393831352e6a7067" width="100%" height="500px"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Tools and Technologies ⚙️💻&lt;/h2&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;1. &lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/" rel="nofollow noopener noreferrer"&gt;AWS CLI&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;AWS Command Line Interface (CLI) is a powerful tool that allows users to interact with AWS services directly from the terminal. It simplifies managing cloud resources by providing commands for a wide range of AWS services, enabling tasks such as provisioning, managing, and automating workflows with ease.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;2. &lt;a href="https://docs.localstack.cloud/" rel="nofollow noopener noreferrer"&gt;LocalStack&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;LocalStack is a fully functional, local testing environment for AWS services. It enables developers to simulate AWS services on their local machines, facilitating the development and testing of cloud-based applications without needing access to an actual AWS account.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;3. &lt;a href="https://docs.docker.com/" rel="nofollow noopener noreferrer"&gt;Docker&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;Docker is a containerization platform that allows developers to build, share, and run applications in isolated environments called…&lt;/p&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
 In the &lt;strong&gt;last post&lt;/strong&gt;,&lt;br&gt;

&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/madhurima_rawat/using-cloud-functions-for-serverless-computing-5eik" class="crayons-story__hidden-navigation-link"&gt;🛠️ Using Cloud Functions for Serverless Computing 🧩&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/madhurima_rawat" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2Fc388603b-a324-47c6-bbbf-017619dd39c2.jpg" alt="madhurima_rawat profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/madhurima_rawat" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Madhurima Rawat
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Madhurima Rawat
                
              
              &lt;div id="story-author-preview-content-2438430" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/madhurima_rawat" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2Fc388603b-a324-47c6-bbbf-017619dd39c2.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Madhurima Rawat&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/madhurima_rawat/using-cloud-functions-for-serverless-computing-5eik" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Apr 27 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/madhurima_rawat/using-cloud-functions-for-serverless-computing-5eik" id="article-link-2438430"&gt;
          🛠️ Using Cloud Functions for Serverless Computing 🧩
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/aws"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;aws&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/lambda"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;lambda&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/tutorial"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tutorial&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cloudcomputing"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cloudcomputing&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/madhurima_rawat/using-cloud-functions-for-serverless-computing-5eik" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;30&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/madhurima_rawat/using-cloud-functions-for-serverless-computing-5eik#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              13&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            16 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
 we explored the world of &lt;strong&gt;serverless computing&lt;/strong&gt;, where AWS Lambda took center stage.

&lt;p&gt;Now, it’s time to dive deeper into the magic that makes cloud apps resilient and responsive:&lt;br&gt;
&lt;strong&gt;Cloud Load Balancing&lt;/strong&gt; and &lt;strong&gt;Auto Scaling&lt;/strong&gt;, your dynamic duo for performance and efficiency.&lt;br&gt;
Let’s balance the load, scale the servers, and cloud like pros. ☁️🚀&lt;/p&gt;

&lt;p&gt;First, I’ll explain the design behind load balancing and auto scaling.&lt;br&gt;
Then, we’ll implement it using &lt;strong&gt;Python&lt;/strong&gt; and &lt;strong&gt;LocalStack&lt;/strong&gt; — simulating traffic with a simple &lt;strong&gt;Flask app&lt;/strong&gt; instead of using paid services like NGINX.&lt;/p&gt;

&lt;p&gt;I’ve also explained all the steps for setting up &lt;strong&gt;NGINX-based load balancing&lt;/strong&gt;, which I initially tried.&lt;br&gt;
So if you’re using the paid version or actual AWS services, everything will work as expected too. ✅&lt;/p&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;What is Load Balancing?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Load balancing is the process of distributing incoming network traffic across multiple servers to ensure no single server bears too much demand. This improves &lt;strong&gt;performance, reliability, and fault tolerance&lt;/strong&gt; by preventing overload and ensuring continuous availability.&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Key Benefits of Load Balancing:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Improved Performance:&lt;/strong&gt; Spreads traffic efficiently across multiple servers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High Availability &amp;amp; Redundancy:&lt;/strong&gt; Ensures uptime even if a server fails.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scalability:&lt;/strong&gt; Easily accommodates increased traffic by adding more servers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimized Resource Utilization:&lt;/strong&gt; Ensures servers are used efficiently.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Types of Load Balancing:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Round Robin:&lt;/strong&gt; Distributes requests sequentially across servers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Least Connections:&lt;/strong&gt; Directs traffic to the server with the fewest connections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IP Hash:&lt;/strong&gt; Uses the client's IP address to route requests consistently to the same server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weighted Load Balancing:&lt;/strong&gt; Assigns different weights to servers based on their capacity.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Load Balancing Illustration&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;  
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimage.slidesharecdn.com%2Fsdn-170501111107%2F95%2Fload-balancing-in-sdn-22-638.jpg%3Fcb%3D1493637082" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimage.slidesharecdn.com%2Fsdn-170501111107%2F95%2Fload-balancing-in-sdn-22-638.jpg%3Fcb%3D1493637082" height="250px"&gt;&lt;/a&gt;  
&lt;/p&gt;

&lt;p&gt;This image visually represents &lt;strong&gt;load balancing&lt;/strong&gt;, showing how traffic is distributed among multiple servers to ensure high availability and reliability.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;What is Nginx?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Nginx (pronounced "engine-x") is a &lt;strong&gt;high-performance web server and reverse proxy&lt;/strong&gt; designed for speed, stability, and scalability. It is widely used for &lt;strong&gt;load balancing, caching, and serving static content&lt;/strong&gt; efficiently.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Why Use Nginx?&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reverse Proxy &amp;amp; Load Balancing:&lt;/strong&gt; Distributes requests across multiple backend servers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High Performance:&lt;/strong&gt; Handles thousands of concurrent connections efficiently.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security Features:&lt;/strong&gt; Protects against DDoS attacks and unauthorized access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Efficient Static Content Handling:&lt;/strong&gt; Quickly serves HTML, CSS, JavaScript, and images.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Support for Microservices:&lt;/strong&gt; Works seamlessly with modern containerized applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Nginx Overview&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;  
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A800%2F1%2AhXuuhny2NRwVopbkfz5caw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afit%3A800%2F1%2AhXuuhny2NRwVopbkfz5caw.png" height="300px"&gt;&lt;/a&gt;  
&lt;/p&gt;

&lt;p&gt;This image provides a high-level view of Nginx’s role in handling requests, acting as a &lt;strong&gt;reverse proxy, load balancer, and web server&lt;/strong&gt; for modern applications.&lt;/p&gt;




&lt;p&gt;🖼️ &lt;strong&gt;About the Cover Image:&lt;/strong&gt;&lt;br&gt;
It shows growing user traffic (👥🛒) reaching a load balancer (⚖️), which then distributes tasks efficiently.&lt;br&gt;
Auto scaling (📈📉) ensures resources scale up or down as demand changes — keeping your cloud setup both effective and economical.&lt;/p&gt;
&lt;h2&gt;
  
  
  Simple Load balancing Function with LocalStack and Flask
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. &lt;strong&gt;Creating a Virtual Private Cloud (VPC)&lt;/strong&gt;:
&lt;/h3&gt;

&lt;p&gt;To begin, create a VPC using the AWS CLI.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ec2 create-vpc &lt;span class="nt"&gt;--cidr-block&lt;/span&gt; 10.0.0.0/16 &lt;span class="nt"&gt;--endpoint-&lt;/span&gt;
&lt;span class="nv"&gt;url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. &lt;strong&gt;Creating a Subnet&lt;/strong&gt;:
&lt;/h3&gt;

&lt;p&gt;Once the VPC is created, define a subnet within it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ec2 create-subnet &lt;span class="nt"&gt;--vpc-id&lt;/span&gt; vpc-66375b0cbe498b519
&lt;span class="nt"&gt;--cidr-block&lt;/span&gt; 10.0.1.0/24 &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. &lt;strong&gt;Creating an Application Load Balancer&lt;/strong&gt;:
&lt;/h3&gt;

&lt;p&gt;Create an ALB and associate it with the subnet.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws elbv2 create-load-balancer &lt;span class="nt"&gt;--name&lt;/span&gt; my-load-balancer
&lt;span class="nt"&gt;--subnets&lt;/span&gt; subnet-3f40f7c6e3a26040f &lt;span class="nt"&gt;--security-groups&lt;/span&gt; default
&lt;span class="nt"&gt;--type&lt;/span&gt; application &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;strong&gt;Setting Up Nginx Containers with Load Balancing&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Running Backend Containers&lt;/strong&gt;:
&lt;/h3&gt;

&lt;p&gt;Navigate to the project directory before running containers.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="s2"&gt;"C:&lt;/span&gt;&lt;span class="se"&gt;\U&lt;/span&gt;&lt;span class="s2"&gt;sers&lt;/span&gt;&lt;span class="se"&gt;\r&lt;/span&gt;&lt;span class="s2"&gt;awat&lt;/span&gt;&lt;span class="se"&gt;\D&lt;/span&gt;&lt;span class="s2"&gt;ocuments&lt;/span&gt;&lt;span class="se"&gt;\8&lt;/span&gt;&lt;span class="s2"&gt; SEMESTER&lt;/span&gt;&lt;span class="se"&gt;\C&lt;/span&gt;&lt;span class="s2"&gt;loud
Computing&lt;/span&gt;&lt;span class="se"&gt;\L&lt;/span&gt;&lt;span class="s2"&gt;ab&lt;/span&gt;&lt;span class="se"&gt;\E&lt;/span&gt;&lt;span class="s2"&gt;xperiment 6&lt;/span&gt;&lt;span class="se"&gt;\C&lt;/span&gt;&lt;span class="s2"&gt;odes"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run the backend containers using Docker:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;--name&lt;/span&gt; backend1 nginx
docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;--name&lt;/span&gt; backend2 nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the image is not found locally, Docker will pull it from the repository.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;Verify Available Docker Images&lt;/strong&gt;:
&lt;/h3&gt;

&lt;p&gt;To check the downloaded images:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker images
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Expected output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;REPOSITORY                     TAG        IMAGE ID       CREATED        SIZE
nginx                          latest     b52e0b094bc0   4 weeks ago    192MB
flask-app                      latest     269bf42596ed   3 weeks ago    126MB
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6. &lt;strong&gt;Creating and Running a Load Balancer Container&lt;/strong&gt;:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;--name&lt;/span&gt; load-balancer &lt;span class="nt"&gt;-p&lt;/span&gt; 8080:80 &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="s2"&gt;"C:/Users/rawat/Documents
/8 SEMESTER/Cloud
Computing/Lab/Experiment 6/Codes/nginx.conf:/etc/nginx/nginx.conf"&lt;/span&gt; nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Check logs for potential errors:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker logs load-balancer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  7. &lt;strong&gt;Fixing 'Host Not Found' Error&lt;/strong&gt;:
&lt;/h3&gt;

&lt;p&gt;The error &lt;strong&gt;"host not found in upstream 'backend1:80'"&lt;/strong&gt; means Nginx cannot resolve &lt;code&gt;backend1&lt;/code&gt;. &lt;strong&gt;All containers must be in the same network.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Fix: Use a Custom Docker Network&lt;/strong&gt;
&lt;/h2&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Step 1: Create a Network&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker network create my-network
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Step 2: Start Backend Containers in the Same Network&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Remove existing backend containers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nb"&gt;rm&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; backend1 backend2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Restart them within the custom network:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;--name&lt;/span&gt; backend1 &lt;span class="nt"&gt;--network&lt;/span&gt; my-network nginx
docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;--name&lt;/span&gt; backend2 &lt;span class="nt"&gt;--network&lt;/span&gt; my-network nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Step 3: Update &lt;code&gt;nginx.conf&lt;/code&gt;&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Edit your &lt;code&gt;nginx.conf&lt;/code&gt; file to ensure proper load balancing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight nginx"&gt;&lt;code&gt;&lt;span class="k"&gt;events&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;http&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kn"&gt;upstream&lt;/span&gt; &lt;span class="s"&gt;backend_servers&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kn"&gt;server&lt;/span&gt; &lt;span class="nf"&gt;backend1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="kn"&gt;server&lt;/span&gt; &lt;span class="nf"&gt;backend2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="kn"&gt;server&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kn"&gt;listen&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="kn"&gt;location&lt;/span&gt; &lt;span class="n"&gt;/&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="kn"&gt;proxy_pass&lt;/span&gt; &lt;span class="s"&gt;http://backend_servers&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Save the file and restart the load balancer container:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nb"&gt;rm&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; load-balancer
docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;--name&lt;/span&gt; load-balancer &lt;span class="nt"&gt;--network&lt;/span&gt; my-network &lt;span class="nt"&gt;-p&lt;/span&gt; 8080:80 &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;span class="s2"&gt;"C:/Users/rawat/Documents/8 SEMESTER/Cloud
Computing/Lab/Experiment 6/Codes/nginx.conf:/etc/nginx/nginx.conf"&lt;/span&gt; nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Step 4: Verify Setup&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Check if the load balancer is running properly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker ps
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Access the load balancer at:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:8080
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If this is not showing up properly, then go to the next step.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Step 5: Restart the Load Balancer&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;First, remove the existing container:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nb"&gt;rm&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; load-balancer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then start it again, &lt;strong&gt;within the same network&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;--name&lt;/span&gt; load-balancer &lt;span class="nt"&gt;--network&lt;/span&gt; my-network &lt;span class="nt"&gt;-p&lt;/span&gt; 8080:80 &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;span class="s2"&gt;"C:/Users/rawat/Documents/8 SEMESTER/Cloud
Computing/Lab/Experiment 6/Codes/nginx.conf:/etc/nginx/nginx.conf"&lt;/span&gt; nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;Step 6: Verify Everything&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Check if containers are running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker ps
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then try opening:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:8080
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  &lt;strong&gt;LocalStack Load Balancer - Flask Simulation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Since Nginx doesn't support load balancing for LocalStack, a Python Flask application is used for round-robin load balancing simulation.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;flask&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Flask&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;render_template_string&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;itertools&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;seaborn&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;sns&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;io&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;base64&lt;/span&gt;

&lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Flask&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;__name__&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Backend servers
&lt;/span&gt;&lt;span class="n"&gt;backends&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Backend 1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Backend 2&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="c1"&gt;# Simulated processes
&lt;/span&gt;&lt;span class="n"&gt;processes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;P&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;
&lt;span class="n"&gt;load_values&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;randint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;processes&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c1"&gt;# Round-robin assignment
&lt;/span&gt;&lt;span class="n"&gt;backend_cycle&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;itertools&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;cycle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;backends&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;schedule&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;process&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;next&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;backend_cycle&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;process&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;processes&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nd"&gt;@app.route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;home&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Renders the home page with the load balancer visualization.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;set_theme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;darkgrid&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;fig&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ax&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;subplots&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;figsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

        &lt;span class="n"&gt;x_labels&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;schedule&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;keys&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
        &lt;span class="n"&gt;y_labels&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;schedule&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;values&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;

        &lt;span class="n"&gt;custom_colors&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#52796F&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#E63946&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#6A0572&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#457B9D&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#9C6644&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#8D99AE&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#2A9D8F&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#E76F51&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#6D597A&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#B56576&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="p"&gt;]&lt;/span&gt;

        &lt;span class="n"&gt;bars&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ax&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x_labels&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;load_values&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;custom_colors&lt;/span&gt;&lt;span class="p"&gt;[:&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;processes&lt;/span&gt;&lt;span class="p"&gt;)],&lt;/span&gt; &lt;span class="n"&gt;width&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.6&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;backend&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;load&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;zip&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;bars&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;zip&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y_labels&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;load_values&lt;/span&gt;&lt;span class="p"&gt;)):&lt;/span&gt;
            &lt;span class="n"&gt;ax&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="n"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get_x&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get_width&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="n"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get_height&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mf"&gt;0.4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="n"&gt;backend&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="n"&gt;ha&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;center&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;fontsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;fontweight&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;bold&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="n"&gt;bbox&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nf"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;facecolor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;white&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;alpha&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;edgecolor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;black&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;boxstyle&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;round,pad=0.3&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="n"&gt;ax&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;set_ylabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Assigned Load&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;ax&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;set_title&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Round Robin Load Balancer Simulation&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;fontsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;fontweight&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;bold&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;ax&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;set_xticklabels&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x_labels&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;rotation&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ha&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;right&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="n"&gt;img&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;io&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;BytesIO&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;savefig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;img&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;format&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;png&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;bbox_inches&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;tight&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;img&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;seek&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;close&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fig&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="n"&gt;image_data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;base64&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;b64encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;img&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getvalue&lt;/span&gt;&lt;span class="p"&gt;()).&lt;/span&gt;&lt;span class="nf"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

        &lt;span class="n"&gt;html_template&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;
        &amp;lt;!DOCTYPE html&amp;gt;
        &amp;lt;html lang=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;en&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;&amp;gt;
        &amp;lt;head&amp;gt;
            &amp;lt;meta charset=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;UTF-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;&amp;gt;
            &amp;lt;meta name=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;viewport&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt; content=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;width=device-width, initial-scale=1.0&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;&amp;gt;
            &amp;lt;title&amp;gt;Load Balancer&amp;lt;/title&amp;gt;
            &amp;lt;style&amp;gt;
                body { font-family: Arial, sans-serif; background-color: #f0f2f5; text-align: center; padding: 20px; }
                .container { background: white; padding: 20px; box-shadow: 0 0 15px rgba(0,0,0,0.1); max-width: 850px; margin: auto; border-radius: 10px; }
                h2 { color: #2c3e50; font-size: 24px; margin-bottom: 10px; }
                p { font-size: 16px; color: #555; margin-bottom: 20px; }
                img { max-width: 100%; border-radius: 10px; margin-top: 10px; }
            &amp;lt;/style&amp;gt;
        &amp;lt;/head&amp;gt;
        &amp;lt;body&amp;gt;
            &amp;lt;div class=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;container&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;&amp;gt;
                &amp;lt;h2&amp;gt;Round Robin Load Balancer Simulation&amp;lt;/h2&amp;gt;
                &amp;lt;p&amp;gt;
                    Load balancing distributes tasks among multiple backend servers to optimize performance and reliability.
                    This simulation demonstrates a Round Robin approach, where each process is assigned to a backend in a cyclic order.
                &amp;lt;/p&amp;gt;
                &amp;lt;img src=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;data:image/png;base64,{{ image_data }}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt; alt=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Load Balancer Graph&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/body&amp;gt;
        &amp;lt;/html&amp;gt;
        &lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;render_template_string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;html_template&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;image_data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;image_data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Error generating graph: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;500&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;__main__&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;host&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;0.0.0.0&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;port&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;5000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This application displays a bar chart illustrating the distribution of processes across backend servers using the round-robin approach. The graph helps in understanding how the tasks are assigned dynamically.&lt;/p&gt;

&lt;p&gt;Run the app using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once the server is running, open a web browser and navigate to &lt;code&gt;http://localhost:5000&lt;/code&gt; to access the application.&lt;/p&gt;




&lt;p&gt;📄 &lt;strong&gt;Want to see how it all worked step by step? Check it out here:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Experiment%206/Output/Experiment%206%20Output.pdf" rel="noopener noreferrer"&gt;Experiment 6 Output (PDF)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🧠 Curious about how each command runs and responds? See the detailed input-output flow here:&lt;/p&gt;

&lt;p&gt;🖥️ &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Experiment%206/Codes/Command%20Prompt%20Input%20and%20Output%20Explanation.pdf" rel="noopener noreferrer"&gt;Load Balancing &amp;amp; Auto Scaling Setup Flow (PDF)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🎉 &lt;strong&gt;And that’s a wrap on Load Balancing and Auto Scaling!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;I’ve explained both the simulated LocalStack + Flask setup and the full NGINX-based approach&lt;/strong&gt;, so if you’re using a paid tier, you can follow the complete setup seamlessly.&lt;/p&gt;

&lt;p&gt;💬 &lt;strong&gt;Do tell me about your own experience&lt;/strong&gt;, whether you used &lt;strong&gt;NGINX&lt;/strong&gt;, &lt;strong&gt;LocalStack&lt;/strong&gt;, or any other tools for load balancing. What worked, what didn’t?&lt;/p&gt;

&lt;p&gt;📚 &lt;strong&gt;Found any great resources, tutorials, or articles?&lt;/strong&gt; Drop them in the &lt;strong&gt;comments&lt;/strong&gt;. I’d love to include helpful links in the article for others to explore!&lt;/p&gt;

&lt;p&gt;🔥 &lt;strong&gt;Stay tuned for the next article!&lt;/strong&gt;&lt;br&gt;
We’re diving into &lt;strong&gt;Cloud Databases and Data Management&lt;/strong&gt;, where I’ll talk about storing data the cloud-native way. 🗄️🌩️&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>tutorial</category>
      <category>cloudcomputing</category>
      <category>aws</category>
    </item>
    <item>
      <title>✂️ From 2500+ to 10+ Lines: Automated Modular Code Refactor 🤖</title>
      <dc:creator>Madhurima Rawat</dc:creator>
      <pubDate>Fri, 02 May 2025 09:48:27 +0000</pubDate>
      <link>https://dev.to/madhurima_rawat/from-2500-to-10-lines-automated-modular-code-refactor-803</link>
      <guid>https://dev.to/madhurima_rawat/from-2500-to-10-lines-automated-modular-code-refactor-803</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hey awesome people! 👋&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Thank you so much for the recent engagement on my articles — it really made my day! 💖&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So, I had actually planned to write the next article in my &lt;a href="https://dev.to/madhurima_rawat/series/31049"&gt;☁️ Local Cloud Computing with LocalStack + Docker + AWS CLI 💡 (6 Part Series)&lt;/a&gt; series. But something interesting and super useful came up while working on my &lt;strong&gt;major project&lt;/strong&gt; for college — a &lt;strong&gt;Stock Market Prediction Tool&lt;/strong&gt; — and I thought this deserves a quick write-up!&lt;/p&gt;

&lt;p&gt;You can check out the project here 🔗:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/madhurimarawat" rel="noopener noreferrer"&gt;
        madhurimarawat
      &lt;/a&gt; / &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction" rel="noopener noreferrer"&gt;
        Stock-Market-Prediction
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      This repository began as a 7th-semester minor project and evolved into our 8th-semester major project, "Advanced Stock Price Forecasting Using a Hybrid Model of Numerical and Textual Analysis." It utilizes Python, NLP (NLTK, spaCy), ML models, Grafana, InfluxDB, and Streamlit for data analysis and visualization.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Stock-Market-Prediction&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;This repository began as a &lt;strong&gt;7th-semester minor project&lt;/strong&gt; and evolved into our &lt;strong&gt;8th-semester major project&lt;/strong&gt;, &lt;strong&gt;"Advanced Stock Price Forecasting Using a Hybrid Model of Numerical and Textual Analysis."&lt;/strong&gt; It utilizes &lt;strong&gt;Python, NLP (NLTK, spaCy), ML models, Grafana, InfluxDB, and Streamlit&lt;/strong&gt; for data analysis and visualization.&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/3cf25df766b3f62e2f954ff52c6043a656e0374d589090095e494a83b259fdfd/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7265706f2d73697a652f6d6164687572696d6172617761742f53746f636b2d4d61726b65742d50726564696374696f6e3f636f6c6f723d253233464642364331266c6162656c3d5265706f25323053697a65266c6162656c436f6c6f723d253233463339464242267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Repo Size"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/stargazers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/9ad465b7102a946cde297d077024e31712e8ae0965a1edf75099fcb63bbe3fe4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d6164687572696d6172617761742f53746f636b2d4d61726b65742d50726564696374696f6e3f636f6c6f723d253233464644353830266c6162656c3d5374617273266c6162656c436f6c6f723d253233463543313645267374796c653d666f722d7468652d6261646765266c6f676f3d73746172" alt="GitHub Stars"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/network/members" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/17ffe580e5031666b4c9701241ce46f63ece3a7800fb0a87ca5b278654d7c2ab/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6d6164687572696d6172617761742f53746f636b2d4d61726b65742d50726564696374696f6e3f636f6c6f723d253233383844384330266c6162656c3d466f726b73266c6162656c436f6c6f723d253233373543444231267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="GitHub Forks"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/issues" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/a95b88ea74257b527a2aa3fadc14ade0f9bc3c55b53386ea2406686434018279/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d6164687572696d6172617761742f53746f636b2d4d61726b65742d50726564696374696f6e3f636f6c6f723d253233464644384138266c6162656c3d4f70656e253230497373756573266c6162656c436f6c6f723d253233464643343838267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="GitHub Issues"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/issues?q=is%3Aissue+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/904d71591013d1834eaf7a8f65bad948f312fed529bd40914800cff16794c6d8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d636c6f7365642f6d6164687572696d6172617761742f53746f636b2d4d61726b65742d50726564696374696f6e3f636f6c6f723d253233463642364236266c6162656c3d436c6f736564253230497373756573266c6162656c436f6c6f723d253233453939443944267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="Closed Issues"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/pulls" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/d7acacd30d6799aff5057d5e23bc3173f58b6a636b407c72558082846c6de5aa/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722f6d6164687572696d6172617761742f53746f636b2d4d61726b65742d50726564696374696f6e3f636f6c6f723d253233413043344646266c6162656c3d4f70656e253230505273266c6162656c436f6c6f723d253233383742344633267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Open Pull Requests"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/pulls?q=is%3Apr+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/b2f77c1cd88e78e4d8dddb5b63a8edd936ae508e650f7bf654a9c73d2fea27a5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722d636c6f7365642f6d6164687572696d6172617761742f53746f636b2d4d61726b65742d50726564696374696f6e3f636f6c6f723d253233443541364530266c6162656c3d436c6f736564253230505273266c6162656c436f6c6f723d253233433239314433267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Closed Pull Requests"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/discussions" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/f6441802955790732ba4a017886d7225b5422af9a91f6443fa769572a851413c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f64697363757373696f6e732f6d6164687572696d6172617761742f53746f636b2d4d61726b65742d50726564696374696f6e3f636f6c6f723d253233433942364534266c6162656c3d44697363757373696f6e73266c6162656c436f6c6f723d253233423841314438267374796c653d666f722d7468652d6261646765266c6f676f3d646973636f75727365" alt="GitHub Discussions"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/graphs/contributors" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/384e54f065c8525e2980574d62d5467ddf370b3479a100760675a21e1cfdbe15/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f6d6164687572696d6172617761742f53746f636b2d4d61726b65742d50726564696374696f6e3f636f6c6f723d253233413044453833266c6162656c3d436f6e7472696275746f7273266c6162656c436f6c6f723d253233384443443733267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Contributors"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/f13b31f37105767ad2b5bde8d295aaedce2906b28b7a97736352570cb39b531d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f746f702f6d6164687572696d6172617761742f53746f636b2d4d61726b65742d50726564696374696f6e3f636f6c6f723d253233454543364530266c6162656c3d546f702532304c616e6775616765266c6162656c436f6c6f723d253233444242314433267374796c653d666f722d7468652d6261646765266c6f676f3d707974686f6e" alt="Top Language"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/LICENSE" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/78a6c2240946d5dd392b0be6147279019d22af000b8a7bc39e91453eb9f0ed43/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6164687572696d6172617761742f53746f636b2d4d61726b65742d50726564696374696f6e3f636f6c6f723d2532334646383639266c6162656c3d4c6963656e7365266c6162656c436f6c6f723d253233453736433838267374796c653d666f722d7468652d6261646765266c6f676f3d6f70656e2d736f757263652d696e6974696174697665" alt="License"&gt;
  &lt;/a&gt;
  
&lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/commits/main" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/0b77fe974a5387487bc0d97a009e6294babeccc18a5516e176be79fc982c2b9b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6d6164687572696d6172617761742f53746f636b2d4d61726b65742d50726564696374696f6e3f636f6c6f723d253233464443423845266c6162656c3d4c617374253230436f6d6d6974266c6162656c436f6c6f723d253233463442383736267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Last Commit"&gt;
&lt;/a&gt;




&lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/4e9804530e63a2811a6a6b7e4256f179d82ded378826f57b1c234c2cbe0aac0d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5265706f2532304167652d3059253230384d2532303232442d2532334646413037413f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6162656c436f6c6f723d25323335463945413026636f6c6f723d253233464138303732" alt="Repository Age"&gt;
&lt;/a&gt;


&lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/3cd8d633e8842f6bf9ff3434c81f74c9d9a520561d3ec3ef40c05090e8f4668b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6164687572696d6172617761742f53746f636b2d4d61726b65742d50726564696374696f6e2f7570646174652d7265706f2d696e666f2e796d6c3f636f6c6f723d253233373244444637266c6162656c3d576f726b666c6f77266c6162656c436f6c6f723d253233354343314537267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Workflow Status"&gt;
&lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/watchers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/be7300ac06fa650a4a3a255c4a72ab8bb58bb9ae9df366e28045a93b9c18e141/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f77617463686572732f6d6164687572696d6172617761742f53746f636b2d4d61726b65742d50726564696374696f6e3f636f6c6f723d253233464644313636266c6162656c3d5761746368657273266c6162656c436f6c6f723d253233463442373445267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Watchers"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/105432776/372186326-f5751f74-43c5-4045-aa9f-bb7abd19c1aa.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ2NDg5NTksIm5iZiI6MTc3NDY0ODY1OSwicGF0aCI6Ii8xMDU0MzI3NzYvMzcyMTg2MzI2LWY1NzUxZjc0LTQzYzUtNDA0NS1hYTlmLWJiN2FiZDE5YzFhYS5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwMzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDMyN1QyMTU3MzlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02YTJhMDFkM2M2ZmZmYzA3ZDg1OTUwNjliMDBlMGM4NTViNmZiOTI4NGM0ZGNjZDNlMjkxNzJkMGJiZTVkODJjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.UxpG0KU7SRMWygl3i6sQmXuFGSvsvnsdBOqjgn6OUsY"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fprivate-user-images.githubusercontent.com%2F105432776%2F372186326-f5751f74-43c5-4045-aa9f-bb7abd19c1aa.jpg%3Fjwt%3DeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ2NDg5NTksIm5iZiI6MTc3NDY0ODY1OSwicGF0aCI6Ii8xMDU0MzI3NzYvMzcyMTg2MzI2LWY1NzUxZjc0LTQzYzUtNDA0NS1hYTlmLWJiN2FiZDE5YzFhYS5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwMzI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDMyN1QyMTU3MzlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02YTJhMDFkM2M2ZmZmYzA3ZDg1OTUwNjliMDBlMGM4NTViNmZiOTI4NGM0ZGNjZDNlMjkxNzJkMGJiZTVkODJjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.UxpG0KU7SRMWygl3i6sQmXuFGSvsvnsdBOqjgn6OUsY" alt="📈 Stock Market Illustration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://stock-market-numerical-text-hybrid-prediction.streamlit.app/" rel="nofollow noopener noreferrer"&gt;
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fmadhurimarawat%2FStock-Market-Prediction%2F" alt="💡 Real Time Prediction" title="💡 Real Time Prediction" height="300px"&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Project Description&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;The &lt;strong&gt;Advanced Stock Price Forecasting Using a Hybrid Model of Numerical and Textual Analysis&lt;/strong&gt; project involves a comprehensive approach to predicting stock prices using both numerical data and textual analysis. The project components include:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Data Collection and Storage&lt;/strong&gt;: We gathered historical stock data of major companies and stored it in an InfluxDB database to efficiently handle large-scale time-series data.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Data Visualization&lt;/strong&gt;: A Grafana dashboard has been set up for real-time visualization of stock prices and analysis results, enhancing data interpretation and decision-making processes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Textual Analysis for Enhanced Forecasting&lt;/strong&gt;: We utilized Natural Language Processing (NLP) libraries, such as NLTK…&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/madhurimarawat/Stock-Market-Prediction" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;





&lt;h2&gt;
  
  
  📚 Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What’s the Context?&lt;/li&gt;
&lt;li&gt;Problem Faced 😵&lt;/li&gt;
&lt;li&gt;Why Modularization? 💡&lt;/li&gt;
&lt;li&gt;Flowchart Overview 📊&lt;/li&gt;
&lt;li&gt;Modularization Steps 🧩&lt;/li&gt;
&lt;li&gt;Pros and Cons ⚖️&lt;/li&gt;
&lt;li&gt;GitHub Issue and PR Links 🔗&lt;/li&gt;
&lt;li&gt;Before and After Code 📁&lt;/li&gt;
&lt;li&gt;Final Thoughts 💬&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  What’s the Context?
&lt;/h2&gt;

&lt;p&gt;For my college major project, I built a &lt;strong&gt;Stock Market Prediction&lt;/strong&gt; app using &lt;strong&gt;Streamlit&lt;/strong&gt;. The app includes interactive visualizations, model evaluation, live predictions, and dashboards powered by tools like &lt;strong&gt;Grafana&lt;/strong&gt; and &lt;strong&gt;Power BI&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Initially, the Streamlit app had over &lt;strong&gt;2500+ lines of code&lt;/strong&gt; — all in a single file 😵. I had separate versions for local and deployed apps because some file paths were broken in the production environment.&lt;/p&gt;

&lt;p&gt;This made even small changes (like adding a new function) a complete nightmare.&lt;/p&gt;




&lt;h2&gt;
  
  
  Problem Faced 😵
&lt;/h2&gt;

&lt;p&gt;The original code structure looked like this:&lt;br&gt;
🔗 &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/blob/main/Codes/Historical_Data_Analysis/Streamlit_app_combined.py" rel="noopener noreferrer"&gt;Original Code (before refactoring)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It had all functions — data handling, UI logic, visualizations, predictions — bundled into &lt;strong&gt;one giant file&lt;/strong&gt;. This made debugging, testing, and adding new features quite challenging and error-prone.&lt;/p&gt;

&lt;p&gt;While the code was already modular &lt;em&gt;in terms of function structure&lt;/em&gt;, everything lived in a &lt;strong&gt;single place&lt;/strong&gt;. So I decided to properly refactor it — extracting each functional block into its own dedicated file. That’s why the term &lt;em&gt;"refactoring"&lt;/em&gt; is used in the cover image, and &lt;em&gt;"modularization steps"&lt;/em&gt; are outlined throughout the article.&lt;/p&gt;

&lt;p&gt;So, I took the modular functions and placed them in separate files, organizing the code for better structure and clarity. 🚀&lt;/p&gt;


&lt;h2&gt;
  
  
  Why Modularization? 💡
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Codebase Modularization&lt;/strong&gt; means breaking a large, messy file into independent, reusable, and manageable modules.&lt;/p&gt;
&lt;h3&gt;
  
  
  🏢 Visualizing the Idea
&lt;/h3&gt;

&lt;p&gt;Imagine your codebase as a &lt;strong&gt;large building&lt;/strong&gt; — with a central &lt;strong&gt;hall&lt;/strong&gt; and multiple &lt;strong&gt;rooms&lt;/strong&gt; where each person (function) lives. Initially, everything is connected, but it’s a bit noisy, and the boundaries are blurry.&lt;/p&gt;

&lt;p&gt;🔁 Now, you &lt;strong&gt;refactor&lt;/strong&gt; (transform) the setup:&lt;br&gt;
You redesign the structure into &lt;strong&gt;separate flats&lt;/strong&gt;. Each flat is self-contained, cleaner, and still linked through a central lobby (like a &lt;code&gt;main()&lt;/code&gt; function). People (functions) still collaborate, but now with &lt;strong&gt;clearer separation&lt;/strong&gt;, more &lt;strong&gt;peace&lt;/strong&gt;, and &lt;strong&gt;organized communication&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This transformation reflects how we modularize code: splitting logic into individual function files, cleaning dependencies, and improving maintainability — all while preserving the original connections.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;🖼️ This is what I’m trying to visualize in my cover image — like transforming a shared hall into peaceful, connected flats. 🏢➡️🏘️ &lt;/p&gt;

&lt;p&gt;Curious if the cover made sense and looked good to you! 👀✨&lt;/p&gt;


&lt;h2&gt;
  
  
  Pros and Cons ⚖️
&lt;/h2&gt;
&lt;h3&gt;
  
  
  ✅ &lt;strong&gt;Pros (in My App’s Context)&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;🧪 &lt;strong&gt;Easier Debugging and Testing&lt;/strong&gt;: With functions and modules isolated, testing becomes straightforward, allowing for easier identification and resolution of bugs in specific areas, without impacting other parts of the app.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🧹 &lt;strong&gt;Better Readability and Code Structure&lt;/strong&gt;: Modularization ensures the code is clean and well-organized, improving readability. Each module is purpose-driven, making it simple for anyone — including future developers — to understand the logic and flow.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔁 &lt;strong&gt;Independent Development/Deployment of Modules&lt;/strong&gt;: Each module is developed and deployed independently, allowing updates or changes in one part of the project without affecting the rest of the app. This separation streamlines the workflow and keeps the process efficient.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📈 &lt;strong&gt;Scalable for Future Improvements&lt;/strong&gt;: The modular structure is built for growth, making it easy to expand the app by adding new features without disturbing the existing code. This design ensures the app is ready for future enhancements and scaling.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  ❗ Cons of Modularization (in my app’s context)
&lt;/h3&gt;

&lt;p&gt;While modularization comes with a lot of benefits, there are a few challenges I encountered during this refactor:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⏱️ &lt;strong&gt;Initial setup time&lt;/strong&gt;: Setting up the modular structure took quite a bit of effort initially — especially extracting functions, handling dependencies, and preparing import aggregators.&lt;/li&gt;
&lt;li&gt;🧵 &lt;strong&gt;Managing imports and dependencies&lt;/strong&gt;: Every individual function file needs to have its required imports — which adds complexity, especially when working with libraries like &lt;code&gt;streamlit&lt;/code&gt;, &lt;code&gt;pandas&lt;/code&gt;, and &lt;code&gt;plotly&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;🌐 &lt;strong&gt;Local vs Deployed sync&lt;/strong&gt;: I had to maintain two separate sets of files — one for local and one for deployment — because some paths and behaviors differ in production (as I explained in &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/issues/13" rel="noopener noreferrer"&gt;this GitHub issue&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;* 🔁 &lt;strong&gt;Circular dependencies&lt;/strong&gt;: Refactoring functions into separate modules means being extra cautious to avoid circular imports (e.g., two modules importing from each other), which can break the app.&lt;/li&gt;
&lt;li&gt;* 🗂️ &lt;strong&gt;Managing directory structures&lt;/strong&gt;: Maintaining a clean and logical directory hierarchy (like &lt;code&gt;features_functions_local/&lt;/code&gt; and &lt;code&gt;features_functions_deployed/&lt;/code&gt;) is necessary but requires planning, otherwise it gets messy fast.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even though this was from my project app perspective, it’s something that applies to most projects too! 🌍&lt;/p&gt;


&lt;h2&gt;
  
  
  Flowchart Overview 📊
&lt;/h2&gt;

&lt;p&gt;📌 &lt;strong&gt;Codebase Modularization Flowchart&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgncrxr70incc328aokku.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgncrxr70incc328aokku.png" alt="Codebase Modularization Flowchart"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  Modularization Steps 🧩
&lt;/h2&gt;

&lt;p&gt;Here’s what I did to cleanly modularize the Streamlit app:&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 1: &lt;code&gt;Function_Splitting.py&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;📤 Extracts each function into its own file.&lt;br&gt;
📁 Saved in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;features_functions_local/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;features_functions_deployed/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Code 👩‍💻&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;
Author: Madhurima Rawat

Script to split top-level functions (excluding &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;main&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;) from a large Streamlit app file
into separate Python files, preserving:
- Any comment immediately above the function
- Any global variable used within the function

Each function is saved as a standalone `.py` file inside the `split_functions/` directory.
&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;astunparse&lt;/span&gt;

&lt;span class="c1"&gt;# === CONFIGURATION ===
&lt;/span&gt;&lt;span class="n"&gt;INPUT_FILE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Streamlit_app_local_combined.py&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;  &lt;span class="c1"&gt;# The source Python file to extract functions from
&lt;/span&gt;
&lt;span class="c1"&gt;# For Local Running functions
# OUTPUT_DIR = "feature_functions_local"  # Directory to store individual function files
&lt;/span&gt;
&lt;span class="c1"&gt;# For Deployed Functions
&lt;/span&gt;&lt;span class="n"&gt;OUTPUT_DIR&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;feature_functions_deployed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;  &lt;span class="c1"&gt;# Directory to store individual function files
&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Ensure the output directory exists
&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;makedirs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;OUTPUT_DIR&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exist_ok&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Read the entire source file content
&lt;/span&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;INPUT_FILE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;r&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;source&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# Parse the source code into an abstract syntax tree (AST)
&lt;/span&gt;&lt;span class="n"&gt;tree&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;lines&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;splitlines&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# Containers to hold relevant nodes
&lt;/span&gt;&lt;span class="n"&gt;function_nodes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;  &lt;span class="c1"&gt;# Functions to extract
&lt;/span&gt;&lt;span class="n"&gt;global_vars&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;  &lt;span class="c1"&gt;# Global variables (assignments) at top level
&lt;/span&gt;&lt;span class="n"&gt;import_lines&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;  &lt;span class="c1"&gt;# All top-level import statements
&lt;/span&gt;
&lt;span class="c1"&gt;# Classify top-level elements in the AST
&lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tree&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Import&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ImportFrom&lt;/span&gt;&lt;span class="p"&gt;)):&lt;/span&gt;
        &lt;span class="n"&gt;import_lines&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Collect import lines
&lt;/span&gt;    &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="nf"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Assign&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;global_vars&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Track top-level assignments
&lt;/span&gt;    &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="nf"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FunctionDef&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;main&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;function_nodes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Collect functions except 'main'
&lt;/span&gt;

&lt;span class="c1"&gt;# Extract comment immediately above a function, if present
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_leading_comment&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;lineno&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lineno&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="n"&gt;lineno&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;lines&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;lineno&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;strip&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;startswith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;lines&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;lineno&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;strip&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="sh"&gt;""&lt;/span&gt;


&lt;span class="c1"&gt;# Get all variable names used in a function
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_used_names&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;walk&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;


&lt;span class="c1"&gt;# Prepare a mapping of global variable name -&amp;gt; source code
&lt;/span&gt;&lt;span class="n"&gt;all_globals&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;targets&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;astunparse&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;unparse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;strip&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;global_vars&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;targets&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;# Create a separate file for each function
&lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;func_node&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;function_nodes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;func_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;func_node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;
    &lt;span class="n"&gt;func_code&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get_source_segment&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;func_node&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Full source code of the function
&lt;/span&gt;    &lt;span class="n"&gt;used_names&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;get_used_names&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;func_node&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Variables used in the function
&lt;/span&gt;
    &lt;span class="n"&gt;leading_comment&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;get_leading_comment&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;func_node&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Optional comment above the function
&lt;/span&gt;    &lt;span class="n"&gt;globals_needed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;all_globals&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;used_names&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;all_globals&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="n"&gt;file_path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;OUTPUT_DIR&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;func_name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;.py&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;file_path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;w&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;out_file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;leading_comment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;out_file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;leading_comment&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Write leading comment if present
&lt;/span&gt;        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;g&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;globals_needed&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;out_file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Write any required globals
&lt;/span&gt;        &lt;span class="n"&gt;out_file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;func_code&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Finally, write the function code
&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;✅ Done! Functions split into &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;OUTPUT_DIR&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Step 2: &lt;code&gt;Dependency_Adder.py&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;🔍 Uses AST (Abstract Syntax Tree) to detect and inject the right &lt;code&gt;import&lt;/code&gt; statements into each function file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code 👩‍💻&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;
Author: Madhurima Rawat

Script to analyze individual Python function files inside the &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;split_functions&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt; directory
and prepend necessary import statements based on used modules, functions, or objects.

The goal is to ensure each function file is self-contained by including all relevant
imports at the top. This script uses a heuristic approach, looking for known identifiers
to determine which modules are needed.
&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pathlib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Path&lt;/span&gt;

&lt;span class="c1"&gt;# === CONFIGURATION ===
&lt;/span&gt;
&lt;span class="c1"&gt;# Path to the folder containing the split function files(Local)
# functions_folder = Path("feature_functions_local")
&lt;/span&gt;
&lt;span class="c1"&gt;# Path to the folder containing the split function files (Deployed)
&lt;/span&gt;&lt;span class="n"&gt;functions_folder&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;feature_functions_deployed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Mapping of commonly used identifiers to their respective import statements
# Includes one-line comments categorized for clarity and maintainability
&lt;/span&gt;
&lt;span class="n"&gt;import_suggestions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;# --- STREAMLIT APP and VISUALIZATION FRAMEWORK ---
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;st&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing Streamlit for building the web-based interactive application framework&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import streamlit as st&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;plt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing Matplotlib for generating static plots and charts&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import matplotlib.pyplot as plt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;go&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing Plotly for creating interactive and dynamic visual plots&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import plotly.graph_objects as go&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sns&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing Seaborn for enhanced data visualizations&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import seaborn as sns&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="c1"&gt;# --- DATA HANDLING and MANIPULATION ---
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;pd&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing Pandas for data manipulation and analysis&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import pandas as pd&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;np&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing NumPy for numerical computations and array operations&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import numpy as np&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;os&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing OS module for handling file and directory paths&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import os&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;datetime&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing datetime for working with timestamps and date ranges&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;from datetime import datetime, timedelta&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;base64&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing base64 for encoding and decoding binary data&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import base64&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="c1"&gt;# --- MACHINE LEARNING and MODELING ---
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;pickle&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing Pickle for loading/saving pre-trained machine learning models&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import pickle&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;LinearRegression&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Linear Regression model&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;from sklearn.linear_model import LinearRegression&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;RandomForestRegressor&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Random Forest Regressor&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;from sklearn.ensemble import RandomForestRegressor&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;SVR&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Support Vector Machine Regressor&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;from sklearn.svm import SVR&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;mean_squared_error&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing evaluation metrics from Scikit-learn&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;from sklearn.metrics import mean_squared_error, r2_score, precision_score, recall_score, f1_score&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;MinMaxScaler&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# For scaling data to a 0–1 range&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;from sklearn.preprocessing import MinMaxScaler&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;TfidfVectorizer&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Text feature extraction&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;from sklearn.feature_extraction.text import TfidfVectorizer&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="c1"&gt;# --- DEEP LEARNING (PyTorch) ---
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;torch&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing PyTorch for building and training deep learning models&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import torch&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;nn&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing PyTorch&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;s neural network module&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import torch.nn as nn&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="c1"&gt;# --- NATURAL LANGUAGE PROCESSING (NLP) ---
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;TextBlob&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing TextBlob for basic natural language processing tasks&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;from textblob import TextBlob&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="c1"&gt;# --- FINANCIAL DATA and UTILITIES ---
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;yf&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing yfinance for fetching historical stock data from Yahoo Finance&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import yfinance as yf&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;webbrowser&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing webbrowser module to open URLs in the default browser&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import webbrowser&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;openpyxl&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing openpyxl to enable writing Excel files (.xlsx)&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import openpyxl&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get_required_imports&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;source_code&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;
    Analyze source code of a function to detect required imports
    based on the presence of known identifiers.
    &lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="n"&gt;tree&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;source_code&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;imports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;walk&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tree&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="c1"&gt;# Detect simple names like 'pd', 'st', etc.
&lt;/span&gt;        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Name&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;import_suggestions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;imports&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;import_suggestions&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
        &lt;span class="c1"&gt;# Detect attribute access like 'plt.plot'
&lt;/span&gt;        &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="nf"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Attribute&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
            &lt;span class="n"&gt;value_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;getattr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;value_id&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;import_suggestions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;imports&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;import_suggestions&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;value_id&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;sorted&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;imports&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;span class="c1"&gt;# === MAIN PROCESS ===
&lt;/span&gt;
&lt;span class="n"&gt;changed_files_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;  &lt;span class="c1"&gt;# Counter for changed files
&lt;/span&gt;&lt;span class="n"&gt;changed_lines_count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;  &lt;span class="c1"&gt;# Counter for changed lines
&lt;/span&gt;
&lt;span class="c1"&gt;# Iterate through each Python file in the target folder
&lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;filepath&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;functions_folder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;glob&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;*.py&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;filepath&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;r&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;original_code&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="c1"&gt;# Determine needed imports based on code analysis
&lt;/span&gt;    &lt;span class="n"&gt;needed_imports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;get_required_imports&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;original_code&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Combine imports and original content
&lt;/span&gt;    &lt;span class="n"&gt;updated_code&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;needed_imports&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;original_code&lt;/span&gt;

    &lt;span class="c1"&gt;# Only write back to the file if changes were made
&lt;/span&gt;    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;updated_code&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="n"&gt;original_code&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;filepath&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;w&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;updated_code&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="c1"&gt;# Count the changes
&lt;/span&gt;        &lt;span class="n"&gt;changed_files_count&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
        &lt;span class="n"&gt;changed_lines_count&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;updated_code&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Output results
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;✅ Done! &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;changed_files_count&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; file(s) updated. &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;changed_lines_count&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; lines changed.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Step 3: &lt;code&gt;Function_Importing.py&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;📦 Generates a unified &lt;code&gt;import&lt;/code&gt; file to easily access all modular functions in one place.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code 👩‍💻&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;
Author: Madhurima Rawat

Script to generate a single import file (Import_Functions.py) that aggregates
function imports from individual .py files inside the &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;split_functions&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt; directory.

Each file is assumed to define a function with the same name as the filename.

The output file includes:
- A docstring at the top explaining the purpose
- Individual import statements
- A summary comment with total number of imported functions
&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;

&lt;span class="c1"&gt;# === CONFIGURATION ===
&lt;/span&gt;
&lt;span class="c1"&gt;# For Local
# FUNCTION_DIR = "feature_functions_local"
# IMPORT_FILE = "Import_Functions_Local.py"
&lt;/span&gt;
&lt;span class="c1"&gt;# For Deployment
&lt;/span&gt;&lt;span class="n"&gt;FUNCTION_DIR&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;feature_functions_deployed&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;IMPORT_FILE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Import_Functions_Deployed.py&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="c1"&gt;# List all Python files in the function directory
&lt;/span&gt;&lt;span class="n"&gt;function_files&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;listdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;FUNCTION_DIR&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;endswith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;.py&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;
&lt;span class="n"&gt;total_imports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;function_files&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# === GENERATE THE IMPORT FILE ===
&lt;/span&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IMPORT_FILE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;w&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="c1"&gt;# Write top-level docstring to the output file
&lt;/span&gt;    &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'"""&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;This file was auto-generated to import all functions from &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;FUNCTION_DIR&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;.&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Each function file is expected to define a function named after the filename.&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Total functions imported: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;total_imports&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'"""&lt;/span&gt;&lt;span class="se"&gt;\n\n&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# === FUNCTION IMPORTS ===&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Write each import statement
&lt;/span&gt;    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;filename&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;function_files&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;module_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;[:&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;  &lt;span class="c1"&gt;# Remove .py extension
&lt;/span&gt;        &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;from &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;FUNCTION_DIR&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;.&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;module_name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; import &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;module_name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Footer summary comment
&lt;/span&gt;    &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;# ✅ Total functions imported: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;total_imports&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;✅ &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;IMPORT_FILE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt; created with &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;total_imports&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; function imports from &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;FUNCTION_DIR&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/&lt;/span&gt;&lt;span class="sh"&gt;'"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Step 4: &lt;code&gt;Split_Clean_Main_Code.py&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;🧼 Cleans the main app file (app_cleaned.py) by extracting embedded functions and retaining only the core logic. Also removes unused dependencies for better clarity and maintainability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code 👩‍💻&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;
Author: Madhurima Rawat

Script to clean a Streamlit app by removing all top-level functions except &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;main&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;.
Also removes unused import statements.
Preserves:
- All used import statements
- Global variables
- Top-level code (outside functions)
- The &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;main&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt; function (if present)

Saves the result as &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;app_cleaned.py&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;.
&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;black&lt;/span&gt;

&lt;span class="c1"&gt;# For Deployed
&lt;/span&gt;&lt;span class="n"&gt;INPUT_FILE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Streamlit_app_combined.py&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;CLEANED_FILE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Streamlit_app.py&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="c1"&gt;# Read source
&lt;/span&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;INPUT_FILE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;r&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;source&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;lines&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;splitlines&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;tree&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Step 1: Remove non-main top-level functions and their header comments
&lt;/span&gt;&lt;span class="n"&gt;lines_to_remove&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tree&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FunctionDef&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;main&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;comment_line&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lineno&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;comment_line&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lines&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
            &lt;span class="n"&gt;lines_to_remove&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;comment_line&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lineno&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;end_lineno&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
            &lt;span class="n"&gt;lines_to_remove&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;cleaned_lines&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lines&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;lines_to_remove&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;cleaned_code&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;""&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;cleaned_lines&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;span class="c1"&gt;# Step 2: Parse cleaned code to remove unused imports
&lt;/span&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;ImportUsageAnalyzer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;NodeVisitor&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;__init__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;imports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;used_names&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;visit_Import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;alias&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;names&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;imports&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;alias&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;asname&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;alias&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lineno&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;visit_ImportFrom&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;alias&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;names&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;alias&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;asname&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;alias&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;
            &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;imports&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lineno&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;visit_Name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;used_names&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;span class="c1"&gt;# Analyze the cleaned code
&lt;/span&gt;&lt;span class="n"&gt;tree&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ast&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cleaned_code&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;analyzer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ImportUsageAnalyzer&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;analyzer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;visit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tree&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Identify unused imports
&lt;/span&gt;&lt;span class="n"&gt;unused_import_lines&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;lineno&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;analyzer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;imports&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;items&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;analyzer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;used_names&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;unused_import_lines&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lineno&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Convert to 0-based
&lt;/span&gt;
&lt;span class="c1"&gt;# Final clean-up: remove unused imports
&lt;/span&gt;&lt;span class="n"&gt;final_lines&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="n"&gt;line&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cleaned_code&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;splitlines&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;unused_import_lines&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;final_code&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;""&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;final_lines&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;formatted_code&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;black&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;format_str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;final_code&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;mode&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;black&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;FileMode&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;

&lt;span class="c1"&gt;# Write the cleaned, formatted file
&lt;/span&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;CLEANED_FILE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;w&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;formatted_code&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;✅ Cleaned and formatted file saved as &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;CLEANED_FILE&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt; &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;(only &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;main&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt; retained, unused imports and comments removed).&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Step 5: Run Final Modular App
&lt;/h3&gt;

&lt;p&gt;🎯 Fully cleaned and modularized version — ready for production deployment!&lt;/p&gt;

&lt;p&gt;📍 Final updated file:&lt;br&gt;
🔗 &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/blob/main/Codes/Historical_Data_Analysis/Streamlit_app.py" rel="noopener noreferrer"&gt;Updated Streamlit App&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  Pros and Cons ⚖️
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;🟢 Pros&lt;/th&gt;
&lt;th&gt;🔴 Cons&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cleaner code, easier to navigate&lt;/td&gt;
&lt;td&gt;Initial time investment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Independent testing of modules&lt;/td&gt;
&lt;td&gt;Manual path and import checks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Better team collaboration&lt;/td&gt;
&lt;td&gt;Requires discipline to maintain separation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Easier debugging and refactoring&lt;/td&gt;
&lt;td&gt;May need more files to manage&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;h2&gt;
  
  
  GitHub Issue and PR Links 🔗
&lt;/h2&gt;

&lt;p&gt;🔎 &lt;strong&gt;Issue:&lt;/strong&gt; #13 – Need to Modularize and Refactor Streamlit Code &lt;/p&gt;
&lt;div class="ltag_github-liquid-tag"&gt;
  &lt;h1&gt;
    &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/issues/13" rel="noopener noreferrer"&gt;
      &lt;img class="github-logo" alt="GitHub logo" src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg"&gt;
      &lt;span class="issue-title"&gt;
        📌 Refactor &amp;amp; Modularize Codebase for Streamlit App Deployment
      &lt;/span&gt;
      &lt;span class="issue-number"&gt;#13&lt;/span&gt;
    &lt;/a&gt;
  &lt;/h1&gt;
  &lt;div class="github-thread"&gt;
    &lt;div class="timeline-comment-header"&gt;
      &lt;a href="https://github.com/madhurimarawat" rel="noopener noreferrer"&gt;
        &lt;img class="github-liquid-tag-img" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F105432776%3Fv%3D4" alt="madhurimarawat avatar"&gt;
      &lt;/a&gt;
      &lt;div class="timeline-comment-header-text"&gt;
        &lt;strong&gt;
          &lt;a href="https://github.com/madhurimarawat" rel="noopener noreferrer"&gt;madhurimarawat&lt;/a&gt;
        &lt;/strong&gt; posted on &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/issues/13" rel="noopener noreferrer"&gt;&lt;time&gt;Apr 30, 2025&lt;/time&gt;&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag-github-body"&gt;
      &lt;p&gt;The current monolithic codebase needs to be modularized to improve &lt;strong&gt;readability&lt;/strong&gt;, &lt;strong&gt;maintainability&lt;/strong&gt;, and &lt;strong&gt;deployment workflow&lt;/strong&gt;. This issue involves splitting out individual functions into logically separated files and preparing the cleaned main app for deployment.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;✅ Tasks to be Completed&lt;/h3&gt;
&lt;span class="octicon octicon-link"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;🔧 Function Splitting&lt;/strong&gt;&lt;br&gt;
Run &lt;code&gt;Function_Splitting.py&lt;/code&gt; to break down the monolithic app into smaller reusable function files saved in:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;features_functions_local&lt;/code&gt; (for development)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;features_functions_deployed&lt;/code&gt; (for production-ready deployment)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;📦 Add Dependencies&lt;/strong&gt;&lt;br&gt;
Use &lt;code&gt;Dependency_Adder.py&lt;/code&gt; to automatically inject all necessary &lt;code&gt;import&lt;/code&gt; statements at the top of each function file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;📥 Create Aggregated Import File&lt;/strong&gt;&lt;br&gt;
Execute &lt;code&gt;Function_Importing/Import_Functions.py&lt;/code&gt; to generate a single file for importing all extracted functions efficiently.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;🧹 Clean the Main File&lt;/strong&gt;&lt;br&gt;
Run &lt;code&gt;Split_Clean_Main_Code.py&lt;/code&gt; to generate &lt;code&gt;app_cleaned.py&lt;/code&gt;, which contains only the cleaned &lt;code&gt;main()&lt;/code&gt; logic without function definitions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;🧠 Insert Custom Class&lt;/strong&gt;&lt;br&gt;
Add the following class to the &lt;code&gt;display_real_time_stock_prediction.py&lt;/code&gt; file in &lt;strong&gt;both&lt;/strong&gt; local and deployed folders:&lt;/p&gt;
&lt;div class="highlight highlight-source-python js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;# Class for real time stock data fetching and prediction&lt;/span&gt;

&lt;span class="pl-c"&gt;# --- CLASS DEFINITION STARTS ---&lt;/span&gt;
&lt;span class="pl-k"&gt;class&lt;/span&gt; &lt;span class="pl-v"&gt;StockPricePredictor&lt;/span&gt;:
    ...&lt;/pre&gt;

&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;🔗 Keep Directory Paths Consistent&lt;/strong&gt;&lt;br&gt;
In the deployed version, make sure these constants are preserved:&lt;/p&gt;
&lt;div class="highlight highlight-source-python js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c1"&gt;DATASET_DIR&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s"&gt;"Codes/Historical_Data_Analysis/Preprocessed_Dataset"&lt;/span&gt;
&lt;span class="pl-v"&gt;DATASET_DIR_1&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s"&gt;"Codes/Historical_Data_Analysis"&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;🧾 Why This Is Needed&lt;/h3&gt;
&lt;span class="octicon octicon-link"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;🚀 &lt;strong&gt;Improves Deployment Readiness&lt;/strong&gt; – Easier to push updates without disturbing working components.&lt;/li&gt;
&lt;li&gt;🧱 &lt;strong&gt;Enforces Separation of Concerns&lt;/strong&gt; – Logic is modular and testable.&lt;/li&gt;
&lt;li&gt;💡 &lt;strong&gt;Enhances Developer Experience&lt;/strong&gt; – Clear structure helps future contributors understand and work on the code quickly.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;📎 Additional Notes&lt;/h3&gt;
&lt;span class="octicon octicon-link"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;This issue will lead to a PR that includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Modular function files&lt;/li&gt;
&lt;li&gt;A cleaned and refactored &lt;code&gt;app_cleaned.py&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Updated deployed code with integrated class structure&lt;/li&gt;
&lt;/ul&gt;

    &lt;/div&gt;
    &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/madhurimarawat/Stock-Market-Prediction/issues/13" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;🔧 &lt;strong&gt;PR:&lt;/strong&gt; #14 – Modularize and Refactor Codebase for Local and Deployed Versions &lt;br&gt;&lt;/p&gt;

&lt;div class="ltag_github-liquid-tag"&gt;
  &lt;h1&gt;
    &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/pull/14" rel="noopener noreferrer"&gt;
      &lt;img class="github-logo" alt="GitHub logo" src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg"&gt;
      &lt;span class="issue-title"&gt;
        ✨ Refactor &amp;amp; Modularization Process for Streamlit App Deployment
      &lt;/span&gt;
      &lt;span class="issue-number"&gt;#14&lt;/span&gt;
    &lt;/a&gt;
  &lt;/h1&gt;
  &lt;div class="github-thread"&gt;
    &lt;div class="timeline-comment-header"&gt;
      &lt;a href="https://github.com/madhurimarawat" rel="noopener noreferrer"&gt;
        &lt;img class="github-liquid-tag-img" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F105432776%3Fv%3D4" alt="madhurimarawat avatar"&gt;
      &lt;/a&gt;
      &lt;div class="timeline-comment-header-text"&gt;
        &lt;strong&gt;
          &lt;a href="https://github.com/madhurimarawat" rel="noopener noreferrer"&gt;madhurimarawat&lt;/a&gt;
        &lt;/strong&gt; posted on &lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/pull/14" rel="noopener noreferrer"&gt;&lt;time&gt;Apr 30, 2025&lt;/time&gt;&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag-github-body"&gt;
      &lt;p&gt;This structure modularizes the codebase while retaining the original functionality&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h4 class="heading-element"&gt;📁 Folder Naming Convention&lt;/h4&gt;
&lt;span class="octicon octicon-link"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;The function components have been cleanly separated and organized using two key directories:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;features_functions_local&lt;/code&gt; – for local development and testing.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;features_functions_deployed&lt;/code&gt; – for final cleaned and deployable code.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="markdown-heading"&gt;
&lt;h4 class="heading-element"&gt;⚙️ Step-by-Step Breakdown of the Refactoring Workflow:&lt;/h4&gt;
&lt;span class="octicon octicon-link"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;🔧 Function Extraction&lt;/strong&gt;&lt;br&gt;
Run &lt;code&gt;Function_Splitting.py&lt;/code&gt;&lt;br&gt;
➤ This extracts all functions from the original app into individual Python files inside the respective &lt;code&gt;features_functions_*&lt;/code&gt; folders.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;➕ Dependency Injection&lt;/strong&gt;&lt;br&gt;
Run &lt;code&gt;Dependency_Adder.py&lt;/code&gt;&lt;br&gt;
➤ Automatically prepends necessary import statements to each function file by analyzing its contents using &lt;code&gt;ast&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;📥 Import Organizer&lt;/strong&gt;&lt;br&gt;
Navigate to &lt;code&gt;Function_Importing/Import_Functions.py&lt;/code&gt;&lt;br&gt;
➤ Generates an aggregated import script from all modularized functions for use in the final build.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;🧹 Main Code Cleaner&lt;/strong&gt;&lt;br&gt;
Run &lt;code&gt;Split_Clean_Main_Code.py&lt;/code&gt;&lt;br&gt;
➤ Extracts and saves the core &lt;code&gt;main()&lt;/code&gt; logic as &lt;code&gt;app_cleaned.py&lt;/code&gt;, removing previously defined function bodies.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="markdown-heading"&gt;
&lt;h4 class="heading-element"&gt;🧠 Post-Cleaning Instructions:&lt;/h4&gt;
&lt;span class="octicon octicon-link"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;After completing the steps above:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;✅ &lt;strong&gt;Copy and insert this block&lt;/strong&gt; into the file &lt;code&gt;display_real_time_stock_prediction.py&lt;/code&gt; inside both &lt;code&gt;features_functions_local&lt;/code&gt; &lt;strong&gt;and&lt;/strong&gt; &lt;code&gt;features_functions_deployed&lt;/code&gt; folders:&lt;/p&gt;
&lt;div class="highlight highlight-source-python js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;# Class for real time stock data fetching and prediction&lt;/span&gt;

&lt;span class="pl-c"&gt;# --- CLASS DEFINITION STARTS ---&lt;/span&gt;
&lt;span class="pl-k"&gt;class&lt;/span&gt; &lt;span class="pl-v"&gt;StockPricePredictor&lt;/span&gt;:
    ...&lt;/pre&gt;

&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;ℹ️ Ensure this is appended after the function definitions inside the same file, or integrated in a logically correct place based on usage.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;✅ In the &lt;strong&gt;deployed app&lt;/strong&gt;, ensure the following paths are preserved:&lt;/p&gt;
&lt;div class="highlight highlight-source-python js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;# Directory containing the preprocessed datasets&lt;/span&gt;
&lt;span class="pl-c1"&gt;DATASET_DIR&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s"&gt;"Codes/Historical_Data_Analysis/Preprocessed_Dataset"&lt;/span&gt;

&lt;span class="pl-c"&gt;# Directory containing the original historical datasets&lt;/span&gt;
&lt;span class="pl-v"&gt;DATASET_DIR_1&lt;/span&gt; &lt;span class="pl-c1"&gt;=&lt;/span&gt; &lt;span class="pl-s"&gt;"Codes/Historical_Data_Analysis"&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;✅ Finally, execute the split main function logic in the cleaned &lt;code&gt;app_cleaned.py&lt;/code&gt; within the deployed directory.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="markdown-heading"&gt;
&lt;h4 class="heading-element"&gt;✅ Outcome:&lt;/h4&gt;
&lt;span class="octicon octicon-link"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;We now have a fully modular, self-contained, and deployment-ready Streamlit application with clearly separated concerns for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Functionality (&lt;code&gt;features_functions_*&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Import management&lt;/li&gt;
&lt;li&gt;Reusable core logic&lt;/li&gt;
&lt;li&gt;Class-based structure where appropriate&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Closes #13&lt;/p&gt;

    &lt;/div&gt;
    &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/madhurimarawat/Stock-Market-Prediction/pull/14" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;I’ve explained the reasoning and implementation there in detail from my project’s point of view!&lt;/p&gt;




&lt;h2&gt;
  
  
  Before and After Code 📁
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;🧱 &lt;strong&gt;Original Code:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/blob/main/Codes/Historical_Data_Analysis/Streamlit_app_combined.py" rel="noopener noreferrer"&gt;Streamlit_app_combined.py&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🪄 &lt;strong&gt;Modularized Code:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction/blob/main/Codes/Historical_Data_Analysis/Streamlit_app.py" rel="noopener noreferrer"&gt;Streamlit_app.py&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🛠️ Customize for Your Workflow: Using This for Your Own Project
&lt;/h2&gt;

&lt;p&gt;This was originally tailored to my own project setup, but you can easily adapt it to fit yours. Here's how:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;Extract Functions&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Use the first step to extract all functions and store them in any directory of your choice. Clean them up as needed.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Add All Dependencies&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In the &lt;code&gt;Dependency_Adder.py&lt;/code&gt; file, list all your required libraries in the following format for clear and automatic management of dependencies:&lt;/p&gt;

&lt;h4&gt;
  
  
  Example Format:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;import_suggestions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;# --- STREAMLIT APP &amp;amp; VISUALIZATION FRAMEWORK ---
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;st&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing Streamlit for building the web-based interactive application framework&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import streamlit as st&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;plt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing Matplotlib for generating static plots and charts&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import matplotlib.pyplot as plt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;go&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing Plotly for creating interactive and dynamic visual plots&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import plotly.graph_objects as go&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sns&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing Seaborn for enhanced data visualizations&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import seaborn as sns&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

    &lt;span class="c1"&gt;# --- DATA HANDLING &amp;amp; MANIPULATION ---
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;pd&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing Pandas for data manipulation and analysis&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import pandas as pd&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;np&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing NumPy for numerical computations and array operations&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import numpy as np&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;os&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing OS module for handling file and directory paths&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import os&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;datetime&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing datetime for working with timestamps and date ranges&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;from datetime import datetime, timedelta&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;base64&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;# Importing base64 for encoding and decoding binary data&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;import base64&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

    &lt;span class="c1"&gt;# --- MACHINE LEARNING &amp;amp; MODELING ---
&lt;/span&gt;    &lt;span class="c1"&gt;# Continue with any additional dependencies...
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  How It Works:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;🛠️ &lt;strong&gt;Organize Dependencies&lt;/strong&gt;: Define each library with a user-friendly alias and a short description in the &lt;code&gt;import_suggestions&lt;/code&gt; dictionary.&lt;/li&gt;
&lt;li&gt;🔄 &lt;strong&gt;Auto-Search &amp;amp; Add&lt;/strong&gt;: The &lt;code&gt;Dependency_Adder.py&lt;/code&gt; will scan this dictionary, automatically adding the correct imports to your code files.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;Import Functions &amp;amp; Organize Main Logic&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Once your dependencies are added:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;🔄 &lt;strong&gt;Run &lt;code&gt;Function_Importing.py&lt;/code&gt;&lt;/strong&gt; — This scans your codebase and inserts the appropriate imports automatically into each function file.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🧹 &lt;strong&gt;Clean up your main logic using &lt;code&gt;Split_Clean_Main_Code.py&lt;/code&gt;&lt;/strong&gt; — This separates the logic from the main file and organizes it into modular functions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🧩 &lt;strong&gt;Finally, import all your functions in one line&lt;/strong&gt; into your main file like so:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Importing all functions
&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;Import_Functions_Deployed&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This way, your main file stays clean, and all logic is neatly modularized and connected!&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Design Considerations&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ensure you have a central &lt;code&gt;main()&lt;/code&gt; function to coordinate the workflow. This helps prevent circular dependencies.&lt;/li&gt;
&lt;li&gt;Your code should already be modular — meaning, key logic should be inside functions. If it's not, this process won’t be effective.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This method doesn’t extract &lt;strong&gt;classes&lt;/strong&gt; or &lt;strong&gt;global variables&lt;/strong&gt; used by functions. You’ll need to either:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add those manually, or&lt;/li&gt;
&lt;li&gt;Ensure they exist within the main file, or are defined as needed before calling the extracted functions.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;Run the Main File&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Once the functions are organized, you can run your project from the main file just like in my setup.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts 💬
&lt;/h2&gt;

&lt;p&gt;So this was my whole code flow — from &lt;em&gt;my app’s point of view&lt;/em&gt; 🔄.&lt;br&gt;
Let me know if you found this helpful! 💬 &lt;/p&gt;

&lt;h3&gt;
  
  
  🔆 &lt;strong&gt;Explore the Project&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/madhurimarawat/Stock-Market-Prediction" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdabuttonfactory.com%2Fbutton.png%3Ft%3DExplore%2Bon%2BGitHub%26f%3DOpen%2BSans-Bold%26ts%3D26%26tc%3Dfff%26hp%3D10%26vp%3D5%26c%3D11%26bgt%3Dunicolored%26bgc%3D28a745" alt="🔍 Explore on GitHub"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’ve added comments and documentation to my code, so the article doesn't become a novel. Each file could have its own article! Let me know if you'd like a detailed breakdown of any part.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🛠️ &lt;strong&gt;Customize for Your Workflow: Using This for Your Own Project&lt;/strong&gt;&lt;br&gt;
I’ve also added a dedicated section to help you adapt this setup for your own codebase.&lt;br&gt;
If you have any questions or need help implementing it, feel free to reach out — happy to help! 😊&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I'm also in the process of finalizing my thesis. Once it's complete, I'll publish a full series on this stock market prediction project — covering the concept, execution, my teammates, challenges, and more. Let me know if you're excited for it! 🚀&lt;/p&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
      <category>tutorial</category>
      <category>learning</category>
    </item>
    <item>
      <title>🛠️ Using Cloud Functions for Serverless Computing 🧩</title>
      <dc:creator>Madhurima Rawat</dc:creator>
      <pubDate>Sun, 27 Apr 2025 13:43:45 +0000</pubDate>
      <link>https://dev.to/madhurima_rawat/using-cloud-functions-for-serverless-computing-5eik</link>
      <guid>https://dev.to/madhurima_rawat/using-cloud-functions-for-serverless-computing-5eik</guid>
      <description>&lt;p&gt;&lt;strong&gt;🔗 Hello Connectors!&lt;/strong&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;May your VPC remain secure and your network forever connected! 🛡️🌐&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;📚 All code, docs, and resources are available in my GitHub repository:&lt;/strong&gt; &lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/madhurimarawat" rel="noopener noreferrer"&gt;
        madhurimarawat
      &lt;/a&gt; / &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
        Cloud-Computing
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Cloud-Computing&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/e10e384db99a598d320c462b56d8ce66eee89d1b2ba6ba1529c4267bd5131d42/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7265706f2d73697a652f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d5265706f25323053697a65266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Repo Size"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/stargazers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/e6710664991959989b017913f25b3a45b148d61b578fd5e03e29ac6df5eae76c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233463743414339266c6162656c3d5374617273266c6162656c436f6c6f723d253233463141374238267374796c653d666f722d7468652d6261646765266c6f676f3d73746172" alt="GitHub Stars"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/network/members" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/0f2857b89fb7638b959197fbffb1e3aea25994a3689a22694e0674ccc5fa9329/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233443645324539266c6162656c3d466f726b73266c6162656c436f6c6f723d253233423944334532267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="GitHub Forks"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/issues" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/f9a0c7fd2a41ee0fbb6a8a026a1519f688337f148ec07451bc762d60d70e324c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464646354333266c6162656c3d4f70656e253230497373756573266c6162656c436f6c6f723d253233463445334132267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="GitHub Issues"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/issues?q=is%3Aissue+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/b56ba186594167d3d750ef306d3b98a6b4d1925f8ca000ab71d62507f933b156/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d636c6f7365642f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d436c6f736564253230497373756573266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="Closed Issues"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/pulls" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/4bd6df156682a598db18c00bc4b4e77289e4bfb04365d67d1d9b93226d8ca9ce/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d4f70656e253230505273266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Open Pull Requests"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/pulls?q=is%3Apr+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/03792101d6ee1013ef0ebb410ecf60a8df74c0b3d969d7e674b8205eeae7fdd4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722d636c6f7365642f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233443645324539266c6162656c3d436c6f736564253230505273266c6162656c436f6c6f723d253233423944334532267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Closed Pull Requests"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/discussions" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/fc6608c33ed03ccd5f0d94f4ee000b352d1df74b7685c04109f7ec76a53f8ffc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f64697363757373696f6e732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464646354333266c6162656c3d44697363757373696f6e73266c6162656c436f6c6f723d253233463445334132267374796c653d666f722d7468652d6261646765266c6f676f3d646973636f75727365" alt="GitHub Discussions"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/graphs/contributors" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/e5f74e888795ac16d8f31890814e3238dbea74cf2c051c0d738c9385a3d205a2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233314641313943266c6162656c3d436f6e7472696275746f7273266c6162656c436f6c6f723d253233313937413736267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Contributors"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/37b21873ec8ef979cdf35b974a7057b3d848a6f4c968ac4fff349636e4d95aaf/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f746f702f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d546f702532304c616e6775616765266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d707974686f6e" alt="Top Language"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/LICENSE" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/6976948c16edccfc7aea244e4be9eb286d96d3f8136a17f8bbf96091e22aeafb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233463339433132266c6162656c3d4c6963656e7365266c6162656c436f6c6f723d253233443638393130267374796c653d666f722d7468652d6261646765266c6f676f3d6f70656e2d736f757263652d696e6974696174697665" alt="License"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/commits/main" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/a7edc2d75a4cba917809ae6bccc7f533af01364f6f60a3866f2fb0a553cd7e1b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d4c617374253230436f6d6d6974266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Last Commit"&gt;
  &lt;/a&gt;





&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/9f4bf9902e5b26b453e12e4e229b69af9ea673e025321c2a8e679cc499574b7f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5265706f2532304167652d3059253230334d25323034442d2532334646413037413f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6162656c436f6c6f723d25323335463945413026636f6c6f723d253233464138303732" alt="Repository Age"&gt;
&lt;/a&gt;


&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/7ddd811e7fab5bbf411931cc84dfb4f3fe704ad651fa48f76f08ad2b06626142/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e672f7570646174652d7265706f2d696e666f2e796d6c3f636f6c6f723d253233373244444637266c6162656c3d576f726b666c6f77266c6162656c436f6c6f723d253233354343314537267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Workflow Status"&gt;
&lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/watchers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/5ccd5ce1ec8e9b8112c09d8b4976c467267efecf7c7d94259556655991be3497/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f77617463686572732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d5761746368657273266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Watchers"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/b0910de482c2f5e84d1c15d606a6b252b4455b22d498d475035ebe79e455f335/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f70726163746963616c6465762f696d6167652f66657463682f732d2d6f4a4778504b46552d2d2f635f6c696d6974253243665f6175746f253243666c5f70726f6772657373697665253243715f6175746f253243775f3838302f68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f76777a74766f656b777a316162636336383465322e6a706567"&gt;&lt;img src="https://camo.githubusercontent.com/b0910de482c2f5e84d1c15d606a6b252b4455b22d498d475035ebe79e455f335/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f70726163746963616c6465762f696d6167652f66657463682f732d2d6f4a4778504b46552d2d2f635f6c696d6974253243665f6175746f253243666c5f70726f6772657373697665253243715f6175746f253243775f3838302f68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f76777a74766f656b777a316162636336383465322e6a706567" width="100%" height="500px"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Tools and Technologies ⚙️💻&lt;/h2&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;1. &lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/" rel="nofollow noopener noreferrer"&gt;AWS CLI&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;AWS Command Line Interface (CLI) is a powerful tool that allows users to interact with AWS services directly from the terminal. It simplifies managing cloud resources by providing commands for a wide range of AWS services, enabling tasks such as provisioning, managing, and automating workflows with ease.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;2. &lt;a href="https://docs.localstack.cloud/" rel="nofollow noopener noreferrer"&gt;LocalStack&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;LocalStack is a fully functional, local testing environment for AWS services. It enables developers to simulate AWS services on their local machines, facilitating the development and testing of cloud-based applications without needing access to an actual AWS account.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;3. &lt;a href="https://docs.docker.com/" rel="nofollow noopener noreferrer"&gt;Docker&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;Docker is a containerization platform that allows developers to build, share, and run applications in isolated environments called…&lt;/p&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
 In the &lt;strong&gt;previous article&lt;/strong&gt;, &lt;br&gt;

&lt;div class="ltag__link"&gt;
  &lt;a href="/madhurima_rawat" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2Fc388603b-a324-47c6-bbbf-017619dd39c2.jpg" alt="madhurima_rawat"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/madhurima_rawat/setting-up-and-configuring-cloud-networking-2ae0" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;📡 Setting Up and Configuring Cloud Networking 🔐&lt;/h2&gt;
      &lt;h3&gt;Madhurima Rawat ・ Apr 13&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#cloud&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#tutorial&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#aws&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;we talked about &lt;strong&gt;cloud networking&lt;/strong&gt;, exploring how to set up secure and efficient connections with VPCs, subnets, and security groups.&lt;/p&gt;

&lt;p&gt;Now, we move on to the backbone of cloud computing: &lt;strong&gt;Serverless Lambda&lt;/strong&gt; — &lt;em&gt;(not your math lambda! 😉)&lt;/em&gt;&lt;br&gt;&lt;br&gt;
We’ll explore how AWS Lambda lets you run code without worrying about servers, scaling, or heavy lifting.&lt;/p&gt;

&lt;p&gt;Stay tuned — it’s time to go serverless and unleash the power of the cloud! ⚡☁️&lt;/p&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;What is Serverless Computing and AWS Lambda?&lt;/strong&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;What is Serverless Computing?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Serverless computing&lt;/strong&gt; is a cloud computing model where the cloud provider manages the underlying infrastructure. The term "serverless" doesn’t mean servers are absent; rather, it means developers don't need to manage them. The provider handles provisioning, scaling, and maintenance, allowing developers to concentrate solely on building and deploying code.&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;What is AWS Lambda?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;AWS Lambda is a &lt;strong&gt;serverless compute service&lt;/strong&gt; by Amazon Web Services (AWS) that allows users to run code without provisioning or managing servers. Developers simply focus on writing application logic, while AWS automatically handles server infrastructure, scaling, and maintenance.&lt;/p&gt;

&lt;p&gt;AWS Lambda is a key example of serverless computing. It lets you execute code in response to events—such as HTTP requests, file uploads, or database updates—without worrying about managing servers. Lambda functions integrate seamlessly with services like &lt;strong&gt;API Gateway&lt;/strong&gt;, &lt;strong&gt;S3&lt;/strong&gt;, &lt;strong&gt;DynamoDB&lt;/strong&gt;, and more.&lt;/p&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;Key Features of AWS Lambda&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Event-Driven Execution&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Functions are triggered by events like HTTP requests, S3 uploads, or database changes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Automatic Scaling&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lambda automatically scales to handle varying workloads, from a few requests to thousands per second.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Cost-Efficient&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You only pay for the compute time your code uses, rather than pre-paying for idle servers.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;No Server Management&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS handles all backend server management, freeing developers from infrastructure concerns.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Multiple Language Support&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supports Python, Node.js, Java, C#, Go, Ruby, and more.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Stateless Functions&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lambda functions are stateless; they do not retain data between invocations. External storage like databases is used for persistence.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Common Use Cases of AWS Lambda&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Real-Time File Processing&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Process images, audio, or documents immediately upon upload to S3.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Microservices Architecture&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build small, independent services that can be deployed and scaled individually.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;API Backends&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Power RESTful APIs by integrating Lambda with API Gateway.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Data Processing and ETL Tasks&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Transform or move data automatically in response to database events or file uploads.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Automation and Scheduled Tasks&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Schedule regular tasks like backups, cleanups, or report generation without server setup.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Event-Driven Applications&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React to events instantly, such as sending alerts when a new user signs up.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;Visual Understanding of AWS Lambda&lt;/strong&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;First Image: AWS Lambda Overview&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fth.bing.com%2Fth%2Fid%2FR.82f3b1d21044cb9a935d6642cf022229%3Frik%3DoB0SpsAlxhR82A%26riu%3Dhttp%253a%252f%252fvticloud.io%252fwp-content%252fuploads%252f2021%252f03%252fdeep-dive-on-aws-lambda-vti-cloud.jpg%26ehk%3D%252f2TSoyS6eHMt6lCqXb2%252fi8GHxMLGYUda4kIcZxRKm5s%253d%26risl%3D%26pid%3DImgRaw%26r%3D0" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fth.bing.com%2Fth%2Fid%2FR.82f3b1d21044cb9a935d6642cf022229%3Frik%3DoB0SpsAlxhR82A%26riu%3Dhttp%253a%252f%252fvticloud.io%252fwp-content%252fuploads%252f2021%252f03%252fdeep-dive-on-aws-lambda-vti-cloud.jpg%26ehk%3D%252f2TSoyS6eHMt6lCqXb2%252fi8GHxMLGYUda4kIcZxRKm5s%253d%26risl%3D%26pid%3DImgRaw%26r%3D0" width="638" height="359"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;This image provides a snapshot of AWS Lambda's serverless model: developers upload code, and AWS automatically manages provisioning, scaling, and monitoring. Lambda seamlessly interacts with other AWS services, enabling event-driven solutions.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Second Image: AWS Lambda Workflow and Integrations&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.guru99.com%2Fimages%2F1%2F081419_0515_WhatisAWSLa1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.guru99.com%2Fimages%2F1%2F081419_0515_WhatisAWSLa1.png" width="800" height="498"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;This deeper dive illustrates how Lambda connects with services like &lt;strong&gt;API Gateway&lt;/strong&gt;, &lt;strong&gt;S3&lt;/strong&gt;, and &lt;strong&gt;DynamoDB&lt;/strong&gt;, showing its ability to handle real-time data processing, microservices communication, and backend automation.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Pros and Cons of AWS Lambda&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Pros&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cost-Effective&lt;/strong&gt;: Only pay for what you use; no charge when idle.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automatic Scaling&lt;/strong&gt;: Handles sudden spikes in traffic effortlessly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reduced Operational Overhead&lt;/strong&gt;: No need to manage, patch, or scale servers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fast Deployment&lt;/strong&gt;: Applications can be updated and deployed rapidly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security Integration&lt;/strong&gt;: Works with AWS Identity and Access Management (IAM) for controlled access.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Cons&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cold Start Latency&lt;/strong&gt;: A delay may occur if a function is triggered after being idle.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execution Time Limit&lt;/strong&gt;: Functions can run a maximum of 15 minutes per invocation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Statelessness&lt;/strong&gt;: Developers must handle persistence externally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resource Constraints&lt;/strong&gt;: Limited memory and compute power compared to traditional servers.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Practical Real-World Example:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Imagine a &lt;strong&gt;photo-sharing application&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A user uploads a photo to an &lt;strong&gt;S3 bucket&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;An &lt;strong&gt;AWS Lambda function&lt;/strong&gt; triggers automatically to resize the image.&lt;/li&gt;
&lt;li&gt;The resized images are saved back to &lt;strong&gt;S3&lt;/strong&gt; for use across devices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No server provisioning, scaling, or manual monitoring is required—the entire pipeline runs seamlessly, triggered by simple events.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Real Companies Using AWS Lambda 🚀&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Netflix&lt;/strong&gt; 🎬: Uses Lambda for real-time file encoding, system monitoring, and automation—processing billions of video streams without managing servers.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Airbnb&lt;/strong&gt; 🏠: Relies on Lambda for image processing, automated backups, and real-time data analysis.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coca-Cola&lt;/strong&gt; 🥤: Powers vending machine transactions with Lambda, paying only per use—cutting infrastructure costs.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reuters&lt;/strong&gt; 📰: Uses Lambda to resize and format images instantly for fast publishing in their global news delivery system.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;iRobot&lt;/strong&gt; 🤖: Employs Lambda to manage data from its connected home devices, enabling seamless IoT integration and event-driven automation.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Simple Lambda Function with LocalStack
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step-by-Step Creation of a Lambda Function with LocalStack&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1. &lt;strong&gt;Creating the Lambda Function&lt;/strong&gt;:
&lt;/h4&gt;

&lt;p&gt;To create a Lambda function using LocalStack, the first step involves writing the Lambda function code. The function will be triggered by an event and should return a simple response.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Example Lambda Function Code&lt;/strong&gt; (&lt;code&gt;lambda_function.py&lt;/code&gt;):
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;lambda_handler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;statusCode&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;body&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Hello from LocalStack Lambda!&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This function will output a basic response with a &lt;code&gt;200 OK&lt;/code&gt; status code when invoked.&lt;/p&gt;
&lt;h4&gt;
  
  
  2. &lt;strong&gt;Deploying the Lambda Function&lt;/strong&gt;:
&lt;/h4&gt;

&lt;p&gt;Before deploying the Lambda function, the Python code needs to be packaged into a ZIP file. This ZIP file will be used to deploy the function to LocalStack.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Steps for Packaging the Lambda Function (on Windows)&lt;/strong&gt;:

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Navigate to the directory&lt;/strong&gt; where your &lt;code&gt;lambda_function.py&lt;/code&gt; file is located.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Right-click&lt;/strong&gt; the &lt;code&gt;lambda_function.py&lt;/code&gt; file and select &lt;strong&gt;Send to &amp;gt; Compressed (zipped) folder&lt;/strong&gt; from the context menu.&lt;/li&gt;
&lt;li&gt; Rename the resulting &lt;code&gt;.zip&lt;/code&gt; file to &lt;code&gt;function.zip&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After the Lambda function is packaged, it is ready for deployment.&lt;/p&gt;
&lt;h4&gt;
  
  
  3. &lt;strong&gt;Checking the Function Creation Status&lt;/strong&gt;:
&lt;/h4&gt;

&lt;p&gt;After the Lambda function is deployed, its status can be checked to ensure it has been successfully created. Initially, the status might be in a &lt;strong&gt;Pending&lt;/strong&gt; state, indicating that LocalStack is still processing the request to create the function.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Command to Check the Function’s Status&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 lambda get-function
&lt;span class="nt"&gt;--function-name&lt;/span&gt; myLambdaFunction
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;If the function is still in the &lt;strong&gt;Pending&lt;/strong&gt; state, wait for a few moments before checking again. Once the function’s status is &lt;strong&gt;Active&lt;/strong&gt; or &lt;strong&gt;Available&lt;/strong&gt;, it can be invoked.&lt;/p&gt;
&lt;h4&gt;
  
  
  4. &lt;strong&gt;Invoking the Lambda Function&lt;/strong&gt;:
&lt;/h4&gt;

&lt;p&gt;After the function is in the &lt;strong&gt;Active&lt;/strong&gt; state, it can be invoked using the AWS CLI. The invocation will trigger the Lambda function and return the response in a file (in this case, &lt;code&gt;output.txt&lt;/code&gt;).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Command to Invoke the Function&lt;/strong&gt;:
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 lambda invoke
&lt;span class="nt"&gt;--function-name&lt;/span&gt; myLambdaFunction output.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This will execute the Lambda function and store the output in the &lt;code&gt;output.txt&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;Here is the error message:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;

&lt;span class="c1"&gt;## | GetFunction |&lt;/span&gt;

&lt;span class="c1"&gt;## | Code |&lt;/span&gt;

&lt;span class="pi"&gt;|&lt;/span&gt; &lt;span class="err"&gt;Location&lt;/span&gt; &lt;span class="err"&gt;|&lt;/span&gt; &lt;span class="err"&gt;http://s3.localhost.localstack&lt;/span&gt; &lt;span class="err"&gt;|&lt;/span&gt;
&lt;span class="err"&gt;|&lt;/span&gt;&lt;span class="s"&gt; | .cloud:4566/awslambda-us-east-1 |&lt;/span&gt;
&lt;span class="err"&gt;|&lt;/span&gt;&lt;span class="s"&gt; | -tasks/snapshots/000000000000/ |&lt;/span&gt;
&lt;span class="err"&gt;|&lt;/span&gt;&lt;span class="s"&gt; | myLambdaFunction-88a260f7-7427 |&lt;/span&gt;
&lt;span class="err"&gt;|&lt;/span&gt;&lt;span class="s"&gt; | -46dc-8226-b7f079a11527?AWS |&lt;/span&gt;
&lt;span class="err"&gt;|&lt;/span&gt;&lt;span class="s"&gt; | AccessKeyId=949334387222&amp;amp; |&lt;/span&gt;
&lt;span class="err"&gt;|&lt;/span&gt;&lt;span class="s"&gt; | Signature=DksEUmpzW5tO%2FXj49v |&lt;/span&gt;
&lt;span class="err"&gt;|&lt;/span&gt;&lt;span class="s"&gt; | KMaIqPNwM%3D&amp;amp;Expires=1739893833|&lt;/span&gt;

&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="s"&gt;--&lt;/span&gt;

&lt;span class="gu"&gt;## | RepositoryType | S3 |&lt;/span&gt;

&lt;span class="gu"&gt;## | Configuration |&lt;/span&gt;

| CodeSha256 | G16xwAmelqgPBfzQVMlj7SR/dZS5l |
| | TV2WSY8mGqvvRw= |
&lt;span class="p"&gt;
---
&lt;/span&gt;
&lt;span class="gu"&gt;## | CodeSize | 312 KB |&lt;/span&gt;

&lt;span class="gu"&gt;## | Description | |&lt;/span&gt;

| FunctionArn | arn:aws:lambda:us-east-1:0000 |
| | 00000000:function:myLambdaFunc |
| | tion |
&lt;span class="p"&gt;
---
&lt;/span&gt;
&lt;span class="gu"&gt;## | FunctionName | myLambdaFunction |&lt;/span&gt;

| Handler | lambda_function.lambda_handle |
| | r |
&lt;span class="p"&gt;
---
&lt;/span&gt;
| LastModified | 2025-02-18T13:15:50.795443+00 |
| | 00 |
&lt;span class="p"&gt;
---
&lt;/span&gt;
&lt;span class="gu"&gt;## | LastUpdateStatus | Failed |&lt;/span&gt;

&lt;span class="gu"&gt;## | MemorySize | 128 MB |&lt;/span&gt;

&lt;span class="gu"&gt;## | PackageType | Zip |&lt;/span&gt;

| RevisionId | b27b563d-ede9-4878-bb36-013a3 |
| | 5678f00 |
&lt;span class="p"&gt;
---
&lt;/span&gt;
| Role | arn:aws:iam::000000000000:rol |
| | e/execution_role |
&lt;span class="p"&gt;
---
&lt;/span&gt;
&lt;span class="gu"&gt;## | Runtime | python3.8 |&lt;/span&gt;

&lt;span class="gu"&gt;## | State Details |&lt;/span&gt;

&lt;span class="gu"&gt;## | State | Failed |&lt;/span&gt;

| StateReason | Error while creating lambda: |
| | public.ecr.aws/lambda/python:3.8 |
&lt;span class="p"&gt;
---
&lt;/span&gt;
&lt;span class="gu"&gt;## | StateReasonCode | InternalError |&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Troubleshooting Lambda Creation Issues&lt;/strong&gt;:
&lt;/h4&gt;

&lt;p&gt;It’s common to face issues when setting up Lambda functions with LocalStack. For example, if LocalStack is unable to fetch the required Lambda runtime (in this case, Python 3.8), the creation will fail. In the example provided, the Lambda function was in a &lt;strong&gt;Failed&lt;/strong&gt; state with the error message:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;State: &lt;code&gt;Failed&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;StateReason: &lt;code&gt;Error while creating lambda: public.ecr.aws/lambda/python:3.8&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;StateReasonCode: &lt;code&gt;InternalError&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This indicates that LocalStack could not retrieve the Python 3.8 runtime image from the repository (&lt;code&gt;public.ecr.aws/lambda/python:3.8&lt;/code&gt;). The error is internal, likely caused by an issue with LocalStack’s ability to access or fetch the necessary container image from the registry.&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Why Did the Lambda Function Fail?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The Lambda function failed due to an issue where &lt;strong&gt;LocalStack was unable to fetch the Python 3.8 runtime&lt;/strong&gt; from the expected image repository (&lt;code&gt;public.ecr.aws/lambda/python:3.8&lt;/code&gt;). This led to an &lt;strong&gt;InternalError&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;State: &lt;code&gt;Failed&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;StateReason: &lt;code&gt;Error while creating lambda: public.ecr.aws/lambda/python:3.8&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;StateReasonCode: &lt;code&gt;InternalError&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This error indicates that LocalStack could not access or retrieve the Lambda runtime, which caused the function creation process to fail.&lt;/p&gt;



 &lt;h2&gt;Troubleshooting and Resolving the issue using Docker&lt;/h2&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;How to Resolve This Issue?&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;1. Ensure the Correct Lambda Runtime is Available&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;LocalStack uses &lt;strong&gt;Docker-based Lambda runtimes&lt;/strong&gt;. To ensure that LocalStack can properly run the Lambda function, it is necessary to manually pull the required Docker image. In this case, LocalStack requires the Python 3.8 Lambda runtime.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To resolve this, follow these steps to pull the necessary Docker image:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker pull public.ecr.aws/lambda/python:3.8
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Once this command is executed, Docker will download the required Python 3.8 Lambda image. Below is the expected output when the image is successfully pulled:&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Expected Output After Pulling the Image:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;C:&lt;span class="se"&gt;\U&lt;/span&gt;sers&lt;span class="se"&gt;\r&lt;/span&gt;awat&lt;span class="se"&gt;\D&lt;/span&gt;ocuments&lt;span class="se"&gt;\8&lt;/span&gt; SEMESTER&lt;span class="se"&gt;\C&lt;/span&gt;loud
Computing&lt;span class="se"&gt;\L&lt;/span&gt;ab&lt;span class="se"&gt;\E&lt;/span&gt;xperiment 5&lt;span class="se"&gt;\C&lt;/span&gt;odes&amp;gt;docker pull
public.ecr.aws/lambda/python:3.8
3.8: Pulling from lambda/python
bc2b3a540f9b: Pull &lt;span class="nb"&gt;complete
&lt;/span&gt;7e7a8ab075f3: Pull &lt;span class="nb"&gt;complete
&lt;/span&gt;eb63e7acde8e: Pull &lt;span class="nb"&gt;complete
&lt;/span&gt;35e8cd243a50: Pull &lt;span class="nb"&gt;complete
&lt;/span&gt;d4160264f321: Pull &lt;span class="nb"&gt;complete
&lt;/span&gt;32e94a394cab: Pull &lt;span class="nb"&gt;complete
&lt;/span&gt;Digest: sha256:93e78742873d3ad0c28582366b217
ce5169889f4d63d61179598c2a3dc6142ff
Status: Downloaded newer image &lt;span class="k"&gt;for &lt;/span&gt;public.ecr.aws/lambda/python:3.8
public.ecr.aws/lambda/python:3.8
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;2. Verify the Image Availability Locally&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;To confirm that the image has been successfully downloaded, use the following command to list all the Docker images present on the system:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker images
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The output should list the &lt;code&gt;public.ecr.aws/lambda/python:3.8&lt;/code&gt; image among other available images. Below is an example of the output you should expect:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;C:&lt;span class="se"&gt;\U&lt;/span&gt;sers&lt;span class="se"&gt;\r&lt;/span&gt;awat&lt;span class="se"&gt;\D&lt;/span&gt;ocuments&lt;span class="se"&gt;\8&lt;/span&gt; SEMESTER&lt;span class="se"&gt;\C&lt;/span&gt;loud
Computing&lt;span class="se"&gt;\L&lt;/span&gt;ab&lt;span class="se"&gt;\E&lt;/span&gt;xperiment 5&lt;span class="se"&gt;\C&lt;/span&gt;odes&amp;gt;docker images
REPOSITORY                     TAG       IMAGE ID
CREATED       SIZE
flask-app                      latest    269bf42596ed
12 days ago   126MB
&amp;lt;none&amp;gt;                         &amp;lt;none&amp;gt;    44b808030263
2 weeks ago   126MB
&amp;lt;none&amp;gt;                         &amp;lt;none&amp;gt;    063caad47b0a
2 weeks ago   126MB
localstack/localstack          latest    b686f3948f42
3 weeks ago   1.18GB
hello-world                    latest    74cc54e27dc4
3 weeks ago   10.1kB
public.ecr.aws/lambda/python   3.8       348b357f1c82
4 weeks ago   575MB
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This verifies that the image is available locally.&lt;/p&gt;


&lt;h4&gt;
  
  
  &lt;strong&gt;3. Retry the Lambda Function Creation&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Once the Python 3.8 Lambda runtime image is available locally, LocalStack should be able to retrieve the runtime successfully. Retry the Lambda function creation process, and it should deploy without issues.&lt;/p&gt;

&lt;p&gt;By following these steps, the error related to the missing Lambda runtime will be resolved, ensuring that LocalStack can properly run the Lambda function without any further issues.&lt;/p&gt;



 &lt;h2&gt;Running a Simple Lambda Function with LocalStack After Resolving Issues&lt;/h2&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Recreating and Invoking the Lambda Function with LocalStack&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Step 1: Recreate the Lambda Function&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;The first step is to create a new Lambda function in LocalStack. To do so, the AWS CLI &lt;code&gt;create-function&lt;/code&gt; command is used. This command tells LocalStack to create a Lambda function with the specified configurations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command to Create the Lambda Function:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 lambda create-function &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--function-name&lt;/span&gt; myLambdaFunction &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--runtime&lt;/span&gt; python3.8 &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--role&lt;/span&gt; arn:aws:iam::000000000000:role/execution_role &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--handler&lt;/span&gt; lambda_function.lambda_handler &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--zip-file&lt;/span&gt; fileb://lambda_function.zip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Here’s a breakdown of what each part of the command does:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;aws --endpoint-url=http://localhost:4566&lt;/code&gt;&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;This specifies that the AWS CLI should interact with LocalStack rather than the actual AWS cloud. &lt;code&gt;localhost:4566&lt;/code&gt; is the default endpoint for LocalStack's services.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;lambda create-function&lt;/code&gt;&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;This is the AWS CLI command used to create a new Lambda function.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--function-name myLambdaFunction&lt;/code&gt;&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;This specifies the name of the Lambda function being created. In this case, the function is named &lt;code&gt;myLambdaFunction&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--runtime python3.8&lt;/code&gt;&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;This sets the runtime for the Lambda function to Python 3.8. LocalStack uses Docker to run Lambda functions with specific runtimes, and Python 3.8 is chosen here.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--role arn:aws:iam::000000000000:role/execution_role&lt;/code&gt;&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;This assigns an IAM role to the Lambda function. The &lt;code&gt;execution_role&lt;/code&gt; is required for Lambda functions to execute. In LocalStack, this is a placeholder, and a specific role ARN is not needed for local execution.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--handler lambda_function.lambda_handler&lt;/code&gt;&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;This specifies the function within the code to be executed when the Lambda function is invoked. The handler format is &lt;code&gt;file_name.function_name&lt;/code&gt;, which tells LocalStack to look in the &lt;code&gt;lambda_function.py&lt;/code&gt; file for the &lt;code&gt;lambda_handler&lt;/code&gt; function to run.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--zip-file fileb://lambda_function.zip&lt;/code&gt;&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;This points to the zip file containing the Lambda function code. The &lt;code&gt;fileb://&lt;/code&gt; prefix tells AWS CLI that the file is on the local file system. The &lt;code&gt;lambda_function.zip&lt;/code&gt; file must contain the Python script (&lt;code&gt;lambda_function.py&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;h4&gt;
  
  
  &lt;strong&gt;Step 2: Invoke the Lambda Function&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Once the function is created successfully, it can be invoked using the AWS CLI. This triggers the Lambda function and stores the output in a file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command to Invoke the Lambda Function:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 lambda invoke
&lt;span class="nt"&gt;--function-name&lt;/span&gt; myLambdaFunction output.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Here’s a breakdown of what each part of the invoke command does:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;aws --endpoint-url=http://localhost:4566&lt;/code&gt;&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Just like before, this specifies that the command should interact with LocalStack on the specified endpoint.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;lambda invoke&lt;/code&gt;&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;This AWS CLI command triggers the Lambda function and executes it.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--function-name myLambdaFunction&lt;/code&gt;&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;This specifies the name of the Lambda function that should be invoked. In this case, it's &lt;code&gt;myLambdaFunction&lt;/code&gt;, which was created in the previous step.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;output.txt&lt;/code&gt;&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;This is the file where the output of the Lambda function invocation will be stored. After the function runs, its response will be written to &lt;code&gt;output.txt&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;h4&gt;
  
  
  &lt;strong&gt;Step 3: View the Output&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;After invoking the Lambda function, the results are stored in the &lt;code&gt;output.txt&lt;/code&gt; file. The &lt;code&gt;type&lt;/code&gt; command in Windows can be used to display the contents of this file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command to View the Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;type &lt;/span&gt;output.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This command displays the content of the &lt;code&gt;output.txt&lt;/code&gt; file. The expected output looks like this:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{"statusCode": 200, "body": "Hello from LocalStack Lambda!"}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Explanation of the Output:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The content of the &lt;code&gt;output.txt&lt;/code&gt; file is a JSON response returned by the Lambda function:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;statusCode: 200&lt;/code&gt;&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;This indicates that the Lambda function executed successfully and returned an HTTP status code of &lt;code&gt;200&lt;/code&gt;, which signifies a successful response.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;body: "Hello from LocalStack Lambda!"&lt;/code&gt;&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;This is the body of the response. It contains the message &lt;code&gt;"Hello from LocalStack Lambda!"&lt;/code&gt;, which was defined in the Lambda function. This message is returned as part of the response when the function is triggered.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;Summary of Commands and Outputs:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Recreate the Lambda Function&lt;/strong&gt;: The &lt;code&gt;create-function&lt;/code&gt; command defines the function, its runtime (Python 3.8), execution role, and handler function. It also links the Lambda function to the &lt;code&gt;lambda_function.zip&lt;/code&gt; file containing the code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Invoke the Lambda Function&lt;/strong&gt;: The &lt;code&gt;invoke&lt;/code&gt; command runs the Lambda function and stores the response in &lt;code&gt;output.txt&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;View the Output&lt;/strong&gt;: The &lt;code&gt;type&lt;/code&gt; command shows the contents of &lt;code&gt;output.txt&lt;/code&gt;, which contains a JSON response indicating the Lambda function executed successfully.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By following these steps, the Lambda function is successfully created, invoked, and the output is captured and displayed.&lt;/p&gt;



 &lt;h2&gt;Complex Lambda Function with Payload with LocalStack&lt;/h2&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Detailed Commands, Redeployment, and Output for Lambda Function with Payload Processing&lt;/strong&gt;
&lt;/h3&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Updated Lambda Function Code:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Here is the updated Lambda function code that processes a payload with an input event and performs some computations:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;logging&lt;/span&gt;

&lt;span class="c1"&gt;# Set up logging for debugging and monitoring
&lt;/span&gt;&lt;span class="n"&gt;logging&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;basicConfig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;level&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;logging&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;INFO&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;logger&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;logging&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getLogger&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# Function versioning for tracking updates
&lt;/span&gt;&lt;span class="n"&gt;VERSION&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;1.0.0&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;


&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;lambda_handler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;context&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;
    Handles AWS Lambda execution by processing event data
    and performing basic computations.

    **Parameters:**
    - event (dict): The input event data, expected to contain:
        - `&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;` (str, optional): The name of the user.
          Defaults to `&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Guest&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;` if not provided.
        - `&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;number&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;` (int, optional): A number to be processed.
          Defaults to `0` if not provided.
    - context (object): AWS Lambda context object
      (not used in this function).

    **Returns:**
    - dict: JSON-formatted response with:
        - `&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;message&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;` (str): Greeting message.
        - `&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;processedNumber&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;` (int): The input number multiplied by 2.
        - `&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;version&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;` (str): Function version identifier.
    &lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;

    &lt;span class="c1"&gt;# Log event details for debugging
&lt;/span&gt;    &lt;span class="n"&gt;logger&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;info&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Function invoked with event: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;logger&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;info&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Lambda function version: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;VERSION&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Extract 'name' from the event, defaulting to "Guest"
&lt;/span&gt;    &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Guest&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;greeting&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hello, &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

    &lt;span class="c1"&gt;# Extract 'number' from the event and process it
&lt;/span&gt;    &lt;span class="n"&gt;number&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;number&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Default to 0 if not provided
&lt;/span&gt;    &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;number&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;  &lt;span class="c1"&gt;# Double the input number
&lt;/span&gt;
    &lt;span class="c1"&gt;# Construct the response payload
&lt;/span&gt;    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;statusCode&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# HTTP status code indicating success
&lt;/span&gt;        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;body&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;message&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;greeting&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Greeting message
&lt;/span&gt;                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;processedNumber&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Computed number result
&lt;/span&gt;                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;version&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;VERSION&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Function version for tracking
&lt;/span&gt;            &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="c1"&gt;# Log response details before returning
&lt;/span&gt;    &lt;span class="n"&gt;logger&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;info&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Returning response: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Explanation of the Code:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Logging&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The &lt;code&gt;logging&lt;/code&gt; module is used to track and debug the Lambda function. It logs the event data received, the function version, and the response returned. The &lt;code&gt;INFO&lt;/code&gt; level ensures that relevant details are logged for debugging.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;code&gt;logger.info&lt;/code&gt; statements are used to print the function invocation details and the response.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Complex Logic&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;The function checks if the &lt;code&gt;name&lt;/code&gt; parameter exists in the event data. If not, it defaults to &lt;code&gt;"Guest"&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;It retrieves the &lt;code&gt;number&lt;/code&gt; parameter and doubles the number as an example of computation (i.e., &lt;code&gt;number * 2&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Versioning&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;VERSION&lt;/code&gt; variable tracks the version of the Lambda function (e.g., &lt;code&gt;"1.0.0"&lt;/code&gt;). This can be updated whenever changes are made to the code.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;Steps to Fix and Redeploy the Lambda Function:&lt;/strong&gt;
&lt;/h3&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;1. Delete the Existing Lambda Function:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Before updating the function with the new code, it’s essential to delete the old version of the function in LocalStack to avoid conflicts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command to Delete the Old Lambda Function:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 lambda delete-function
&lt;span class="nt"&gt;--function-name&lt;/span&gt; myLambdaFunction
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This command deletes the function named &lt;code&gt;myLambdaFunction&lt;/code&gt; from LocalStack, preparing for the redeployment with updated code.&lt;/p&gt;


&lt;h4&gt;
  
  
  &lt;strong&gt;2. Recreate the Lambda Function with Updated Code:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Once the old function is deleted, zip the updated code and recreate the function. Make sure the updated &lt;code&gt;lambda_function.py&lt;/code&gt; is in your current directory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Zip the Updated Code:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;zip lambda_function.zip lambda_function.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This command creates a &lt;code&gt;.zip&lt;/code&gt; file containing the updated &lt;code&gt;lambda_function.py&lt;/code&gt; file. This zip file will be used to deploy the new version of the Lambda function.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Recreate the Lambda Function:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 lambda create-function &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--function-name&lt;/span&gt; myLambdaFunction &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--runtime&lt;/span&gt; python3.8 &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--role&lt;/span&gt; arn:aws:iam::000000000000:role/execution_role &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--handler&lt;/span&gt; lambda_function.lambda_handler &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;--zip-file&lt;/span&gt; fileb://lambda_function.zip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This command creates a new Lambda function in LocalStack with the updated code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--function-name myLambdaFunction&lt;/code&gt;&lt;/strong&gt;: Specifies the function name (&lt;code&gt;myLambdaFunction&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--runtime python3.8&lt;/code&gt;&lt;/strong&gt;: Sets the runtime to Python 3.8.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--role arn:aws:iam::000000000000:role/execution_role&lt;/code&gt;&lt;/strong&gt;: Assigns the execution role (this role can be any placeholder role in LocalStack).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--handler lambda_function.lambda_handler&lt;/code&gt;&lt;/strong&gt;: Defines the entry point for the Lambda function (&lt;code&gt;lambda_handler&lt;/code&gt; in the &lt;code&gt;lambda_function.py&lt;/code&gt; file).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--zip-file fileb://lambda_function.zip&lt;/code&gt;&lt;/strong&gt;: Points to the &lt;code&gt;.zip&lt;/code&gt; file containing the updated code.&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;
  
  
  &lt;strong&gt;3. Invoke the Lambda Function with Payload:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Now that the function is updated, you can invoke it by passing a JSON payload. The payload should be contained in a file (e.g., &lt;code&gt;event.json&lt;/code&gt;), which includes input data like &lt;code&gt;"name"&lt;/code&gt; and &lt;code&gt;"number"&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Payload (&lt;code&gt;event.json&lt;/code&gt;):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Madhurima"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"number"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Command to Invoke the Lambda Function:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:4566 lambda invoke
&lt;span class="nt"&gt;--function-name&lt;/span&gt; myLambdaFunction &lt;span class="nt"&gt;--payload&lt;/span&gt; file://event.json output.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This command invokes the Lambda function with the provided payload and stores the result in the &lt;code&gt;output.txt&lt;/code&gt; file.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--function-name myLambdaFunction&lt;/code&gt;&lt;/strong&gt;: Specifies the function to invoke.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;--payload file://event.json&lt;/code&gt;&lt;/strong&gt;: Points to the input data (the &lt;code&gt;event.json&lt;/code&gt; file) that contains the payload for the function.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;output.txt&lt;/code&gt;&lt;/strong&gt;: This file will store the output from the Lambda function.&lt;/li&gt;
&lt;/ul&gt;


&lt;h4&gt;
  
  
  &lt;strong&gt;4. Check the Output:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Finally, to view the result of the Lambda invocation, use the &lt;code&gt;type&lt;/code&gt; command to display the content of &lt;code&gt;output.txt&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Command to View Output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;type &lt;/span&gt;output.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The output will look like this:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"statusCode"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"body"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"{&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;message&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;: &lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;Hello, Madhurima!&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;,
  &lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;processedNumber&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;: 10, &lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;version&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;: &lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;1.0.0&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;}"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Explanation of the Output:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;statusCode: 200&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Lambda function executed successfully and returned an HTTP status code of &lt;code&gt;200&lt;/code&gt;, which signifies success.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;body&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This contains the actual response from the Lambda function in JSON format. The &lt;code&gt;body&lt;/code&gt; field includes:&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;"message"&lt;/code&gt;&lt;/strong&gt;: A greeting message, &lt;code&gt;"Hello, Madhurima!"&lt;/code&gt;, generated by the function based on the &lt;code&gt;name&lt;/code&gt; input from the payload.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;"processedNumber"&lt;/code&gt;&lt;/strong&gt;: The result of the computation (doubling the &lt;code&gt;number&lt;/code&gt; value from the payload). For the input &lt;code&gt;5&lt;/code&gt;, the result is &lt;code&gt;10&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;"version"&lt;/code&gt;&lt;/strong&gt;: The version of the Lambda function, which is &lt;code&gt;"1.0.0"&lt;/code&gt; in this case.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  &lt;strong&gt;Summary:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Delete Old Function&lt;/strong&gt;: Use the &lt;code&gt;delete-function&lt;/code&gt; command to remove the existing Lambda function.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recreate Lambda Function&lt;/strong&gt;: Package the updated code into a zip file and use the &lt;code&gt;create-function&lt;/code&gt; command to deploy it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Invoke the Function&lt;/strong&gt;: Use the &lt;code&gt;invoke&lt;/code&gt; command with a payload to test the updated Lambda function.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check the Output&lt;/strong&gt;: View the output in &lt;code&gt;output.txt&lt;/code&gt; to ensure the Lambda function processed the payload correctly and returned the expected response.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By following these steps, the updated Lambda function processes the payload, performs the computation, and returns the desired results.&lt;/p&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;Useful Resources for Learning about AWS Lambda&lt;/strong&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. &lt;strong&gt;VTI Cloud - AWS Lambda Introduction and Configuration for Beginners&lt;/strong&gt;  &lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://vticloud.io/en/gioi-thieu-dich-vu-aws-lambda-va-cach-cau-hinh-cho-nguoi-moi-bat-dau/" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvticloud.io%2Fwp-content%2Fuploads%2F2021%2F03%2Fdeep-dive-on-aws-lambda-vti-cloud.jpg" height="359" class="m-0" width="638"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://vticloud.io/en/gioi-thieu-dich-vu-aws-lambda-va-cach-cau-hinh-cho-nguoi-moi-bat-dau/" rel="noopener noreferrer" class="c-link"&gt;
          An introduction to AWS Lambda and how to configure it for beginners | VTI CLOUD
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          We’ve heard a lot about the term “serverless,” how they work, and the benefits that your application brings. A serverless service in general will not require any server provision to run the application. When you run an application on serverless, users will not have to worry about setting up the operating system, patching, or extending […]
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvticloud.io%2Fwp-content%2Fuploads%2F2020%2F09%2Fcropped-119981009_853593235385919_6445162716096518791_n-32x32.png" width="32" height="32"&gt;
        vticloud.io
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;/h3&gt;
&lt;p&gt;This article offers a beginner-friendly introduction to AWS Lambda, explaining the service and its configuration for those just starting with serverless computing.&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;AWS Lambda Documentation - Welcome to AWS Lambda&lt;/strong&gt; &lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://docs.aws.amazon.com/lambda/latest/dg/welcome.html" rel="noopener noreferrer"&gt;
      docs.aws.amazon.com
    &lt;/a&gt;
&lt;/div&gt;

&lt;/h3&gt;

&lt;p&gt;The official AWS documentation provides a comprehensive overview of AWS Lambda, including how to get started, manage functions, and integrate with other AWS services.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;Dev.to - A Beginner's Guide to AWS Lambda&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/aws-builders" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F2794%2F88da75b6-aadd-4ea1-8083-ae2dfca8be94.png" alt="AWS Community Builders " width="350" height="350"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F869117%2Fa462c21b-629f-4b45-95c7-3a51891b5c70.jpeg" alt="" width="512" height="512"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/aws-builders/a-beginners-guide-to-aws-lambda-3hoe" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;A Beginner's Guide to AWS Lambda&lt;/h2&gt;
      &lt;h3&gt;Sedat SALMAN for AWS Community Builders  ・ Apr 6 '23&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#aws&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#lambda&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#cloud&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#tutorial&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
 &lt;br&gt;
This guide provides an easy-to-follow introduction to AWS Lambda, ideal for newcomers who want to understand the basics of Lambda and its use cases.

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Medium - The Complete Beginner’s Guide to Creating an AWS Lambda Function from Scratch&lt;/strong&gt; &lt;div class="ltag__link"&gt;
  &lt;a href="https://medium.com/@selhorma/the-complete-beginners-guide-to-creating-an-aws-lambda-function-from-scratch-d03e6fa7e2b2" class="ltag__link__link" rel="noopener noreferrer"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fda%3Atrue%2Fresize%3Afill%3A64%3A64%2F0%2AIeteliwdhv4-cAP9" alt="Dr. Soufiane El Horma"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://medium.com/@selhorma/the-complete-beginners-guide-to-creating-an-aws-lambda-function-from-scratch-d03e6fa7e2b2" class="ltag__link__link" rel="noopener noreferrer"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;The Complete Beginner’s Guide to Creating an AWS Lambda Function from Scratch | by Dr. Soufiane El Horma | Medium&lt;/h2&gt;
      &lt;h3&gt;Dr. Soufiane El Horma ・ &lt;time&gt;Jan 25, 2024&lt;/time&gt; ・ 
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fmedium-f709f79cf29704f9f4c2a83f950b2964e95007a3e311b77f686915c71574fef2.svg" alt="Medium Logo"&gt;
        Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/h3&gt;

&lt;p&gt;This comprehensive guide takes readers through the process of creating AWS Lambda functions, starting from scratch and exploring best practices.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;Medium - AWS Lambda Functions: A Comprehensive Guide&lt;/strong&gt; &lt;div class="ltag__link"&gt;
  &lt;a href="https://medium.com/@inexturesolutions/aws-lambda-functions-a-comprehensive-guide-85b5f2a0e72e" class="ltag__link__link" rel="noopener noreferrer"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afill%3A64%3A64%2F1%2ABBgr-vuX4km1U5mXy39LWA.png" alt="Inexturesolutions"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://medium.com/@inexturesolutions/aws-lambda-functions-a-comprehensive-guide-85b5f2a0e72e" class="ltag__link__link" rel="noopener noreferrer"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;AWS Lambda Functions: A Comprehensive Guide | by Inexturesolutions | Medium&lt;/h2&gt;
      &lt;h3&gt;Inexturesolutions ・ &lt;time&gt;Nov 6, 2023&lt;/time&gt; ・ 
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fmedium-f709f79cf29704f9f4c2a83f950b2964e95007a3e311b77f686915c71574fef2.svg" alt="Medium Logo"&gt;
        Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/h3&gt;

&lt;p&gt;A detailed guide that explains AWS Lambda functions, providing insights into their structure, functionality, and use cases in serverless computing.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. &lt;strong&gt;Medium - Learn AWS Lambda in 10 Minutes&lt;/strong&gt; &lt;div class="ltag__link"&gt;
  &lt;a href="https://zoejoyuliao.medium.com/learn-aws-lambda-in-10-minutes-6a3e65d86079" class="ltag__link__link" rel="noopener noreferrer"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afill%3A64%3A64%2F2%2A_csWksDMsdC-wFjqDS8S7A.png" alt="Jo-Yu Liao"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://zoejoyuliao.medium.com/learn-aws-lambda-in-10-minutes-6a3e65d86079" class="ltag__link__link" rel="noopener noreferrer"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Learn AWS Lambda in 5 minutes. Introduction to a famous serverless… | by Jo-Yu Liao | Medium&lt;/h2&gt;
      &lt;h3&gt;Jo-Yu Liao ・ &lt;time&gt;Apr 4, 2020&lt;/time&gt; ・ 
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fmedium-f709f79cf29704f9f4c2a83f950b2964e95007a3e311b77f686915c71574fef2.svg" alt="Medium Logo"&gt;
        zoejoyuliao.Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;/h3&gt;

&lt;p&gt;A quick tutorial for learning AWS Lambda in 10 minutes. This resource is perfect for those who want to quickly understand the basics of Lambda and its use in cloud applications.&lt;/p&gt;




&lt;p&gt;📄 Want to see the output step by step? Check it out here:&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Experiment%205/Output/Experiment%205%20Output.pdf" rel="noopener noreferrer"&gt;Experiment 5 Output (PDF)&lt;/a&gt;&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;🧠 Curious about how each Lambda function runs and responds? See the detailed input-output flow here:&lt;/p&gt;

&lt;p&gt;🖥️ &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Experiment%205/Codes/Command%20Prompt%20Input%20and%20Output%20Explanation.pdf" rel="noopener noreferrer"&gt;AWS Lambda Execution Flow and Output (PDF)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🎉 &lt;strong&gt;And that's a wrap!&lt;/strong&gt; Huge congratulations—you’ve just taken your first steps into the powerful world of &lt;strong&gt;serverless computing&lt;/strong&gt;! 🎖️&lt;br&gt;&lt;br&gt;
You now know how to create, configure, and run &lt;strong&gt;AWS Lambda functions&lt;/strong&gt; — all without touching a single server.&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;I hope this guide helped you!&lt;/strong&gt; I added a lot of examples and detailed breakdowns because when I started, serverless felt magical &lt;em&gt;and&lt;/em&gt; mysterious! ✨&lt;br&gt;&lt;br&gt;
So, I wanted to make it as clear and beginner-friendly as possible. Would love to hear your thoughts and questions!&lt;/p&gt;

&lt;p&gt;🔥 &lt;strong&gt;Stay tuned for the next article!&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
We’re diving into &lt;strong&gt;Cloud Load Balancing and Auto Scaling&lt;/strong&gt; — the &lt;em&gt;dynamic duo&lt;/em&gt; that keeps your apps lightning fast ⚡ and super resilient 💪 under any traffic!&lt;/p&gt;

&lt;p&gt;💬 &lt;strong&gt;Did you enjoy this guide?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Drop a &lt;strong&gt;comment&lt;/strong&gt; if it helped, share your favorite &lt;strong&gt;Lambda use-cases&lt;/strong&gt;, or tell me about your first serverless project!&lt;br&gt;&lt;br&gt;
Let’s keep scaling new heights in the cloud! 🚀☁️&lt;/p&gt;

</description>
      <category>aws</category>
      <category>lambda</category>
      <category>tutorial</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>📡 Setting Up and Configuring Cloud Networking 🔐</title>
      <dc:creator>Madhurima Rawat</dc:creator>
      <pubDate>Sun, 13 Apr 2025 14:15:55 +0000</pubDate>
      <link>https://dev.to/madhurima_rawat/setting-up-and-configuring-cloud-networking-2ae0</link>
      <guid>https://dev.to/madhurima_rawat/setting-up-and-configuring-cloud-networking-2ae0</guid>
      <description>&lt;p&gt;&lt;strong&gt;🦈 Hello Storage Sharks!&lt;/strong&gt;  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;May all your files get accommodated in S3 and your bucket be filled forever! 🪣📁&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;📚 All code, docs, and resources are available in my GitHub repository:&lt;/strong&gt; &lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/madhurimarawat" rel="noopener noreferrer"&gt;
        madhurimarawat
      &lt;/a&gt; / &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
        Cloud-Computing
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Cloud-Computing&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/e10e384db99a598d320c462b56d8ce66eee89d1b2ba6ba1529c4267bd5131d42/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7265706f2d73697a652f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d5265706f25323053697a65266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Repo Size"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/stargazers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/e6710664991959989b017913f25b3a45b148d61b578fd5e03e29ac6df5eae76c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233463743414339266c6162656c3d5374617273266c6162656c436f6c6f723d253233463141374238267374796c653d666f722d7468652d6261646765266c6f676f3d73746172" alt="GitHub Stars"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/network/members" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/0f2857b89fb7638b959197fbffb1e3aea25994a3689a22694e0674ccc5fa9329/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233443645324539266c6162656c3d466f726b73266c6162656c436f6c6f723d253233423944334532267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="GitHub Forks"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/issues" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/f9a0c7fd2a41ee0fbb6a8a026a1519f688337f148ec07451bc762d60d70e324c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464646354333266c6162656c3d4f70656e253230497373756573266c6162656c436f6c6f723d253233463445334132267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="GitHub Issues"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/issues?q=is%3Aissue+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/b56ba186594167d3d750ef306d3b98a6b4d1925f8ca000ab71d62507f933b156/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d636c6f7365642f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d436c6f736564253230497373756573266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d627567" alt="Closed Issues"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/pulls" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/4bd6df156682a598db18c00bc4b4e77289e4bfb04365d67d1d9b93226d8ca9ce/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d4f70656e253230505273266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Open Pull Requests"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/pulls?q=is%3Apr+is%3Aclosed" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/03792101d6ee1013ef0ebb410ecf60a8df74c0b3d969d7e674b8205eeae7fdd4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722d636c6f7365642f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233443645324539266c6162656c3d436c6f736564253230505273266c6162656c436f6c6f723d253233423944334532267374796c653d666f722d7468652d6261646765266c6f676f3d676974" alt="Closed Pull Requests"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/discussions" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/fc6608c33ed03ccd5f0d94f4ee000b352d1df74b7685c04109f7ec76a53f8ffc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f64697363757373696f6e732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464646354333266c6162656c3d44697363757373696f6e73266c6162656c436f6c6f723d253233463445334132267374796c653d666f722d7468652d6261646765266c6f676f3d646973636f75727365" alt="GitHub Discussions"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/graphs/contributors" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/e5f74e888795ac16d8f31890814e3238dbea74cf2c051c0d738c9385a3d205a2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f636f6e7472696275746f72732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233314641313943266c6162656c3d436f6e7472696275746f7273266c6162656c436f6c6f723d253233313937413736267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Contributors"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/37b21873ec8ef979cdf35b974a7057b3d848a6f4c968ac4fff349636e4d95aaf/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f746f702f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d546f702532304c616e6775616765266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d707974686f6e" alt="Top Language"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/LICENSE" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/6976948c16edccfc7aea244e4be9eb286d96d3f8136a17f8bbf96091e22aeafb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233463339433132266c6162656c3d4c6963656e7365266c6162656c436f6c6f723d253233443638393130267374796c653d666f722d7468652d6261646765266c6f676f3d6f70656e2d736f757263652d696e6974696174697665" alt="License"&gt;
  &lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/commits/main" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/a7edc2d75a4cba917809ae6bccc7f533af01364f6f60a3866f2fb0a553cd7e1b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233413844354241266c6162656c3d4c617374253230436f6d6d6974266c6162656c436f6c6f723d253233413143424234267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Last Commit"&gt;
  &lt;/a&gt;





&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/9f4bf9902e5b26b453e12e4e229b69af9ea673e025321c2a8e679cc499574b7f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5265706f2532304167652d3059253230334d25323034442d2532334646413037413f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562266c6162656c436f6c6f723d25323335463945413026636f6c6f723d253233464138303732" alt="Repository Age"&gt;
&lt;/a&gt;


&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/actions/workflows/update-repo-age.yml" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/7ddd811e7fab5bbf411931cc84dfb4f3fe704ad651fa48f76f08ad2b06626142/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e672f7570646174652d7265706f2d696e666f2e796d6c3f636f6c6f723d253233373244444637266c6162656c3d576f726b666c6f77266c6162656c436f6c6f723d253233354343314537267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="Workflow Status"&gt;
&lt;/a&gt;
  
  &lt;a href="https://github.com/madhurimarawat/Cloud-Computing/watchers" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/5ccd5ce1ec8e9b8112c09d8b4976c467267efecf7c7d94259556655991be3497/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f77617463686572732f6d6164687572696d6172617761742f436c6f75642d436f6d707574696e673f636f6c6f723d253233464644364135266c6162656c3d5761746368657273266c6162656c436f6c6f723d253233463943323934267374796c653d666f722d7468652d6261646765266c6f676f3d676974687562" alt="GitHub Watchers"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/b0910de482c2f5e84d1c15d606a6b252b4455b22d498d475035ebe79e455f335/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f70726163746963616c6465762f696d6167652f66657463682f732d2d6f4a4778504b46552d2d2f635f6c696d6974253243665f6175746f253243666c5f70726f6772657373697665253243715f6175746f253243775f3838302f68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f76777a74766f656b777a316162636336383465322e6a706567"&gt;&lt;img src="https://camo.githubusercontent.com/b0910de482c2f5e84d1c15d606a6b252b4455b22d498d475035ebe79e455f335/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f70726163746963616c6465762f696d6167652f66657463682f732d2d6f4a4778504b46552d2d2f635f6c696d6974253243665f6175746f253243666c5f70726f6772657373697665253243715f6175746f253243775f3838302f68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f76777a74766f656b777a316162636336383465322e6a706567" width="100%" height="500px"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Tools and Technologies ⚙️💻&lt;/h2&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;1. &lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/" rel="nofollow noopener noreferrer"&gt;AWS CLI&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;AWS Command Line Interface (CLI) is a powerful tool that allows users to interact with AWS services directly from the terminal. It simplifies managing cloud resources by providing commands for a wide range of AWS services, enabling tasks such as provisioning, managing, and automating workflows with ease.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;2. &lt;a href="https://docs.localstack.cloud/" rel="nofollow noopener noreferrer"&gt;LocalStack&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;LocalStack is a fully functional, local testing environment for AWS services. It enables developers to simulate AWS services on their local machines, facilitating the development and testing of cloud-based applications without needing access to an actual AWS account.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;3. &lt;a href="https://docs.docker.com/" rel="nofollow noopener noreferrer"&gt;Docker&lt;/a&gt;
&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;Docker is a containerization platform that allows developers to build, share, and run applications in isolated environments called…&lt;/p&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/madhurimarawat/Cloud-Computing" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
 In the &lt;strong&gt;previous article&lt;/strong&gt;, &lt;br&gt;

&lt;div class="ltag__link"&gt;
  &lt;a href="/madhurima_rawat" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1418377%2Fc388603b-a324-47c6-bbbf-017619dd39c2.jpg" alt="madhurima_rawat"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/madhurima_rawat/working-with-aws-s3-cloud-storage-services-1d1h" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;🗂️ Working with AWS S3 Cloud Storage Services 💾&lt;/h2&gt;
      &lt;h3&gt;Madhurima Rawat ・ Apr 4&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#tutorial&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#cloudcomputing&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#aws&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#s3&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;we explored &lt;strong&gt;AWS S3&lt;/strong&gt;, understanding how to create buckets, upload files, and access files.&lt;/p&gt;

&lt;p&gt;Now, let’s move on to the next exciting chapter: &lt;strong&gt;Cloud Networking and Configuration!&lt;/strong&gt; 🌐🛠️&lt;/p&gt;

&lt;p&gt;We’ll start by breaking down what &lt;strong&gt;cloud networking&lt;/strong&gt; really means — how resources interact, how traffic flows, and how configurations like &lt;strong&gt;security groups, subnets, and VPCs&lt;/strong&gt; come into play. Then we’ll dive straight into &lt;strong&gt;hands-on examples&lt;/strong&gt; to set up and configure networking for your cloud environment.&lt;/p&gt;

&lt;p&gt;Stay tuned — we’re about to get connected in the cloud! 🚀🌩️&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;1. Overview of Virtual Private Cloud (VPC)&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;A &lt;strong&gt;VPC&lt;/strong&gt; is a customizable virtual network within the AWS cloud. It allows you to manage networking resources securely and privately.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allows the creation of isolated networks in the cloud.&lt;/li&gt;
&lt;li&gt;Provides control over IP address ranges and routing.&lt;/li&gt;
&lt;li&gt;Enables creating public and private subnets.&lt;/li&gt;
&lt;li&gt;Facilitates secure, private communication between instances.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.buurst.com%2Fwp-content%2Fuploads%2F2022%2F08%2FWhat-is-an-AWS-VPC-or-a-Virtual-Private-Cloud.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.buurst.com%2Fwp-content%2Fuploads%2F2022%2F08%2FWhat-is-an-AWS-VPC-or-a-Virtual-Private-Cloud.png" width="800" height="431"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgv2-2-f.scribdassets.com%2Fimg%2Fdocument%2F588730760%2Foriginal%2F869e5dc504%2F1661522201%3Fv%3D1" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgv2-2-f.scribdassets.com%2Fimg%2Fdocument%2F588730760%2Foriginal%2F869e5dc504%2F1661522201%3Fv%3D1" width="768" height="1024"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. Key Components of a VPC&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The VPC is made up of several essential components for creating a robust networking environment:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Subnets&lt;/strong&gt;: Segment the network into smaller, manageable sections.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Internet Gateway (IGW)&lt;/strong&gt;: Provides internet access for public-facing resources.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Route Tables&lt;/strong&gt;: Direct traffic within the VPC and between the internet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NAT Gateway&lt;/strong&gt;: Allows private subnet instances to access the internet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security Groups &amp;amp; Network ACLs&lt;/strong&gt;: Define inbound and outbound traffic permissions for resources.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fzd-brightspot.s3.us-east-1.amazonaws.com%2Fwp-content%2Fuploads%2F2021%2F07%2F16124932%2FKey-Components-of-VPC-Systems-and-Networks.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fzd-brightspot.s3.us-east-1.amazonaws.com%2Fwp-content%2Fuploads%2F2021%2F07%2F16124932%2FKey-Components-of-VPC-Systems-and-Networks.png" width="800" height="450"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3. Networking Flow and Communication&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The VPC enables seamless communication between instances and secure internet access.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Public Subnets&lt;/strong&gt;: These subnets have internet access via an IGW, making them suitable for web servers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Private Subnets&lt;/strong&gt;: Isolated subnets that don't directly connect to the internet; they access the internet via a NAT Gateway.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Route Tables&lt;/strong&gt;: Manage the routing of network traffic within the VPC, to/from the internet or between subnets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security Layers&lt;/strong&gt;: Using &lt;strong&gt;Security Groups&lt;/strong&gt; and &lt;strong&gt;Network ACLs&lt;/strong&gt; to filter traffic and secure resources.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs7280.pcdn.co%2Fwp-content%2Fuploads%2F2021%2F03%2Fkey-6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs7280.pcdn.co%2Fwp-content%2Fuploads%2F2021%2F03%2Fkey-6.png" width="572" height="574"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4. LocalStack for VPC Simulation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;LocalStack simulates AWS services locally, allowing you to test cloud configurations without needing actual AWS resources.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Simulates AWS Cloud Services&lt;/strong&gt;: Enables local testing for cloud networking and services like VPC.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Supports Full AWS Environment&lt;/strong&gt;: Includes EC2, S3, VPC, and more.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom Endpoints&lt;/strong&gt;: Interact with LocalStack through custom endpoint URLs, mimicking real AWS behavior.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ideal for Development and Testing&lt;/strong&gt;: Provides a cost-effective solution for developers to test network setups.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres-static.hc-cdn.cn%2Fcloudbu-site%2Fintl%2Fen-us%2Fvpc1013%2Fproduct_vpc_advantage_illustration4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres-static.hc-cdn.cn%2Fcloudbu-site%2Fintl%2Fen-us%2Fvpc1013%2Fproduct_vpc_advantage_illustration4.png" width="800" height="418"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fd2908q01vomqb2.cloudfront.net%2Fda4b9237bacccdf19c0760cab7aec4a8359010b0%2F2021%2F05%2F24%2Fillustration-1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fd2908q01vomqb2.cloudfront.net%2Fda4b9237bacccdf19c0760cab7aec4a8359010b0%2F2021%2F05%2F24%2Fillustration-1.png" width="800" height="455"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;5. Use Cases of VPCs&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;VPCs can be used for various networking purposes to create secure, scalable architectures.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Web Hosting&lt;/strong&gt;: Deploy secure web applications with public-facing and private backends.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hybrid Cloud&lt;/strong&gt;: Extend on-premise networks into the cloud via VPN or Direct Connect.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Big Data &amp;amp; Machine Learning&lt;/strong&gt;: Isolate workloads for processing and analysis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Tier Architectures&lt;/strong&gt;: Separate frontend, application, and database tiers for better security.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ftse3.mm.bing.net%2Fth%2Fid%2FOIP.kGp8-y3koDuGnfORe-9r1gHaEK%3Frs%3D1%26pid%3DImgDetMain" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ftse3.mm.bing.net%2Fth%2Fid%2FOIP.kGp8-y3koDuGnfORe-9r1gHaEK%3Frs%3D1%26pid%3DImgDetMain" width="474" height="266"&gt;&lt;/a&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;🖥️ All Components of a VPC Implemented in LocalStack&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;LocalStack is a &lt;strong&gt;local AWS cloud emulator&lt;/strong&gt; that allows developers to create and test AWS services, including &lt;strong&gt;Virtual Private Cloud (VPC)&lt;/strong&gt;, on their local machines.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;🌐 1. Virtual Private Cloud (VPC)&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Definition&lt;/strong&gt;: A logically isolated network where cloud resources like EC2 instances, databases, and load balancers are deployed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Attributes&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;VPC ID&lt;/strong&gt;: Unique identifier (e.g., &lt;code&gt;vpc-12345678&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CIDR Block&lt;/strong&gt;: Defines the &lt;strong&gt;IP range&lt;/strong&gt; for the VPC (e.g., &lt;code&gt;10.0.0.0/16&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Default vs. Custom VPC&lt;/strong&gt;:&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Default VPC&lt;/strong&gt;: Automatically provided by AWS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom VPC&lt;/strong&gt;: User-defined network configuration.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;🛠️ CIDR (Classless Inter-Domain Routing) &amp;amp; CIDR Block Explained&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;CIDR stands for &lt;strong&gt;Classless Inter-Domain Routing&lt;/strong&gt;, a method used to allocate IP addresses efficiently and manage network traffic. It replaces the &lt;strong&gt;traditional class-based addressing&lt;/strong&gt; (Class A, B, C) with a more flexible &lt;strong&gt;prefix-based system&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;📌 What is a CIDR Block?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;A &lt;strong&gt;CIDR block&lt;/strong&gt; defines a range of IP addresses that can be used within a network, such as a &lt;strong&gt;VPC or Subnet&lt;/strong&gt;. It consists of:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Base IP Address&lt;/strong&gt; → The starting point of the network (e.g., &lt;code&gt;192.168.1.0&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subnet Mask (Slash Notation &lt;code&gt;/X&lt;/code&gt;)&lt;/strong&gt; → Determines how many IPs are in the range.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;🔢 How CIDR Works (Subnet Mask &amp;amp; IP Ranges)&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;CIDR notation looks like:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  192.168.1.0/24
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;192.168.1.0&lt;/code&gt; → &lt;strong&gt;Base IP Address&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;/24&lt;/code&gt; → &lt;strong&gt;Subnet Mask&lt;/strong&gt; (Means first 24 bits are fixed for network, remaining bits for hosts)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IP Address Calculation:&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;/24&lt;/code&gt; allows &lt;strong&gt;256 total IPs&lt;/strong&gt; (&lt;code&gt;2^(32-24) = 256&lt;/code&gt;), but &lt;strong&gt;usable IPs are 254&lt;/strong&gt; because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1st IP (&lt;code&gt;192.168.1.0&lt;/code&gt;) → &lt;strong&gt;Network Address&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Last IP (&lt;code&gt;192.168.1.255&lt;/code&gt;) → &lt;strong&gt;Broadcast Address&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;📊 Common CIDR Blocks &amp;amp; Their Usages&lt;/strong&gt;
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;CIDR Block&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Subnet Mask&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Total IPs&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Usable IPs&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Example Usage&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;10.0.0.0/8&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;255.0.0.0&lt;/td&gt;
&lt;td&gt;16,777,216&lt;/td&gt;
&lt;td&gt;16,777,214&lt;/td&gt;
&lt;td&gt;Large private networks (Enterprise)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;192.168.1.0/24&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;255.255.255.0&lt;/td&gt;
&lt;td&gt;256&lt;/td&gt;
&lt;td&gt;254&lt;/td&gt;
&lt;td&gt;Small office/home network&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;172.16.0.0/16&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;255.255.0.0&lt;/td&gt;
&lt;td&gt;65,536&lt;/td&gt;
&lt;td&gt;65,534&lt;/td&gt;
&lt;td&gt;Medium-sized private networks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;10.0.1.0/28&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;255.255.255.240&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;Small subnet for internal services&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;📌 Real-World Example&lt;/strong&gt;
&lt;/h4&gt;
&lt;h5&gt;
  
  
  &lt;strong&gt;🏢 Company Network Setup in LocalStack&lt;/strong&gt;
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;A company wants &lt;strong&gt;two separate environments&lt;/strong&gt;:

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Public Subnet&lt;/strong&gt; for web servers → &lt;code&gt;192.168.1.0/24&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Private Subnet&lt;/strong&gt; for databases → &lt;code&gt;192.168.2.0/24&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;The VPC is created in &lt;strong&gt;LocalStack&lt;/strong&gt;, ensuring a controlled environment where services can be tested &lt;strong&gt;without real AWS costs&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;🌟 Summary&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CIDR Block&lt;/strong&gt; defines &lt;strong&gt;IP ranges&lt;/strong&gt; within a network (VPC, Subnet).&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;suffix (&lt;code&gt;/X&lt;/code&gt;) determines subnet size&lt;/strong&gt;, affecting the &lt;strong&gt;number of IPs&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Real-world usage&lt;/strong&gt;: Efficiently dividing networks for &lt;strong&gt;different applications (web, database, internal services, etc.)&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;📌 Real-World Example&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A company needs a &lt;strong&gt;private network&lt;/strong&gt; for its applications.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;VPC is created in LocalStack&lt;/strong&gt; with &lt;code&gt;192.168.1.0/24&lt;/code&gt; as the IP range, ensuring complete &lt;strong&gt;control over networking and security&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;📌 2. Subnet (Public &amp;amp; Private)&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Definition&lt;/strong&gt;: A segment of the &lt;strong&gt;VPC that organizes resources&lt;/strong&gt; and determines how IPs are assigned.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Attributes&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Subnet ID&lt;/strong&gt;: Unique identifier (e.g., &lt;code&gt;subnet-98765432&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CIDR Block&lt;/strong&gt;: The subnet's IP range (e.g., &lt;code&gt;10.0.1.0/24&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Types of Subnets&lt;/strong&gt;:&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🌍 Public Subnet&lt;/strong&gt;: Connected to the &lt;strong&gt;Internet Gateway&lt;/strong&gt; for external access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔒 Private Subnet&lt;/strong&gt;: No direct internet access, used for internal applications.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Availability Zone (AZ)&lt;/strong&gt;: Each subnet belongs to a specific AWS &lt;strong&gt;Availability Zone&lt;/strong&gt; (e.g., &lt;code&gt;us-east-1a&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📌 Real-World Example&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;A company &lt;strong&gt;hosts a web application&lt;/strong&gt; with two components:&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Public Subnet (10.0.1.0/24)&lt;/strong&gt; → Hosts a &lt;strong&gt;web server&lt;/strong&gt; that users can access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Private Subnet (10.0.2.0/24)&lt;/strong&gt; → Stores a &lt;strong&gt;database&lt;/strong&gt; that should not be directly exposed to the internet.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;🛣️ 3. Route Table&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Definition&lt;/strong&gt;: A &lt;strong&gt;set of rules&lt;/strong&gt; (routes) that direct traffic within the VPC.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Attributes&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Route Table ID&lt;/strong&gt;: Unique identifier (e.g., &lt;code&gt;rtb-56789&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Routes&lt;/strong&gt;: Define paths for network traffic (e.g., &lt;code&gt;0.0.0.0/0 → Internet Gateway&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subnet Association&lt;/strong&gt;: Subnets are linked to a specific route table.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📌 Real-World Example&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;public subnet&lt;/strong&gt; is associated with a route table that contains:&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;0.0.0.0/0 → Internet Gateway (igw-12345)&lt;/code&gt;, allowing internet access.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;private subnet&lt;/strong&gt; is associated with a route table that contains:&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;10.0.0.0/16 → Local Traffic&lt;/code&gt;, ensuring internal communication only.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;🛜 4. Internet Gateway (IGW) &amp;amp; NAT Gateway&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🌍 Internet Gateway (IGW)&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Allows resources in the &lt;strong&gt;public subnet&lt;/strong&gt; to connect to the internet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-World Example&lt;/strong&gt;: A web server in a public subnet needs to &lt;strong&gt;fetch updates from the internet&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔒 NAT Gateway&lt;/strong&gt; (for private subnets):

&lt;ul&gt;
&lt;li&gt;Enables &lt;strong&gt;outgoing internet traffic&lt;/strong&gt; from private resources without exposing them to inbound requests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-World Example&lt;/strong&gt;: A backend server in a &lt;strong&gt;private subnet&lt;/strong&gt; needs to &lt;strong&gt;download software updates&lt;/strong&gt;, but should not be directly accessible.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;⚡ 5. Security Group (SG) &amp;amp; Network ACL (NACL)&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🔒 Security Group (SG)&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Acts as a &lt;strong&gt;firewall&lt;/strong&gt; that controls inbound/outbound traffic &lt;strong&gt;at the instance level&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-World Example&lt;/strong&gt;: A &lt;strong&gt;web server&lt;/strong&gt; has an &lt;strong&gt;SG allowing inbound traffic on port 80 (HTTP)&lt;/strong&gt; but blocks everything else.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📜 Network ACL (NACL)&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Controls &lt;strong&gt;traffic at the subnet level&lt;/strong&gt; and applies &lt;strong&gt;rules in order&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-World Example&lt;/strong&gt;: A company sets a &lt;strong&gt;rule to block all traffic&lt;/strong&gt; from a &lt;strong&gt;specific IP range&lt;/strong&gt; to &lt;strong&gt;prevent malicious access&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;🔗 6. Elastic IP (EIP) &amp;amp; Private IP&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;📍 Elastic IP (EIP)&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;static public IP&lt;/strong&gt; assigned to an instance, ensuring it remains the same even after reboot.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-World Example&lt;/strong&gt;: A company assigns an &lt;strong&gt;EIP to a critical web server&lt;/strong&gt; to maintain a &lt;strong&gt;consistent IP for users&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🏠 Private IP&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Assigned &lt;strong&gt;inside a VPC&lt;/strong&gt; for internal communication.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-World Example&lt;/strong&gt;: A database &lt;strong&gt;only allows connections&lt;/strong&gt; from a specific &lt;strong&gt;private IP&lt;/strong&gt; assigned to an application server.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;🎯 7. VPC Peering &amp;amp; VPN Connection&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🤝 VPC Peering&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Connects &lt;strong&gt;two VPCs privately&lt;/strong&gt; without needing an internet connection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-World Example&lt;/strong&gt;: A company &lt;strong&gt;connects its production and development environments&lt;/strong&gt; in different VPCs for seamless data sharing.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🛡️ VPN Connection&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Connects &lt;strong&gt;on-premises networks to AWS&lt;/strong&gt; securely.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-World Example&lt;/strong&gt;: A company uses a &lt;strong&gt;VPN to access its AWS resources securely&lt;/strong&gt; from its office.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;🛠️ 8. Load Balancer &amp;amp; Auto Scaling&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;⚖️ Load Balancer (LB)&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Distributes traffic across multiple instances to &lt;strong&gt;improve availability&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-World Example&lt;/strong&gt;: A &lt;strong&gt;web application with high traffic&lt;/strong&gt; uses an &lt;strong&gt;Elastic Load Balancer (ELB)&lt;/strong&gt; to route requests efficiently.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📈 Auto Scaling&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dynamically adjusts&lt;/strong&gt; the number of instances based on demand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-World Example&lt;/strong&gt;: An &lt;strong&gt;e-commerce website increases server capacity&lt;/strong&gt; automatically during sales events.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;Step-by-Step Guide: Setting Up a VPC in LocalStack&lt;/strong&gt;
&lt;/h2&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Step 1: Start LocalStack&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Start LocalStack using one of the following methods:&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Using the CLI&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;localstack start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Using Docker&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;--rm&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; 4566:4566 localstack/localstack
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Ensure Docker is Running&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Open &lt;strong&gt;Docker Desktop&lt;/strong&gt; and wait until it displays &lt;strong&gt;"Docker is running."&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;LocalStack will simulate AWS services on &lt;strong&gt;port 4566&lt;/strong&gt;, allowing local development without needing an actual AWS account.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;Step 2: Create a Virtual Private Cloud (VPC)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Create a &lt;strong&gt;VPC (Virtual Private Cloud)&lt;/strong&gt; to define a private network:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ec2 create-vpc &lt;span class="nt"&gt;--cidr-block&lt;/span&gt; 10.0.0.0/16
&lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What This Does:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Defines a &lt;strong&gt;private network (10.0.0.0/16)&lt;/strong&gt; for AWS resources.&lt;/li&gt;
&lt;li&gt;Returns a &lt;strong&gt;VPC ID&lt;/strong&gt; (e.g., &lt;code&gt;"VpcId": "vpc-123456"&lt;/code&gt;), which is required for the next steps.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;Step 3: Create a Subnet&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;subnet&lt;/strong&gt; allows instances to communicate within the VPC.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ec2 create-subnet &lt;span class="nt"&gt;--vpc-id&lt;/span&gt; vpc-123456
&lt;span class="nt"&gt;--cidr-block&lt;/span&gt; 10.0.1.0/24 &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What This Does:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Creates a &lt;strong&gt;smaller network (10.0.1.0/24)&lt;/strong&gt; within the VPC for organizing resources.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;Subnet ID&lt;/strong&gt; (e.g., &lt;code&gt;"SubnetId": "subnet-123456"&lt;/code&gt;) is returned, which is needed for later steps.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;Step 4: Create and Attach an Internet Gateway&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;An &lt;strong&gt;Internet Gateway (IGW)&lt;/strong&gt; allows resources in the subnet to access the internet.&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Create the Internet Gateway:&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ec2 create-internet-gateway &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Attach the Internet Gateway to the VPC:&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ec2 attach-internet-gateway &lt;span class="nt"&gt;--internet-gateway-id&lt;/span&gt;
igw-123456 &lt;span class="nt"&gt;--vpc-id&lt;/span&gt; vpc-123456 &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What This Does:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Enables instances in the VPC to communicate with the internet.&lt;/li&gt;
&lt;li&gt;Returns an &lt;strong&gt;Internet Gateway ID&lt;/strong&gt; (e.g., &lt;code&gt;"InternetGatewayId": "igw-123456"&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;Step 5: Configure Routing for Internet Access&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To allow traffic to and from the internet, a &lt;strong&gt;Route Table&lt;/strong&gt; must be created and updated.&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Create a Route Table for the VPC:&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ec2 create-route-table &lt;span class="nt"&gt;--vpc-id&lt;/span&gt; vpc-123456
&lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Add a Default Route to Enable Internet Access:&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ec2 create-route &lt;span class="nt"&gt;--route-table-id&lt;/span&gt; rtb-123456
&lt;span class="nt"&gt;--destination-cidr-block&lt;/span&gt; 0.0.0.0/0 &lt;span class="nt"&gt;--gateway-id&lt;/span&gt;
igw-123456 &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Associate the Route Table with the Subnet:&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ec2 associate-route-table &lt;span class="nt"&gt;--route-table-id&lt;/span&gt; rtb-123456
&lt;span class="nt"&gt;--subnet-id&lt;/span&gt; subnet-123456 &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What This Does:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Defines a &lt;strong&gt;default route (&lt;code&gt;0.0.0.0/0&lt;/code&gt;)&lt;/strong&gt;, allowing traffic to flow to the internet.&lt;/li&gt;
&lt;li&gt;Links the route table to the &lt;strong&gt;subnet&lt;/strong&gt; so instances can use the IGW.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;Step 6: Verify the Configuration&lt;/strong&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;List All VPCs:&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ec2 describe-vpcs &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;List All Subnets:&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ec2 describe-subnets &lt;span class="nt"&gt;--endpoint-url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;%AWS_ENDPOINT_URL%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;What This Does:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Confirms the VPC and subnets have been successfully created and configured.&lt;/li&gt;
&lt;li&gt;Ensures all components (VPC, subnet, IGW, and routing) are correctly set up.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  &lt;strong&gt;Useful Resources for Learning about Virtual Private Cloud (VPC)&lt;/strong&gt;
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. &lt;strong&gt;Spiceworks - What is Virtual Private Cloud?&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://www.spiceworks.com/tech/cloud/articles/what-is-virtual-private-cloud/" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fzd-brightspot.s3.us-east-1.amazonaws.com%2Fwp-content%2Fuploads%2F2021%2F07%2F16130757%2Fshutterstock_699244741.jpg" height="450" class="m-0" width="780"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://www.spiceworks.com/tech/cloud/articles/what-is-virtual-private-cloud/" rel="noopener noreferrer" class="c-link"&gt;
          What Is Virtual Private Cloud (VPC)? Definition, Key Components, Best Practices, and Providers - Spiceworks
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          A virtual private cloud (VPC) is an isolated and secured cloud environment usually created within a public cloud. Click here to understand VPC, its key components, and best practices.
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.spiceworks.com%2Fwp-content%2Fthemes%2Fgauge-child%2Fimages%2Ffavicon.ico" width="32" height="32"&gt;
        spiceworks.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;A comprehensive guide explaining the concept of Virtual Private Cloud (VPC), its benefits, and how it enhances network security and control over cloud resources.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Medium - Deep Dive into Amazon Virtual Private Cloud (VPC)&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="https://medium.com/@AlexanderObregon/deep-dive-into-amazon-virtual-private-cloud-vpc-understanding-the-core-features-60a83cc806db" class="ltag__link__link" rel="noopener noreferrer"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afill%3A64%3A64%2F1%2Ai2BLX3qBID5JabZAYI3EJQ.jpeg" alt="Alexander Obregon"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://medium.com/@AlexanderObregon/deep-dive-into-amazon-virtual-private-cloud-vpc-understanding-the-core-features-60a83cc806db" class="ltag__link__link" rel="noopener noreferrer"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Amazon VPC: Core Features Explained | Medium&lt;/h2&gt;
      &lt;h3&gt;Alexander Obregon ・ &lt;time&gt;Jan 6, 2024&lt;/time&gt; ・ 
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fmedium-f709f79cf29704f9f4c2a83f950b2964e95007a3e311b77f686915c71574fef2.svg" alt="Medium Logo"&gt;
        Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
 A detailed exploration of the core features of Amazon VPC, focusing on security, scalability, and flexibility in network configurations.

&lt;h3&gt;
  
  
  3. &lt;strong&gt;Medium - AWS VPC: Virtual Private Cloud&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="https://medium.com/@deepeshjaiswal6734/aws-vpc-virtual-private-cloud-965b7c82110d" class="ltag__link__link" rel="noopener noreferrer"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmiro.medium.com%2Fv2%2Fresize%3Afill%3A64%3A64%2F1%2ALNiKjwYlQgK2-ZPXwuN68A.jpeg" alt="Deepeshjaiswal"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://medium.com/@deepeshjaiswal6734/aws-vpc-virtual-private-cloud-965b7c82110d" class="ltag__link__link" rel="noopener noreferrer"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;AWS VPC(Virtual Private Cloud). Amazon Web Services (AWS) Virtual… | by Deepeshjaiswal | Medium&lt;/h2&gt;
      &lt;h3&gt;Deepeshjaiswal ・ &lt;time&gt;Feb 19, 2023&lt;/time&gt; ・ 
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fmedium-f709f79cf29704f9f4c2a83f950b2964e95007a3e311b77f686915c71574fef2.svg" alt="Medium Logo"&gt;
        Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
 A beginner-friendly article that explains the fundamental concepts of AWS VPC, its components, and how to leverage VPC for secure cloud networking.

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Dev.to - A Beginner's Guide to AWS Virtual Private Cloud (VPC) Security&lt;/strong&gt;
&lt;/h3&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/aws-builders" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F2794%2F88da75b6-aadd-4ea1-8083-ae2dfca8be94.png" alt="AWS Community Builders " width="350" height="350"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F869117%2Fa462c21b-629f-4b45-95c7-3a51891b5c70.jpeg" alt="" width="512" height="512"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/aws-builders/a-beginners-guide-to-aws-virtual-private-cloud-vpc-security-ca7" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;A Beginner's Guide to AWS Virtual Private Cloud (VPC) Security&lt;/h2&gt;
      &lt;h3&gt;Sedat SALMAN for AWS Community Builders  ・ Mar 20 '23&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#aws&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#cloud&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#security&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#vpc&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
 This beginner-friendly guide introduces AWS VPC and focuses on its security features. It explains the importance of securing VPCs in cloud environments and provides practical tips for setting up secure VPC architectures on AWS.




&lt;p&gt;📄 Want to see the output step by step? Check it out here:&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Experiment%204/Output/Experiment%204%20Output.pdf" rel="noopener noreferrer"&gt;Experiment 4 Output (PDF)&lt;/a&gt;&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;🧠 Want to see the &lt;strong&gt;input and output for each command&lt;/strong&gt; in the Command Prompt along with a clear explanation? Check it out here:&lt;/p&gt;

&lt;p&gt;🖥️ &lt;strong&gt;&lt;a href="https://github.com/madhurimarawat/Cloud-Computing/blob/main/Experiment%204/Codes/Command%20Prompt%20Input%20and%20Output%20Explanation.pdf" rel="noopener noreferrer"&gt;Command Prompt Input &amp;amp; Output Explanation (PDF)&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🎉 &lt;strong&gt;And that’s a wrap!&lt;/strong&gt; Congrats and kudos—you have successfully &lt;strong&gt;configured a cloud network!&lt;/strong&gt; 🎖️&lt;br&gt;&lt;br&gt;
You’ve now understood the &lt;strong&gt;foundations of cloud networking and AWS VPC&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;I hope this guide helped you!&lt;/strong&gt; I know this one was a bit long—but that’s because I was super curious and a little confused myself while exploring so many new concepts. 😅&lt;br&gt;&lt;br&gt;
So, I added lots of detailed explanations to make it easier for anyone else diving into it. Do let me know your thoughts and feedback!&lt;/p&gt;

&lt;p&gt;🔥 &lt;strong&gt;Stay tuned for the next article!&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
We’re going to explore the &lt;strong&gt;heart of the cloud: Serverless Computing with AWS Lambda&lt;/strong&gt; — the &lt;em&gt;saviour of developers and servers alike&lt;/em&gt;! 🦸‍♂️☁️&lt;br&gt;&lt;br&gt;
It’s going to be super exciting, so make sure to stay connected and drop your comments, questions, or even your own cool resources!&lt;/p&gt;

&lt;p&gt;💬 &lt;strong&gt;Did you like this guide?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Leave a &lt;strong&gt;comment&lt;/strong&gt; if it helped, share your favorite &lt;strong&gt;cloud networking diagrams&lt;/strong&gt;, or anything else you found useful!&lt;br&gt;&lt;br&gt;
Let’s continue exploring the cloud—one byte at a time! 🌟💛&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>aws</category>
    </item>
  </channel>
</rss>
