arrow_back
Getting Started: Course Guide and Demo
Welcome to the Course!❤️
Preview: Product Demonstration
Course Prerequisites: What You Need to Know
Guided Tour: Course Instructions
Join Our Discord Community: Connect & Learn
Get the Coder's Gyan Mobile App: Download Now
Github Repository Links
Microservice: Scratching the surface
Introduction to Microservices
Planning Microservice Architecture
Overview of Microservices Architecture
Project setup
Setting Up a Git Repository
Assignment: Initializing and Configuring Git Remotely
Using Node Version Manager
Assignment: Mastering Node Version Management
Node.js Project Setup
Assignment: Creating a Node.js Project
Configuring TypeScript in Your Project
Setting Up Prettier for Code Formatting
Integrating ESLint into Your Workflow
Implementing Git Hooks
Configuring Application Settings
Express App Configuration
Setting Up a Logger
Implementing Error Handling
Setting Up Automated Tests
Creating a Project Template
Introduction to User Management in Microservices
Basics of Containerizing Express Apps
Code Walkthrough for Express App Containerization
Dockerizing and Operating Express Port Town
Test-Driven Development for User Features
Introduction to Test-Driven Development (TDD)
Writing Your First Test - User Registration
Testing for Valid JSON Responses
TDD Assignment on Blogging Platform
Advanced Database Management and Secure User Authentication
Running Postgres in a Docker Container
Database Connections with TypeORM
Testing User Persistence
Implementing User Persistence
Assignment: Writing Effective Test Cases
Refactoring with Error Handling and Logging
Assigning User Roles - Test Case
Basics of Password Hashing
Testing for Unique Email
Email Field Validation
Sanitizing Request Fields
Assignment: Tests For Request Fields Validation
Security and Authentication with JWTs
Intro to JSON Web Tokens
Adding Tokens to Cookies
Creating Access Tokens
Creating Refresh Tokens
Persisting Refresh Tokens
Refactoring Refresh Token Persistence
API Development and Testing
Manual Testing with Insomnia - Register Endpoint
Creating a Login Endpoint
Understanding the Impact of Test-Driven Development (TDD)
Fixing Logger Issues
Token Verification - Status Code Testing
Token Verification - User Data Testing
Implementing Token Verification
Excluding Password from Responses
Generating JWKs & Manual Testing
Refreshing Tokens - Complete Process
Logging Out Users
Implementing Migrations
Advanced User Management and Multi-Tenancy
Introduction to Multi-Tenancy
Developing Tenant Entities
CRUD Operations for Tenants"
Testing Tenant Endpoints
Setting Up Access Middleware
Tenant Management API Assignment
Creating User Tests
User Management API Assignment
Fixing CRUD for Users and Tenants
TypeScript Build Process
Setup test coverage
CI/CD Pipelines with GitHub Actions
Understanding CI/CD
Private Key Read Strategy
Building Production Docker Images
Db server setup
Sonar Cloud Setup
Docker Hub Setup
Github Actions
Sonar project properties setup
Protect the main branch
Bug fixes
CI pipeline error fix
Practicals
Admin User Creation - Assigment
Catalog Service Setup - Assignment
React App Creation with Vite - Assignment
Frontend Development: Creating User Authentication with Ant Design
Journey of Achievement: Celebrating Your Success!
Frontend Planning with Figma
Setting Up React with Vite
React Router Configuration
Vitest Setup for Testing
Component Testing Basics
Building a Sign in Card with Ant Design
Implementing Sign-In Form Validation
User Authentication with React Query
Resolving CORS Issues Efficiently
Getting Started with Zustand for State Management
Step-by-Step Guide to Implementing Zustand
Managing User Data with Zustand
Implementing Logout Functionality
Layout Design for Different User Types
Advanced Techniques for Creating Protected Routes
Maintaining Authentication State on Page Refresh
Auto Token Refresh on Page Reload
Up Next Exciting Glimpses of Future Lessons
Creating an Interactive Sidebar Layout
Implementing Logout Functionality
Managing Tenant Information
Designing Dashboard Homepage
Assignment Recap: Building the HomePage
Implementing Breadcrumbs for Navigation
Fetching User Data: Techniques & Best Practices
Designing an Efficient Users Table
Configuring Visibility: Hiding the Users Menu Item
Structuring the Filter Card
Enhancing Filter Interactivity
Creating a User Drawer
Creating the Tenants Table - Assignment
Create User Form Basic Information
Create User Form
Create User Form Validation
Create User Form Submission Using React-Query
Upcoming Lessons and More
Mastering Server-Side Pagination: A Comprehensive Guide to Efficient Data Handling
Implementing pagination on Frontend
Showing loading spinner on frontend
Efficient Backend Filtering: Crafting Advanced Search Capabilities
Create user bug testing
Enhancing User Experience: Implementing Dynamic Search Filters on the Frontend
Implementing debounce functionality
Exploring Left SQL Join: Adding tenant field to user record
Tenant filters and pagination assignment
Implementing Minor Fixes: Enhancing User Experience
Return to Redirect: Optimizing Navigation Flow
Selected Menu Item Color: Active State Styling
Updating User Functionality: Advanced Techniques
Improving Error Handling and Security Measures
Conditional UI: Hiding Tenant Select Box for Admin Users
Catalog Management: Building Products, Categories, and Toppings
Catalog Service Setup: Step-by-Step Guide
File-Based Config Setup: Configuration Best Practices
MongoDB Connection Setup
Creating Category Model in MongoDB
Category Validator Implementation: Best Practices
Implementing Create Category Endpoint
Proper Error Handling in Node.js Apps
How auth will work in Catalog Service
Catalog service authorization
Catalog service crud assignment
Catalog product model
Create product validator
Create product endpoint
Setting Up S3 Bucket for File Storage
Upload Image Implementation
Update product with image update
Check product access by tenant
Fetch Product Lists
Mongoose Pagination
Generate Image Url
Remaining CRUD Toppings Assignment
Api Gateway
Add Filter Components
Fetch Categories Tenants For Select Box
Render Product List Table
Filter Pagination Functionality
Add Role Access in Filters
Fix Switch Label Alignment
Create Model Drawer Part 1
Create Product Drawer Components Part 2
Dynamic Pricing Render
Create Attributes Component Render
Submit Product Part 1
Submit Product Part 2
Image Upload And Component Refactoring
Create Product Loading Spinner
Hide Select Tenant for Non-Admin Users
Edit Product Drawer Fill Value
Show Image Preview in Editmode
Update Product Mutation
Client UI: Building UI using Next JS and Tailwind Css
Github Repo of Client UI
Setting Up Next.js
Shadcnui Installation
Customizing the Shadcnui Theme
Adding the Project Font
Styling the Background
Creating the Navbar Structure
Navbar Customization
Building the Hero Section
Implementing Category Tabs
Designing Product Cards
Developing the Product Modal
Final touches to the product modal
Fetch Tenant Data in Select Box
Fetch Products
Add Component Streaming
Render Image Dynamically
Fetch Toppings
Incorporate Suspense Boundary
Integrate Redux Toolkit for State Management Efficiency
Store Chosen Configuration
Elevate Selected Toppings Logic to Parent Component
Implement 'Add to Cart' Functionality
Resolve Issue with Cart Items Count Display
Add Persistence to Store for Enhanced User Experience
Compute total pricing for the selected config and toppings
Add has topping condition for topping list
Check cart item already exists
Close modal on add to cart
Clear selected toppings on add to cart
Add toast message on add to cart
Get from minimum price for product card
Fetch products by tenantld
Set select on refresh
Fetch toppings dynamically by tenantld
Shopping cart UI Assignment
Change cart item quantity
Remove item from the cart
Calculate item total price
Order Summary page Assignment
Checkout page flow
Implement Login Functionality
Add Loading State to Buttons
Implement Session Functionality
Add logout Functionality
Add auto token refresher
SingUp page assignment
Checkout Flow
Billing management: Pricing, Discounts, Orders
Setting Up the Order Service Template
Add get customer endpoint
Add address endpoint
Coupon code Assignment
Add Coupon Validation Endpoint
Redirect to Login Page for Unauthenticated Users
Add existing query parameter to redirect URL
Return to page from where redirected
Move customer form to client component
Integrate Tanstack Query
Fetch customer data
Render Customer Addresses
Implement add address
Implement place order form
Fix Form Event Propagation
Calculate Order Summary
Add Discount with Coupon Code
Assignment
Understanding Kafka
Overview of Integrating Kafka into Our Application Diagram
Components of Kafka
Setting Up a Kafka Server in Docker
Integrate Kafka with Catalog Service
Assignment
Implement Kafka Consumer
Consume product update
Fix Map Serialization Issue
Assignment
Add Create Order Endpoint
Calculate Subtotal Amount
Calculate Discount Amount
Calculate Taxes
Calculate Final Total Amount
Implement Create Order
Understanding Idempotency Concept
Implement Idempotency
Implement Database Transaction
Configuring MongoDB Atlas and Implementing Idempotency
Understanding Payment Flow Through Diagrams
Integrate Payment Gateway
Fix Indian regulation for address in Stripe
Implement Payment Mode Verification
Handle Stripe Webhook
Publish order status update to Kafka
Prepare Data for Order Creation
Implement Create Order Endpoint
Fix Idempotency Uniqueness Issue
Add Spinner While Place Order
Implement Redirect to Payment Page
Create Payment Page
Make Success Page Dynamic
Clear Cart on Payment Success
Clear Cart on Cash Order Success
Assignment
Implement Get My Orders Endpoint
Fetch and Render My Orders
Display No Orders Message
Create Single Order Page
Change Stepper Programmatically
Fetch Single Order
Implement Field Projection
Change Order Status Enum
Fetch and Populate Order with Customer
Dynamically Render Order Status
Implement Get All Orders Endpoint
Render Order Table
Dynamically Update Order Status Colors
Include Breadcrumb Navigation to Single Order Page
Display List of Items in Order Cart
Render Customer Details
Integrate Change Status Endpoint
Change Order Status
Add Documentation for Kafka Topic
Create Kafka Proper Structure
Change Kafka Message Format
Assignment
Websocket service: Realtime communication
Understanding How WebSocket Services Work
Initial WebSocket Service
SetUp WebSocket Server
Integrate WebSocket Server
Process the Order and Emit to Client
Check Order Append and Show Notification
Overview of WebSocket Service Scalability Through Diagrams
Notification management: Email notifications
Understanding Notification Services Through Diagrams
Initial Notification Service
Scalable Notification Service with the Strategy Pattern
Send Email On New Order
Change Topping Topic Message Structure
Overview of Our System's Structure and Component Communication
Deployment: Automated deployment and Kubernetes
Introduction to Kubernetes
Deep Dive into Kubernetes
Understanding Deployment Flow
Comprehending the Deployment Strategy
Move Mongoose Paginate Library to Dependencies
Add CORS Support
Improve CORS
Implement Cookie Domain Dynamic
Implement SASL Authentication in Kafka
Add Production Dockerfile
Add Dockerfile to Order Service
Update GitHub Action for CI
Implement GitHub Actions CI Pipeline for Catalog Service
Implement GitHub Actions for All Services
Setup Supabase
Setup Cloud Postgres
Configure MongoDB in the Cloud
Setting Up Kafka on the Cloud
Create an IAM User and Create Policies and attach it to user
Install AWS CLI
Configuring AWS Credentials
Install kubectl
Install eksctl
Create Cluster Using eksctl
Deploy the Auth Service
Change Private Key Read Strategy to File
Add Private Key to Container
Install NGINX Ingress Controller
Install Argo CD
Setup Automating Deployments with Argo CD
Deploy the Catalog Service
Deploy the Order Service
Deploy the Websocket Service
Deploy the Notification Service
Setup Domain
Setup Up TLS
Deploy Client UI
Add Custom Domain to Client UI
Deploy Admin UI and Configure a Custom Domain
Modify Frontend Deployment Configuration
Configure an SMTP Server
Add Initial Tenants
Add Initial Categories
Add CORS Domain to Ingress in Auth Service
Add CORS Annotations to the Catalog and Order Services
Add Wildcard Redirect to index.html
Configure Stripe Webhook
Code Improvements and Fixes
Testing the Project
Preview - Mastering MERN: Crafting A Pizza Delivery App From Scratch
Discuss (
0
)
navigate_before
Previous
Next
navigate_next