[go: up one dir, main page]

0% found this document useful (0 votes)
316 views12 pages

Learn Spring Boot With Microservices

The document outlines an advanced backend development course focused on Spring Boot, featuring projects like Uber and Airbnb backends. It includes a detailed syllabus covering various topics such as microservices architecture, database management, and real-time communication. The course is set to start in May 2025, with a duration of 5-7 months and offers recorded content for missed classes.

Uploaded by

Parth Navale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
316 views12 pages

Learn Spring Boot With Microservices

The document outlines an advanced backend development course focused on Spring Boot, featuring projects like Uber and Airbnb backends. It includes a detailed syllabus covering various topics such as microservices architecture, database management, and real-time communication. The course is set to start in May 2025, with a duration of 5-7 months and offers recorded content for missed classes.

Uploaded by

Parth Navale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

4/19/25, 10:47 AM Learn Spring boot with microservices

AlgoCamp search

STORE / COURSE / ADVANCED BACKEN…

Advanced backend development with


Spring Boot
Use the coupon code SPRING2025 to avail maximum discount on the course price.

https://courses.algocamp.io/learn/Advanced-backend-development-with-Spring-Boot 1/12
4/19/25, 10:47 AM Learn Spring boot with microservices

Other Pricing Plans

2 Year Plan
Details
2 Year Plan • 800 Days Validity

₹9,999 ₹10,999 9% off

BUY NOW

Syllabus

01 Welcome to the course 🙏🏻


1 Lesson

02 Project 🚀 - Uber backend with geohashing (Expand ... )


1 Lesson

03 Project 🚀 - Payment wallet microservices backend (Expand)


1 Lesson

04 Project 🚀 - Airbnb backend & distributed locking (Expand)


1 Lesson

Project PRD
Pdf

05 Project 🚀 - Quora social media backend (Expand ... )


1 Lesson

06 Project 🚀 - Hospital management backend (Expand ... )


1 Lesson

07 [Prerequisite 1] Basics of JAVA Programming language ✅


https://courses.algocamp.io/learn/Advanced-backend-development-with-Spring-Boot 2/12
4/19/25, 10:47 AM Learn Spring boot with microservices

21 Lessons

About This Course

🚀 Ultimate Backend Development Course (Spring Boot


Edition) 🚀
Learn Spring Boot from Scratch and Level Up to a Senior Software Engineer
Role
COUPON CODE : SPRING2025
🔥 Top Highlights
This course goes beyond CRUD and teaches you how to build production-grade,
cloud-native distributed systems using Spring Boot.

🧠 Most

Advanced Concepts You'll Master:


CQRS (Command Query Responsibility Segregation)
API Composition & Materialized View Pattern
✅ SAGA Pattern:
Both Orchestration (via orchestrators)
and Choreography (event-based coordination)


Event Sourcing with Kafka


Transactional Outbox Pattern for guaranteed event publishing
Microservices Architecture from scratch with real-world HLD & LLD


API Gateway (with rate limiting, routing, auth, etc.)


Service Discovery using Spring Cloud Netflix Eureka
Distributed Transactions and system design strategies


Consistency models - Eventual, Casual and Immediate


DB Replication - Master slave, multi master, leaderless
DB Transactions and DB Internals - LSM Trees, WAL based redo logs, db


transaction and isolation levels, indexing and more ..


DB Triggers and Change Data Capture (CDC)
GeoHashing and Geohash based indexes - Comparison with quadtrees and


using Geohashed DBs
Distributed locks using REDIS - Comparison with pessimistic and optimistic
locking, implementing optimisic pessimistic and distributed lock based

💻
🔷
implementations
Flagship Projects Included:
Major Projects (HLD + LLD + Code + Testing):
1. Uber-like Ride Hailing Backend
https://courses.algocamp.io/learn/Advanced-backend-development-with-Spring-Boot 3/12
4/19/25, 10:47 AM Learn Spring boot with microservices

2. Payment Wallet System


3. Airbnb Clone – Stay Booking Platform
🔹 Minor Projects:
4. Quora Clone – Q&A and Social Features
5. Hotel Management System – Room booking, availability, pricing

🧱 Build Systems & Java Ecosystem


