JAVA FULL STACK

Learn the fundamentals of programming and object oriented developement with the core JAVA.



4 Months Duration

₹ 8,999

Syllabus


Module 1 - HTML

What is HTML

HTML and the World Wide Web

Role of HTML in Web Development

HTML Editors and Development Environment Setup

Basic HTML Document Structure (DOCTYPE, , , )

HTML Elements and Tags

Block-level vs Inline Elements

HTML Attributes (Global and Element-specific Attributes)

Void Elements (e.g., img, br, input)

Paragraphs, Headings, and Divisions

Semantic HTML: header, footer, article, section

Text-level elements: strong, em, span, etc.

Lists: Ordered (ol) , Unordered (ul) Lists and Definition List (dl)

Quotes: Blockquote and Inline Quotes

Creating Hyperlinks with 'a'

Linking to External and Internal Resources

Email Links, Telephone Links and Image Links

Navigation Bars and Menus (with 'nav')

Inserting Images with 'img'

Alt Attribute and Image Descriptions

Responsive Images (picture, srcset)

Embedding Audio (audio)

Embedding Video (video)

Using 'iframe' for External Content (e.g., YouTube)

Creating Tables: table, tr, td, th

Table Headers, Footers, and Captions

Colspan and Rowspan Attributes

Table Accessibility Considerations

Form Structure: form, action, method

Common Input Types: Text, Password, Email, Number, Date, etc.

Checkboxes, Radio Buttons, and Select Dropdowns

Textarea and Submit Buttons

Form Validation (Required Fields, Pattern Matching)

Labeling Forms and Improving Accessibility

The Role of Semantic HTML in Modern Development

New Structural Elements in HTML5 (header, footer, main, aside)

Using section and article for Content Segmentation

Benefits for SEO and Accessibility

Embedding External Resources with iframe

Inline SVG Graphics

Embedding External Stylesheets and JavaScript Files

The embed and object Elements for External Applications (PDF, Flash)



Module 2 - CSS

What is CSS

History and Evolution of CSS

Advantages of CSS in web development

Types of CSS: Inline, Internal, External

Basic CSS Syntax and Structure

CSS Selectors: Element, ID, Class, Universal, Grouping

Understanding the Box Model

Margins, Borders, Padding, and Content

Box-sizing property

Attribute Selectors

Pseudo-Classes and Pseudo-Elements

Combinators: Descendant, Child, Adjacent, General Sibling

Positioning: Static, Relative, Absolute, Fixed, Sticky

Display Property: Block, Inline, Inline-Block, None

Float and Clear

CSS Flexbox: Introduction and Key Properties

CSS Grid: Introduction and Key Properties

Font Properties: Font-Family, Font-Size, Font-Weight, Font-Style

Text Properties: Text-Align, Text-Transform, Text-Decoration, Line-Height

Using Web Fonts

Styling Hyperlinks: Link States

Styling Ordered, Unordered, and Definition Lists

Color Models: RGB, RGBA, HEX, HSL, HSLA

Background Properties: Background-Color, Background-Image, Background Position, Background-Repeat, Background-Attachment

Border Properties: Border-Width, Border-Style, Border-Color, Border-Radius

Gradients: Linear, Radial

CSS Units and Values

Absolute Units: px, pt, cm, mm

Relative Units: em, rem, vw, vh, %, fr

Calculations using the calc() function

CSS Transitions: Transition Properties, Timing Functions

CSS Animations: Keyframes, Animation Properties

Media Queries: Breakpoints and Usag

Viewport Meta Tag

Responsive Units: %, vw, vh, rem, em

Mobile-First Approach

Flexbox and Grid for Responsive Layouts

Handling Cross-browser Compatibility

Vendor Prefixes for Different Browsers: -webkit-, -moz-, -ms-, -o-

Tools for Compatibility Testing

CSS Grid Advanced Techniques: Grid Areas, Template Layouts

Advanced Flexbox Layout Patterns

CSS Shapes and Masks

CSS Clip-Path Property

CSS Filters: Blur, Grayscale, Drop Shadows, etc.

Advanced Selectors (Nth-child, Nth-of-type)

Ensuring Text Readability and Color Contrast

Focus and Active States for Keyboard Navigatio

CSS Guidelines for Accessible Web Design

When to Use Grid vs. Flexbox

Differences and Use Cases



Module 3 - JAVASCRIPT

Brief history of JavaScript

ECMAScript and standardization

Setting Up the Development Environment

Basic Syntax - Comments, variables, keywords

