www.youtube.com/c/javaexpress javaexpresschannel@gmail.com +91 7801007910 Java Express Updated Course JAVA FULL STACK DEVELOPER COURSE Prerequisites for this Course: Core Java Java 8 : https://bit.ly/java8videos Modules: Module 1 : Introduction to Spring Framework & Spring Boot Module 2 : Spring Data JPA & Spring Data Rest Module 3 : Building REST APIs with Spring Boot Module 4 : Microservices Architecture with Spring Boot Module 5 : Introduction to Docker Module 6 : Deploying Microservices with Docker and Kubernetes Module 7 : Event Driven Microservices (Apache Kafka) Module 8 : Testing in Spring Boot (Mockito) Module 9 : Spring Boot Security (OAuth2.0 & JWT) Module 10 : Spring Boot Integration with Redis Module 11 : Microservices Design Patterns (CQRS & SAGA) Module 12 : React JS Integration with Spring Boot www.youtube.com/c/javaexpress javaexpresschannel@gmail.com +91 7801007910 Java Express Module 1: Introduction to Spring Boot Overview of Spring Framework o Introduction to Spring Ecosystem o Core Concepts : IOC (Inversion of Control)& DI (Dependency Injection) What is Spring Boot? o Introduction to Spring Boot & its key features o Comparison with traditional Spring framework o Benefits of using Spring Boot Setting Up Development Environment o Installing Java Development Kit (JDK) o Configuring IDE (Integrated Development Environment) (e.g., IntelliJ IDEA, STS) o Understanding Maven build tool Spring Initializer and Project Creation o Using Spring Initializer to generate Spring Boot projects o Adding dependencies and configurations o Exploring basic project structure Auto-configuration and Spring Boot Starters o Understanding auto-configuration and its benefits o Adding Spring Boot starters for various functionalities (e.g., Web, JPA, Security) o Configuration files (application.properties/yaml) Running your first Spring Boot application o Creating a simple Spring Boot application o Running the application and understanding console logs o Exploring application functionalities Module 2: Spring Data JPA Introduction to JPA and Spring Data JPA o Understanding object-relational mapping (ORM) concept o Exploring Spring Data JPA features and benefits Creating and Configuring Entities o Defining entities representing database tables o Mapping entity fields to database columns o Configuring entity relationships (One-to-One, One-to-Many, Many-to-Many) Implementing CRUD Operations (Create, Read, Update, Delete) o Using Spring Data JPA repositories to perform CRUD operations o Understanding @Repository and @Entity annotations www.youtube.com/c/javaexpress javaexpresschannel@gmail.com +91 7801007910 Java Express o Building custom queries with methods and JPQL Querying Data with JPA Repositories o Implementing various query methods like findBy o Using JPA Criteria API for complex queries o Utilizing Pageable interface for data pagination Advanced Query Techniques with Spring Data JPA o Exploring native SQL queries o Implementing custom JPA repositories Introduction to H2 Database o Overview of H2 o Connecting to H2 using the H2 Console Spring Data Mongo DB o Basics of Mongo DB and NoSQL databases o Configuring and using Spring Data Mongo DB o Repository interfaces for Mongo DB Module 3: Building REST APIs with Spring Boot Introduction to REST APIs o Understanding REST principles and architecture o Designing Restful API contracts Implementing REST CRUD operations o Building API endpoints for Create, Read, Update, and Delete operations o Handling validation and error responses o Implementing efficient data retrieval Handling JSON Data with @RequestBody and @ResponseBody annotations o Processing JSON data sent in request body o Sending JSON data as response o Utilizing Jackson library for JSON serialization and deserialization Integrating with Swagger for API documentation o Generating API documentation using Swagger o Understanding Open API specification and its benefits o Providing clear and detailed API documentation for developers Exception Handling in Restful Services o Handling exceptions in Spring Boot o Custom exception handling for Restful APIs o Error responses and HTTP status codes Consumer Development o What is Spring RestTemplate? www.youtube.com/c/javaexpress javaexpresschannel@gmail.com +91 7801007910 Java Express o Creating and configuring a RestTemplate instance o Sending various HTTP requests (GET, POST, PUT, DELETE) o Setting request headers and body o Understanding potential errors and exceptions Understanding Spring Boot Profiles o Introduction to Spring Boot profiles o Configuring profiles in application properties/yaml o Configuring databases for different environments o Environment-specific logging and debugging settings Spring Boot DevTools o Improving development productivity with DevTools o Automatic application restarts Module 4: Microservices Architecture with Spring Boot Overview of Microservices o What are microservices? o Advantages and disadvantages of microservices o Comparison with monolithic architecture o Key principles and best practices Spring Cloud Overview Building Microservices with Spring Boot (Real Time Project) o Spring Boot as a framework for microservices development o Building Restful API o Implementing data access with Spring Data JPA Microservices Monitoring with Spring Boot Actuator o Overview of Spring Boot Actuator o Exposing and customizing Actuator endpoints o Monitoring microservices with Actuator Service Registration and Discovery o Introduction to service registration and discovery o Using Spring Cloud Eureka for service registration o Discovering services with Eureka clients Microservices Communication Patterns o Inter-service communication using Feign Client Spring Cloud Gateway o Introduction to Spring Cloud Gateway o API gateway and routing www.youtube.com/c/javaexpress javaexpresschannel@gmail.com +91 7801007910 Java Express Load Balancing and Fault Tolerance o Implementing load balancing with Spring Cloud Ribbon o Circuit Breaker pattern with Spring Cloud Circuit Breaker Distributed Tracing with Micrometer Tracing o Understanding distributed tracing o Implementing tracing with Micrometer Tracing and Zipkin o Visualizing trace data for microservices Centralized Configuration with Spring Cloud Config o Overview of Spring Cloud Config o Centralized configuration management o Integrating Spring Cloud Config with Spring Boot o Implementing compensating transactions o Using Sagas for long-running transactions Module 5: Introduction to Docker Understanding Containerization o Overview of containerization o Comparing containers to virtual machines o Benefits of using containers in microservices architecture Introduction to Docker o Docker Introduction o Key Docker components: Docker Engine, Docker Hub, Docker CLI o Environment Setup for Docker o Docker Commands o Setting up a public Docker registry o Pushing and pulling images from a registry o Running and managing Docker containers Building Docker Images o Creating Docker images using Dockerfile o Creating Docker images using Google Jib Containerizing Microservices o Preparing applications for Dockerization o Dockerizing all microservices Module 6: Deploying Microservices with Docker and Kubernetes Overview of Kubernetes o Introduction to Kubernetes o Key Kubernetes components: Master and Nodes www.youtube.com/c/javaexpress javaexpresschannel@gmail.com +91 7801007910 Java Express o Kubernetes objects: pods, deployments, services, Replication, ConfigMap Installing and Configuring Kubernetes o Configuring Kubernetes on cloud providers (GCP) o Using kubectl for interacting with Kubernetes clusters Deploying Microservices in Kubernetes o Deploying microservices as Pods o Managing microservices with Deployments Kubernetes Services o Understanding Kubernetes Services o Creating and managing Services o Load balancing and service discovery in Kubernetes Application Lifecycle Management o Rolling updates and rollbacks in Kubernetes Module 7: Event Driven Microservices Kafka Overview o Introduction to Apache Kafka and its architecture o Key use cases for Kafka in real-world applications Kafka Topics and Partitions o Definition and purpose of topics o Creating and managing topics in Kafka o Understanding partitions in Kafka o Distributing data across partitions o Importance of topic replication Kafka Producers o Overview of Kafka producers o Producing messages to Kafka topics Kafka Consumers o Overview of Kafka producers o Listening message from Kafka Topics Role of Kafka in microservices communication Module 8: Testing in Spring Boot Unit testing with Junit and Mockito Introduction to Mockito framework Creating and using mock objects @Mock, @InjectMocks annotations www.youtube.com/c/javaexpress javaexpresschannel@gmail.com +91 7801007910 Java Express Testing Spring Boot service components with Mockito Mocking data access and external dependencies Understanding and using argument matchers Module 9: Spring Boot Security Introduction to Spring Security Getting Started with Spring Boot Security o Setting up a basic Spring Boot Security project o Configuring security dependencies o Understanding the default security settings Securing REST APIs with Spring Security o Protecting REST API endpoints from unauthorized access o Understanding OAuth2 integration for social login Introduction to JWT (JSON Web Tokens) o Overview of JWT and its structure o Configuring Spring Boot Security for JWT o Generating and validating JWT tokens o Integrating JWT with Spring Boot Security Microservices Security Using Keycloak in API Gateway Module 10: Introduction to Caching in Spring Boot Overview of Caching in Spring Boot o Importance of caching in application performance o Introduction to Spring Boot caching support Spring Boot Caching Annotations o @Cacheable, @CachePut, and @CacheEvict annotations o Configuring caching in Spring Boot applications Integrating Redis caching in Spring Boot Application o Setting up a local Redis instance o Including Redis dependencies in a Spring Boot project o Configuring Redis connection properties Module 11: Microservices Design Patterns (Real World Example Ecommerce) Understanding CQRS o Command and Query Responsibility Segregation explained o Benefits of adopting CQRS in microservices Command Handling in CQRS www.youtube.com/c/javaexpress javaexpresschannel@gmail.com +91 7801007910 Java Express o Designing and processing commands o Command validation and error handling o Asynchronous command processing Query Handling in CQRS Event Sourcing in CQRS o Introduction to Event Sourcing o Axon Server for Event Sourcing Implementing Sagas in Microservices o Introducing the Saga pattern o Characteristics and principles of Sagas o Saga Orchestration o Implementing Sagas with orchestration services o Coordinating Sagas through a centralized orchestrator o Managing distributed transactions with orchestration Compensation in Sagas o Understanding compensation actions o Handling failures and rollbacks in Sagas Module 12: React JS Integration with Spring Boot Introduction to React JS React Hooks ( state & props) Axios Library ( REST Calls) Browser Router Enable CORS in Spring Boot Application How to call GET API from React JS to Spring Boot Application Big Basket Application Explanation (code walk through) o Javascript o Bootstrap o Monogodb o springboot