Gradle Deep Dive: Build scripts, multi-module projects
Creating fat jars, custom tasks, and Gradle CLI
Creating custom annotations and leveraging AOP (Aspect-Oriented Programming) in
Spring
Introduction to Spring Initializr and project scaffolding
Deep dive into JVM, GC, and performance tuning

🧠 Low-Level Design (LLD)


Understanding Object-Oriented Principles in Java
Core design patterns: Builder, Singleton, Strategy, Observer
MVC Architecture in Spring
Writing services, controllers, DTOs, and entities
Service-repository patterns and layered architecture

🚀 Basics of Spring Boot


Understanding API Development in Spring boot using Spring boot web
Integrating db configuration using application.properties in Spring boot
Creating API and their documentation using @OpenAPIDefinition
Adding POJO with the help of Lombok
Dependency Injection , Dependency Inversion, Autowiring

❤️ MVC Architecture | Preparing industry scale projects


Making industry ready project structure with MVC and modified MVC
Service layer, Schema layer and repository layer
Config layer, Seeders and Controllers
Routing layer, Config layer
Jobs and consumers

🔌 REST API Development


Building RESTful services with Spring MVC
CRUD operations using Spring Boot
Creating and managing Beans, Controllers, Services
Exception handling using @ControllerAdvice
Calling external APIs using RestTemplate

https://courses.algocamp.io/learn/Advanced-backend-development-with-Spring-Boot 4/12
🧩 Project Architecture & Microservices
4/19/25, 10:47 AM Learn Spring boot with microservices

Modular Monolith vs Microservices architecture


Microservices with Spring Cloud, Feign Clients
HLD of Ecommerce, Uber, and Wallet systems
Service discovery, API Gateway, centralized configuration
Synchronous & asynchronous communication strategies

🧵 Messaging & Distributed Systems


Apache Kafka:
Producers, Consumers, Topics, Partitions
Kafka integration with Spring Boot
Saga Pattern: Managing distributed transactions
Two-Phase Commit (2PC) basics
CQRS: Command-Query Responsibility Segregation

✍🏻 CQRS - Command qeury responsibility segregation


Introduction to CQRS Pattern
Pros and cons of CQRS
Scaling Query and mutations seperately with CQRS
How eventual consistency will help in CQRS ?

✍🏻 Outbox pattern and Change data capture


Configuring dbs to enable CDC
Understanding Debezium to implement CDC
Understanding outbox pattern

🔁 Caching & Performance


Integrating Redis with Spring Data Redis
Caching strategies, TTL, eviction policies
Cache invalidation and layered caching
Read Back, Read Through and Read Around Cache

🔗 Interservice communication using gRPC and Protobuf


- Understanding gRPC for communication, comparing protobufs with Thrift and JSONs and
understanding performance improvements for space take by payload.

🧬 Spring Data JPA & ORM


Creating Entities, DAOs with UUIDs & Lombok
Inheritance strategies:
@MappedSuperclass, @TablePerClass, @Joined
Relational Mappings: 1:1, 1:N, M:N
https://courses.algocamp.io/learn/Advanced-backend-development-with-Spring-Boot 5/12
4/19/25, 10:47 AM Learn Spring boot with microservices

Querying:
JPQL, Raw SQL, Hibernate Criteria API
Named queries, custom repository methods
Performance tuning:
Solving the N+1 problem
Fetch Types: Lazy vs Eager
Fetch Modes: SELECT, JOIN, SUBSELECT
Cascade Types: PERSIST, MERGE, DETACH, REFRESH
Schema migration with Flyway

💾 Databases (Basic to Advanced DBMS)


DB Normalization, ACID, Transactions
Query optimization and indexing
Transaction Isolation Levels
Schema design for E-commerce, Uber, Wallet apps
Introduction to NoSQL (MongoDB) and when to use it

⚙️ Authentication & Authorization


Spring Security configuration
JWT-based authentication
Role-based access control
OAuth 2.0 basics and securing microservices

📡 Real-Time Communication
WebSockets using STOMP and SockJS
Real-time chat/order updates in Uber-like apps

💰 Kafka & RabbitMQ