Data types and type conversion

Expressions and operators

Variables and Scope

Data Types

Type Conversion

Conditionals Statements

switch statement

Loops

Defining Functions - Function declarations and expressions

Arrow functions

Parameters and Arguments - Default parameters

Parameters and Arguments - Rest parameters and spread syntax

Scope and Closures

Callback Functions - Synchronous vs asynchronous callbacks

Objects - Creating objects (object literals, new Object())

Accessing and modifying object properties

Prototypes - Prototype chain

Prototypal inheritance

Classes and Inheritance - Defining classes (class keyword)

Class inheritance (extends, super)

Static methods and properties

Creating arrays, accessing elements

Array length, adding/removing elements

Iterating Over Arrays - forEach(), map(), filter(), reduce(), some(), every(), sort()

Array Mutability - Array methods that modify vs return new arrays

Multi-dimensional Arrays - Working with nested arrays

Types of Errors

Error Handling - try...catch block, finally statement, Throwing custom errors

Debugging Tools

Callbacks - Defining and using callbacks

Promises - Creating and consuming promises

Promises - then(), catch(), and finally()

Promises - Promise chaining

Promises - Async/Await

Promises - Event Loop

DOM tree and nodes

Selecting Elements - getElementById(), getElementsByTagName(), getElemensByClassName(), querySelector(), etc.

Manipulating Elements - Changing content (innerHTML, textContent), Changing attributes, classes, styles

Event Handling - Adding event listeners (click, keydown, mouseover, mouseleave), Event delegation, Preventing default behavior

setTimeout(), setInterval()

Local Storage and Session Storage

Fetch API - Making HTTP requests, Handling responses, JSON parsing

Geolocation API

Web Workers - Multithreading with web workers

Modules - ES6 modules (export, import), Default and named exports

CommonJS and AMD - require() and module.exports

Bundlers - Using tools like Webpack or Parcel

Basics of Regular Expressions - Syntax and pattern matching

Common Methods - test(), exec()

String methods using regex (match(), replace())

Flags and Modifiers



Module 4 - jQuery

What is jQuery

jQuery vs. JavaScript

Advantages of using jQuery

How to include jQuery in a project

Overview of jQuery selectors

Basic selectors (ID, class, element)

Attribute selectors

Hierarchical selectors

Pseudo-selectors (e.g., :first, :last, :nth-child)

Traversing the DOM (parent, child, sibling methods)

Adding/removing elements

Modifying element content

Modifying element attributes

Event binding methods

Event delegation

Event propagation (bubbling and capturing)

Preventing default behavior

Stopping event propagation

Showing and hiding elements

Fading elements

Sliding elements

Chaining animations

Selecting form elements

Handling form events

Serializing form data

JQuery Utilities

Using $.extend()

Utility functions ($.trim(), $.isArray(), etc.)

Working with browser storage using localStorage and sessionStorage



Module 5 - Bootstrap

Overview of Bootstra

History and evolution of Bootstrap

Importance of responsive design in web development

Installation and setup of Bootstrap (via CDN, npm, or manual download)

File structure of Bootstrap

Understanding the Bootstrap grid system

Grid layout and breakpoints

Building responsive layouts with the grid system

Understanding container, row, and column classes

Nesting grids and offsetting columns

Bootstrap’s typography system

Headings, paragraphs, and text utilities

Lists, blockquotes, and code elements

Inline elements and contextual text classes

Bootstrap’s typography system

Headings, paragraphs, and text utilities

Lists, blockquotes, and code elements

Inline elements and contextual text classes

Overview of Bootstrap components

Buttons and button groups

Forms: Form controls, input groups, layout options, and validation

Navigation: Navbar, navs, and tabs

Dropdowns and modals

Alerts, badges, and breadcrumbs

Cards and media objects

Utility classes in Bootstrap

Margin, padding, and spacing utilities

Display and visibility classes

Sizing utilities for width, height, and viewport settings

Flexbox utilities for alignment, distribution, and order

Text alignment and font utilities

Background and color utilities

Carousel and image sliders

Collapse and accordions

Tooltips and popovers

Pagination and progress bars

Scrollspy and sticky navigation

Introduction to Bootstrap Icons

Adding and customizing Bootstrap Icons

Customizing Bootstrap with Sass variables

Overriding Bootstrap styles

Creating custom themes with Bootstrap



Module 6 - React JS

What is React

History and evolution of React

Key features of React

Understanding Single Page Applications (SPAs)

React vs Other Frontend Frameworks (Vue, Angular)

