This repository documents my journey of mastering Spring Boot and Backend Engineering from fundamentals to advanced microservices architecture.
The course covers enterprise backend development concepts, including:
- REST APIs
- Security
- Microservices
- Distributed Systems
- DevOps
- Cloud Deployment
- Java
- Spring Framework
- Spring Boot
- Spring MVC
- Spring Data JPA
- Hibernate
- Spring Security
- Spring Cloud
- H2 (In-Memory Database)
- MySQL
- PostgreSQL
- Redis
- Apache Kafka
- Docker
- Kubernetes
- AWS
- CI/CD Pipelines
- JUnit
- Mockito
- Integration Testing
- TestContainers
- Introduction to Spring Framework
- Setting up Spring Boot Project
- Spring Beans
- Dependency Injection
- Spring Boot vs Spring Framework
- Auto Configuration
- Application Context
- Maven Build Tool
- Spring MVC Architecture
- Tomcat & DispatcherServlet
- Controllers & DTO
- Service Layer Architecture
- Persistence Layer
- PUT, PATCH, DELETE APIs
- Input Validation
- Exception Handling
- API Response Transformation
- Java Streams & Lambda
- Installing MySQL & Database Setup
- Hibernate ORM
- Entities & Tables
- JPA Repositories
- Dynamic Query Methods
- Pagination & Sorting
- Projection
- Entity Lifecycle
- OneToOne, OneToMany, ManyToMany
- Cascading
- Fetch Types
- N+1 Query Optimization
- Spring Boot DevTools
- Auditing with Hibernate Envers
- Third Party API Integration
- Logging in Spring Boot
- Spring Boot Actuator
- Swagger & OpenAPI Documentation
Security concepts covered:
- CSRF
- XSS
- SQL Injection
Topics:
- Spring Security Architecture
- Security Filter Chain
- JWT Authentication
- Login & Signup with JWT
- Request Authentication
- Refresh Tokens
- Access Tokens
- OAuth2 Login (Google)
- Session Management
- Role Based Authorization
- Permissions & Authorities
- Method Level Security
- Unit Testing
- Integration Testing
- JUnit Framework
- AssertJ Library
- Mockito Mocking
- TestContainers
- Code Coverage using Jacoco
- AWS RDS Setup
- Spring Profiles
- Deployment on AWS Elastic Beanstalk
- Load Balancers
- Auto Scaling
- CI/CD using AWS CodePipeline
- Database Migration using Flyway
- Generative AI Basics
- Spring AI
- ChatClient
- Embeddings
- Vector Search
- Retrieval Augmented Generation (RAG)
- Tool Calling
- AOP Concepts
- Pointcuts
- Advice
- Spring Proxies
- Real World Use Cases
- Spring Boot Caching
- Redis Cache
- ACID Properties
- Transaction Management
- Isolation Levels
- Optimistic & Pessimistic Locks
- Microservices Fundamentals
- Service Registration with Eureka
- API Gateway
- Feign Client
- Resilience4j
- Circuit Breaker
- Retry
- Rate Limiting
- API Gateway Filters
- Centralized Config Server
- Dynamic Configuration Refresh
- Distributed Tracing (Zipkin)
- Centralized Logging (ELK Stack)
- Kafka Fundamentals
- Kafka Architecture
- Kafka with Spring Boot
- Schema Registry
- Event Driven Architecture
- Docker Fundamentals
- Docker Installation
- Dockerfile
- Docker Images
- Docker Compose
- Containerized Microservices
- Kubernetes Architecture
- Minikube Setup
- Pods
- Deployments
- ReplicaSets
- Services
- Persistent Volumes
- StatefulSets
- Google Kubernetes Engine (GKE)
- Kubernetes DNS
- Ingress Controllers
- ConfigMaps
- Secrets
- Kubernetes CI/CD
- Java Executor Framework
- Task Scheduling
- Async Tasks
- Tomcat Threading Model
- Image Upload Service (Cloudinary + Google Cloud Storage)
Features:
- Hotel Management APIs
- Booking System
- Search System
- Payment Integration
- Dynamic Pricing
- Secure Authentication
Features:
- Microservices Architecture
- Service Discovery
- API Gateway
- Distributed Logging
- Kafka Messaging
- Kubernetes Deployment
- Monolithic Architecture
- Layered Architecture
- Microservices Architecture
- Event Driven Architecture
- IntelliJ IDEA
- MySQL
- DBeaver
- Postman
- Docker
- Kubernetes
- AWS
- GitHub
To master production-level backend engineering using Java & Spring Boot and build scalable distributed systems.
If you found this repository helpful, consider giving it a β on GitHub.