Understanding message queues and their importance in distributed systems
Apache Kafka architecture - Topics, Partitions, and Brokers
Kafka Producer and Consumer APIs in Java
Kafka Stream processing and real-time data pipelines
RabbitMQ architecture and message exchange patterns
Implementing publish-subscribe patterns with RabbitMQ
Message acknowledgments and delivery guarantees
Dead letter queues and message retry mechanisms
Scaling message queues and handling high throughput
Comparing Kafka vs RabbitMQ - use cases and trade-offs

⭐️ Indexing in Databases
Creating indexes in databases
Types of Indexes
https://courses.algocamp.io/learn/Advanced-backend-development-with-Spring-Boot 6/12
4/19/25, 10:47 AM Learn Spring boot with microservices

Checking query performance with and without indexes


Internals of Indexes - B-Trees

⚡️ Scaling DBs - Partitioning , Replication & Sharding


Partitioning DBs and why do you need partitioning
Scaling DBs further with practically sharding your DBs
Controlling DB shards in express
Replication In DBs and its needs

© Replication in Distributed DB - Master slave & Multi


Master
Need of replication for scaling databases
Strategies of replicating a database
Replication in a write/read heavy system
Master slave and multi master architecture
leader less architecture and quorums

⭐️ Schema Designing - Twitter & Airbnb


Designing Complex DB schema - Designing Social Media DB & Airbnb DB
Normalising the DBs
Optimising for different edge Cases

💸 Advanced Transaction in databases


ACID properties in databases
Understanding atomicity and how DBs implement atomicity
Consistent and consistency patterns
Strong vs eventual consistency
Isolation levels and serialisation
Durability in DBs, Pessimistic & Optimistic Concurrency control

👌🏻 Advanced MongoDB
backing up mongodb databases
Sharding and replicating mongodb databases
Transactions in MongoDB and ACID in mongo
Indexing and performance in Mongo along with Security in mongoDB
Aggregation framework in Mongo

✌️ORMs and ODMs


Integrating ORMs and ODMs in Express
https://courses.algocamp.io/learn/Advanced-backend-development-with-Spring-Boot 7/12
4/19/25, 10:47 AM Learn Spring boot with microservices

Mongoose ODM for MongoDB


Prisma ORM and TS Support

📈 Databases in AWS Cloud


AWS RDS for relational databases in AWS
AWS Document store and MongoDB Atlas
Amazon dynamoDB
Amazon S3 (Simple storage service) for blob storage
Amazon redshift

ƛ AWS Lambda & IAM


Creating serverless function in AWS Lambda
Setting up permissions using IAM
Integrating lambda with ELB

🔺Idempotent API, API Gateways and Proxies


Understanding idempotency and it’s use cases
Implementing an Idempotent API
NGINX as a reverse proxy and load balancer
API Gateway patterns and implementation using Kong and AWS API Gateway
Rate limiting and throttling in API Gateways
Request/Response transformation and routing
API versioning and documentation
Authentication and authorization at gateway level
Circuit breaking and fallback mechanisms
Caching strategies at the proxy layer
Cross-origin resource sharing (CORS) configuration

Projects 🧩
Quora app backend 🐥
Understand Basic CRUD APIs in a social media setup
Understand complex schema setup with twitter app
Understanding of MVC architecture with services and repositories
Implementing complex ODM queries
Integrating elastic search for inverted index search

Payment wallet System - Paytm / Uber wallet 💰


Understanding distributed transactions for financial systems
Integrating high consistent dbs in your spring boot code base and handle edge cases
Optimise for SAGA using chroeography and orchestrations
https://courses.algocamp.io/learn/Advanced-backend-development-with-Spring-Boot 8/12
🏨
4/19/25, 10:47 AM Learn Spring boot with microservices

Airbnb.com backend
Setup microservices based hotel booking application
Integrating MySQL and MongoDB both for different microservices
Integrating authentication using JWT tokens
Handling concurrency issues in booking using transactional APIs
Implementing idempotent APIs
Integrating migrations in MySQL

Hospital management app 🧑🏻‍⚕️


Understanding monolithic implementations with a simple crud app
Understanding basics of spring boot annotations
Integrating DBS and getting clarity on services, repository and controllers
Implementing REST APIs in the industry standard format using spring boot

Uber Backend 🚕
Understand how geohashing works and comparison with quad trees
How to use databases to use geohashing and find nearby drivers
Use scalable APIs to keep access of current location of drivers
Use websockets for real time driver and user notifications