Node.js and npm installation

Installing React using Create React App (CRA)

Project folder structure in React

Overview of development tools (VS Code, React Developer Tools)

Introduction to JSX

JSX vs HTML

Embedding JavaScript expressions in JSX

JSX attributes and children

Types of Components: Functional and Class-based

Component lifecycle (Introduction)

Creating and exporting components

Component reusability

Passing data with props

Default props

Prop types (validating props)

Passing data with props

Default props

Prop types (validating props)

What is state in React

Managing local state in functional components

The useState hook

Updating and manipulating state

Handling events in React

Passing arguments to event handlers

Synthetic events

Using if-else for conditional rendering

Ternary operators and logical && for rendering

Rendering lists in React

Using keys in lists

Handling dynamic data in lists

Controlled vs Uncontrolled components

Handling form inputs

Form submission and validation

Lifting state to a common ancestor

Sharing state between components

Introduction to React Router

Setting up routing in a React application

Route parameters and navigation

Nested routes and redirection

Introduction to Hooks in React

useState, useEffect, useContext hooks

Rules of Hooks

Custom hooks and when to use them

Introduction to side effects

Fetching data with useEffect

Cleaning up effects

Dependency arrays in useEffect

Introduction to React Context

Creating a Context

Providing and consuming context

When to use Context vs props

Introduction to React performance optimizations

Memoization with React.memo and useMemo

Reducing unnecessary re-renders

Reducing unnecessary re-renders

Introduction to HOCs

Creating and using HOCs

Use cases for HOCs

Setting up Redux in a React application

Actions, Reducers, and Store

Connecting Redux to React components with react-redux

Understanding the Redux flow

Building a React application for production

Hosting React apps on platforms like Netlify, Vercel, or GitHub Pages

Optimizing bundle size and performance for deployment



Module 7 - Material UI

Overview of Material Design principles

What is Material UI

Comparison of MUI with other UI libraries (Bootstrap, Ant Design, etc.)

Installation & setup of Material UI in React applications

Default theme vs. custom themes

Working with createTheme API

Theme customization (colors, typography, spacing)

Palette customization

Dark mode integration

Core Components

Form Components

Feedback Components

Navigation Components

Grid layout system and its breakpoints

Box and Container components

Flexbox utilities in Material UI

Styling components with the sx prop

Using makeStyles and styled API for custom styles

Using Material UI Icons

Customizing Icon appearance

Using third-party icons with MUI

Controlled vs. uncontrolled form components

Validation using yup and formik

Managing form states with Material UI

Breakpoints and media queries

Responsive typography

Responsive grids and containers

Hidden components

Tables

Cards

Lists and ListItem components

Chips, Avatars, and Badges

Overriding component styles

Global style overrides

Advanced theme options

Integrating React Router with Material UI components

Drawer, AppBar, and responsive layouts for navigation

Breadcrumbs for hierarchical navigation

Implementing transitions using MUI’s Grow, Fade, and Slide

Advanced animations using react-spring or framer-motion with MUI

Optimizing Material UI for performance

Using MUI’s CssBaseline for consistent styling across browsers

Reducing bundle size by importing components efficiently



Module 8 - Core Java & Advanced Java

Overview of Java Programming Language

Features of Java (Object-Oriented, Platform-Independent, etc.)

Java Development Kit (JDK) and Java Runtime Environment (JRE)

Java Virtual Machine (JVM)

Installing Java and Setting up Environment (PATH, CLASSPATH)

Structure of a Java Program

Compilation and Execution Process

Data Types, Variables, and Constants

Operators in Java

Conditional Statements

Control Flow Statements

iClasses and Objects

Static Members

Constructors

This Keyword

Inheritance (Single, Multilevel, Hierarchical, Multiple, Hybrid )

super Keyword

Polymorphism (Method Overloading and Method Overriding)

Defining and Importing Packages

Access Modifiers (private, public, protected, default)

Encapsulation

Interface Introduction

Abstraction

Nested and Inner Classes

Final Classes

Introduction to Exception Handling

Try, Catch, Finally Block

Throw and Throws

Built-in Exceptions (Checked and Unchecked)

Custom Exceptions

Creating Threads using Thread Class and Runnable Interface

Thread Lifecycle and States

Synchronization

Inter-thread Communication (wait, notify, notifyAll)

Deadlock

Thread Pooling

Introduction to Collection API

Interfaces (List, Set, Map, Queue)

Classes (ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap, LinkhashMap)

Types of Linked Lists

Iterators (Iterator, ListIterator)

Comparable and Comparator Interfaces

Collection Utility Methods

Immutable Strings and String Pool

String Class and Methods

StringBuffer and StringBuilder

StringTokenizer

Java I/O Streams (Byte Streams and Character Streams)

Reading and Writing to Files

File Input Stream

Buffered Streams

Serialization and Deserialization

File Handling (File, FileWriter, FileReader)



Module 9 - Advanced Java

Introduction to Annotations

Built-in Annotations (@Override, @Deprecated, etc.)

Custom Annotations

Meta-Annotations

Use of Annotations in Frameworks

Lambda Expressions

Functional Interfaces

Stream API

Method References

Optional Class

Default and Static Methods in Interfaces

Stack vs Heap Memory

Garbage Collection in Java

Types of Garbage Collectors

Finalize Method

JVM Memory Architecture

Singleton

Factory design pattern

DAO Pattern

MVC Pattern

Java Reflection API

Dynamic Class Loading

Java Concurrency Utilities (java.util.concurrent Package)

Generics in Java

Java Native Interface (JNI)



Module 10 - SQL

History and evolution of SQL

SQL vs NoSQL

Types of databases (RDBMS, column-based, key-value, etc.)

Database concepts: Tables, Rows, Columns, Relationships

Numeric types (INT, FLOAT, DECIMAL)

Character types (CHAR, VARCHAR, TEXT)

Date and time types (DATE, TIME, TIMESTAMP)

Boolean types

BLOB (Binary Large Object)

PRIMARY KEY constraint

FOREIGN KEY constraint

UNIQUE constraint

CHECK constraint

DEFAULT constraint

NOT NULL constraint

Normalization (1NF, 2NF, 3NF, BCNF)

Denormalization

Primary keys, foreign keys, and unique keys

Indexing

DDL Commands

DML Commands

DQL Commands

TCL Commands

DCL Commands

SELECT statement

FROM and WHERE clause and logical operators (AND, OR, NOT)

ORDER BY clause

LIMIT and OFFSET clauses

GROUP BY Clause

HAVING Clause

DISTINCT keyword

Aggregate functions (COUNT, SUM, AVG, MIN, MAX)

Scalar functions (UPPER, LOWER, LENGTH, ROUND)

Date functions (NOW, CURDATE, DATE_ADD, DATE_SUB)

String Functions

Control Functions

Conversion Functions

INNER JOIN

LEFT JOIN (or LEFT OUTER JOIN)

RIGHT JOIN (or RIGHT OUTER JOIN)

FULL OUTER JOIN

CROSS JOIN

Self joins

Single-row subqueries

Multi-row subqueries

Correlated subqueries

EXISTS and NOT EXISTS clauses

UNION and UNION ALL

INTERSECT

EXCEPT (or MINUS)

ACID properties (Atomicity, Consistency, Isolation, Durability)

COMMIT and ROLLBACK

SAVEPOINT

Transaction isolation levels (READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE)

Purpose of indexes

Types of indexes (single-column, multi-column)

Unique and non-unique indexes

Full-text index

Index performance considerations

Creating views

Updating views

Dropping views

Advantages and limitations of views

Creating stored procedures

IN, OUT, and INOUT parameters

Creating user-defined functions

Differences between stored procedures and functions



Module 10 - Java Database Connectivity (JDBC)

Introduction to JDBC

JDBC Architecture and Driver Types

Connecting to Database

Executing SQL Queries (Create, Read, Update, Delete)

PreparedStatement, CallableStatement

ResultSet and ResultSetMetaData

Handling Transactions



Module 11 - Servlets

Definition and purpose of servlets

Role of servlets in web applications

Servlet vs CGI

Java EE architecture overview

javax.servlet and javax.servlet.http packages

Annotations for servlet deployment (@WebServlet)

Servlet context and servlet config

Directory structure of a servlet-based web application

HTTP request-response model

HTTP methods: GET, POST, PUT, DELETE

Reading data from HttpServletRequest (headers, parameters)

Writing response using HttpServletResponse (content type, status codes)

Importance of session management in web applications

Techniques for session management

Handling session timeout and lifecycle

RequestDispatcher interface

Forwarding requests to other resources (servlets, JSP, static files)

Including response from other resources

Definition and use of filters

Filter lifecycle

Applying filters to requests (doFilter())

Chaining filters

Filter configuration (using web.xml or annotations)

Handling file upload in servlets (MultipartConfig annotation, Part interface)

Processing large file uploadse

Sending files for download (setting content type, handling large files)