Pre-requisites (Good to have)


All the below content are a set of important pre-requisites but if you don’t know about
them then don’t worry, immediately after your course purchase you will get recorded
content that you can start to consume before live classes start.

Basics Of Java
Variables and Data Types (Integers, Strings, Booleans, Objects, Arrays)
Functions
Object-Oriented Programming in Java
Error Handling (try-catch blocks)
Collections in Java

Basic MySQL Queries & MongoDB Queries


For MySQL:

Basic CRUD operations (SELECT, INSERT, UPDATE, DELETE)


JOIN operations (INNER, LEFT, RIGHT, FULL)
Aggregation functions (COUNT, SUM, AVG, MAX, MIN)
GROUP BY and HAVING clauses

https://courses.algocamp.io/learn/Advanced-backend-development-with-Spring-Boot 9/12
4/19/25, 10:47 AM Learn Spring boot with microservices

Indexing and database optimisation


Stored procedures and triggers

For MongoDB:

Document CRUD operations (insertOne/Many, find, updateOne/Many,


deleteOne/Many)
Query operators ($eq, $gt, $lt, $in, $or, $and)
Aggregation pipeline stages ($match, $group, $sort, $lookup)
Indexing in MongoDB
Array operators ($push, $pull, $addToSet)
Document relationships and embedding vs referencing

Basics of computer networks


OSI Model and its 7 layers (Physical, Data Link, Network, Transport, Session,
Presentation, Application)
TCP/IP Protocol Suite and common protocols (HTTP, HTTPS, FTP, SMTP)
IP addressing (IPv4, IPv6) and subnetting
DNS (Domain Name System) and how domain resolution works
Network security basics (Firewalls, SSL/TLS, HTTPS)
Client-Server architecture and request-response cycle
Torrents

Syllabus overview

Frequently Asked Questions


1. What is the duration of the course?
5-7 months

2. What if I miss the Live class? Do I still get access to recordings?


Yes, don't worry. You will get access to all the recordings if you miss any class.

3. I am from a non-tech background. Can I still be a part of this course?


Yes, although the course expect you to have some basic programming knowledge, but we will
be providing you all the pre-requisite recorded lecture that you can start consuming after a
few days of purchasing the course.

4. What will be the language of the course?


https://courses.algocamp.io/learn/Advanced-backend-development-with-Spring-Boot 10/12
4/19/25, 10:47 AM Learn Spring boot with microservices

English

5. Can I get a refund for the course after purchasing it?


No, there is a strict NO REFUND policy at Algocamp. In any circumstances we won't be able
to refund the transaction done.

6. Is there any community support?


Yes, you will be added to a dedicated Discord server close to course start date. The server
will remain even after the completion of the course.

7. What are the timings of the session?


Live sessions will happen on Tuesday, Saturday and Sunday 9.00 PM.

8. What is the course start date ?


The expected course start date is 15th - 20th May, 2025. Some pre-requisite content will be
uploaded on the platform close to the start date for you to start consuming. The detailed
schedule will be sent on discord channel just before start of the course.

9. When will i receive the discord link ?


The discord links are sent close to start date of the course. If you're joining after the course
start date then you will receive it in 48-72 hrs after your purchase.

10. I cannot see lectures on the course ?


This is a live course hence apart from pre-requisite lectures the other lessons will be added
once course starts and progress as we cover each topic one by one.

11. I have some more questions, how to contact the team ?


Please mail us at algocamproot@gmail.com

12. What can be my expectation from the course ?


As an ideal scenario, a student can expect to learn java srping boot from beginner to
advanced level, and you can expect to be ready for SDE 1, 2 and 3 level roles. The course
demands dedication efforts from the students end as these concepts are not just simple
CRUD but actual engineering heavy concepts and will walk you through real life project and
engineering scenarios.

https://courses.algocamp.io/learn/Advanced-backend-development-with-Spring-Boot 11/12
4/19/25, 10:47 AM Learn Spring boot with microservices

AlgoCamp
LANGUAGES

About Us

Copyright © 2025 AlgoCamp

https://courses.algocamp.io/learn/Advanced-backend-development-with-Spring-Boot 12/12

You might also like