Configuring error pages using web.xml

Handling errors programmatically (error codes, exceptions)

Custom error handling based on exceptions and HTTP status codes

Establishing a database connection in servlets

Performing CRUD operations with JDBC in servlets

Best practices for handling database resources (connection pooling)

Introduction to JSP

Uses of JSP

Java Server package Vs Jakarta Server Page

Role of JSP in MVC architecture

Forwarding and including JSPs in servlets

Sharing data between servlets and JSP (request, session, application scopes)



Module 12 - Real Tools and Build Tools

Tomcat Server

Eclipse

GIT/GITHUB

Maven/Gradle

Junit

What is SDLC

Maven/Gradle

Types of phases in SDLC



Module 13 - JAVA Spring Framework & Spring Boot Microservices

Overview of Spring Framework

Core features of Spring (Inversion of Control, Dependency Injection)

Introduction to Spring Modules (Spring Core, Spring Data, Spring MVC, SpringBoot, etc.)

What is Spring Boot?

Spring Boot vs Spring Framework

Advantages of using Spring Boot

Spring Boot architecture and components

Spring Boot CLI and IDE setup

Understanding Spring Boot project structure

Spring Boot starter templates

Dependency management using Maven/Gradle

Application properties and YAML configurations

Auto-configuration mechanism in Spring Boot

Using annotations (@SpringBootApplication, @Component, @Bean)

Customizing Spring Boot auto-configuration

Auto wiring

Overview of Spring Data JPA

Entity relationships (One-to-One, One-to-Many, Many-to-Many)

CRUD operations with Spring Data repositories

Query methods and JPQL (Java Persistence Query Language)

Pagination and sorting

Transaction management with @Transactional

Introduction to Postman Too

Building RESTful web services using Spring Boot

Handling HTTP requests and responses (GET, POST, PUT, DELETE)

RequestBody, ResponseEntity, and PathVariable

Exception handling in Spring Boot (ControllerAdvice, ExceptionHandler)

Validating REST API inputs using annotations

Introduction to Spring Security

Configuring authentication and authorization

Role-based access control (RBAC)

JWT (JSON Web Token) integration with Spring Security

OAuth2 for securing Spring Boot applications

Unit testing with JUnit

Testing Spring Boot applications using Spring Test

Integration testing with Spring Boot

Mocking dependencies with Mockito

Writing test cases for REST controllers and services

Configuring Spring Boot with relational databases (MySQL, PostgreSQL, etc.)

Database initialization and migrations using Flyway/Liquibase

Connecting to NoSQL databases (MongoDB, Cassandra)

Spring Boot with Redis for caching

Introduction to messaging in Spring

Integrating Spring Boot with messaging platforms (RabbitMQ, Kafka)

Asynchronous messaging with Spring Boot

Message converters and listeners

What are microservices?

Monolithic vs Microservices architecture

Benefits and challenges of microservices

Key concepts: API Gateway, Service Discovery, Circuit Breaker, Distributed Configuration

Building microservices using Spring Boot

Communication between microservices (REST, messaging, gRPC)

Service Registration and Discovery with Eureka

Load balancing with Spring Cloud Ribbon

API Gateway with Spring Cloud Gateway or Zuul

Configuring externalized properties with Spring Cloud Config

Synchronous communication with REST

Asynchronous communication with Kafka, RabbitMQ

Circuit Breaker with Spring Cloud Netflix Hystrix/Resilience4j

Distributed tracing with Sleuth and Zipkin

Securing microservices with Spring Security

OAuth2 and JWT-based authentication

Securing API Gateway

Implementing SSO (Single Sign-On) with Spring Boot

Handling databases in microservices (Database per service pattern)

Transaction management in distributed systems

Saga Pattern and Event-Driven Architecture

Data consistency in microservices

Centralized logging using ELK (Elasticsearch, Logstash, Kibana)

Distributed tracing with Spring Cloud Sleuth and Zipkin

Application metrics with Micrometer

Integrating Prometheus and Grafana for monitoring

Introduction to Docker

Introduction to Kubernetes

Containerization with Docker

Orchestrating containers with Kubernetes

Using Helm for managing Kubernetes applications

Cloud deployment with AWS/GCP/Azure

CI/CD pipelines for Spring Boot microservices (Jenkins, GitLab CI, etc.)

Spring Tool Suit (STS)

Intelllj

Eclipse

Tomcat, Jetty, Undertow

H2, HSQL, Derby

POST MAN

4 Months Duration

₹ 8,999