Full Stack Developer PHP Course Syllabus

HTML (Hypertext Markup Language)

HTML Basics
  • What is HTML?
  • HTML Structure (< ! DOCTYPE html >, < html >, < head >, < body >)
  • HTML Tags and Elements
  • Headings
  • Paragraphs and Line Breaks
  • Text Formatting Tags (b, i, u, strong, em, mark, small)
  • Comments in HTML
HTML Text and Media
  • Lists: Ordered (ol), Unordered (ul), Description (dl)
  • Links (a href )
  • Images ()
  • Audio () and Video ()
  • Embedding Content (iframe, embed, object)
HTML Layout
  • Divisions and Spans (div, span)
  • Semantic Tags (header, footer, nav, main, article,section, aside)
  • Block vs Inline Elements
  • HTML Entities (e.g.,  , <, >)
  • Line Breaks and Horizontal Rules (br, hr)
Forms and Input
  • Form Element (form)
  • Input Types (text, password, checkbox, radio, submit, reset, email, date, file, etc.)
  • Labels and Fieldsets
  • Buttons
  • textareas and Select Boxes (textarea, select, option)
  • Form Validation (required, min, max, pattern)
  • Form Attributes (action, method, autocomplete, target)
HTML Tables
  • Table Structure (table, tr, td, th)
  • Table Head, Body, and Foot (thead, tbody, tfoot)
  • Merging Cells (colspan, rowspan)
  • Table Attributes (border, width, etc.)
HTML Attributes and Global Concepts
  • Global Attributes (id, class, title, style, hidden)
  • data-* Attributes
  • Inline vs Internal vs External Styling
  • Meta Tags (meta for SEO, charset, viewport, etc.)

CSS (Cascading Style Sheets)

CSS Basics
  • What is CSS?
  • How CSS works (selectors, properties, values)
  • Ways to apply CSS: Inline, Internal, External
  • CSS Syntax
  • CSS Comments
Basic Styling
  • Text Styling
  • Background Styling
  • Border Styling
  • Margin and Padding
  • Width and Height
  • Box Model Overview
  • Display Property
  • Color Systems :- Color Names, HEX ,RGB, RGBA (with opacity) ,HSL
CSS Selectors
  • Element, Class, ID Selectors
  • Grouping Selectors
  • Universal Selector
  • Descendant, Child, Adjacent, and Sibling Selectors
  • Attribute Selectors
  • Pseudo-classes (:hover, :focus, etc.)
  • Pseudo-elements (::before, ::after, etc.)
Colors and Units
  • Color formats (name, HEX, RGB, HSL)
  • CSS Units (px, em, rem, %, vw, vh).
Text and Fonts
  • Font properties (font-family, font-size, font-weight)
  • Text alignment, decoration, transform, spacing
  • Google Fonts
Box Model
  • Content, Padding, Border, Margin
  • box-sizing property
Borders and Backgrounds
  • border, border-radius
  • background-color, background-image, background-repeat, background-size
Display and Positioning
  • display: block, inline, inline-block, none
  • position: static, relative, absolute, fixed, sticky
  • z-index, top, right, bottom, left
Flexbox (Flexible Box Layout)
  • display: flex
  • Main and cross axis : X and Y axis
  • justify-content, align-items, flex-direction
  • flex-wrap, align-self, flex-grow, flex-shrink
CSS Grid
  • display: grid
  • Rows, Columns
  • Grid areas, gaps
  • grid-template-areas, grid-template-rows/columns
Responsive Design
  • Media Queries
  • Mobile-first design
  • Viewport meta tag
Transitions and Animations
  • transition-property, duration, timing-function, delay
  • Keyframes with @keyframes
  • animation-name, duration, iteration-count
CSS Variables
  • Scope local Variable And Global Variable
Advanced Selectors
  • :nth-child(), :nth-of-type(), :not()
Pseudo-elements & Content Manipulation
  • ::before, ::after
  • content property
Overflow and Scroll
  • overflow, overflow-x, overflow-y
  • Scroll snapping
Borders and Corners
  • CSS Rounded Corners (border-radius)
  • CSS Border Images (border-image-source, border-image-slice, etc.)
CSS Gradients
  • Linear Gradient , Radial Gradient, Conic Gradient
CSS Backgrounds
  • background-color, background-image, background-size, background-repeat, etc.
CSS Shadows
  • CSS Shadows: box-shadow, text-shadow
CSS Text Effects
  • text-transform, letter-spacing, text-decoration, etc
CSS Transforms
  • CSS 2D Transforms (rotate, scale, translate, skew)
  • CSS 3D Transforms (rotateX, rotateY, perspective)
CSS Animations
  • @keyframes, animation-name, animation-duration, etc.
CSS Tooltips
  • Using position, :hover, and ::after or ::before
Image Handling and Styling
  • CSS Image Styling: Borders, rounded corners, shadows
  • CSS Image Centering: text-align: center, margin: auto, flexbox, grid
  • CSS Image Filters: blur(), brightness(), grayscale(), etc.
  • CSS Image Shapes: clip-path, border-radius, mask-image, etc
  • CSS object-fit
  • CSS object-position
  • CSS Masking
UI Components
  • CSS Pagination: Flex/Grid layout for page numbers
  • CSS Multiple Columns: column-count, column-gap, etc.
  • CSS User Interface : cursor, resize, outline, etc.
CSS Box Sizing
  • content-box vs border-box

JavaScript

Basics of JavaScript
  • What is JavaScript?
  • Embedding JavaScript in HTML
  • Console and Output (alert, console.log, document.write)
  • Variables (var, let, const)
  • Data Types (String, Number, Boolean, Null, Undefined, Symbol)
  • Operators (Arithmetic, Assignment, Comparison, Logical)
  • Comments
  • Control Structures: if...else, else... if ,switch,Ternary operator
Loops
  • for, while, do...while
  • for...in, for...of, for...each
Functions and Scope
  • Function Declaration & Expression
  • Parameters and Return Values
  • Arrow Functions
  • Scope (Global, Function, Block)
  • Hoisting
  • Closures
Arrays and Objects
  • Arrays: Methods (push, pop, shift, unshift, splice, slice, map, filter, reduce, etc.)
  • Objects: Properties & Methods
  • Object Destructuring
  • Spread and Rest Operators
  • JSON: Parse and Stringify
DOM Manipulation
  • Selecting Elements (getElementById, querySelector)
  • Changing Content and Styles
  • Adding and Removing Elements
  • Events and Event Listeners
  • Event Delegation
  • Form Validation

jQuery

Introduction to jQuery
  • What is jQuery?
  • Why use jQuery?
  • jQuery CDN vs Local file
  • jQuery Syntax Overview ($(selector).action())
Selectors
  • Basic selectors (*, #id, .class, element)
  • Hierarchy selectors (div p, ul > li)
  • Attribute selectors (input[type="text"])
  • Filter selectors (:first, :last, :eq(), :odd, :even)
Events
  • click(), dblclick()
  • hover(), mouseenter(), mouseleave()
  • focus(), blur()
  • keydown(), keyup(), keypress()
  • submit(), change(), resize(), scroll()
  • on() method (recommended for dynamic elements)
Effects and Animations
  • show(), hide(), toggle()
  • fadeIn(), fadeOut(), fadeToggle()
  • slideDown(), slideUp(), slideToggle()
  • animate() method (custom animations)
  • stop() method
DOM Manipulation
  • html(), text(), val()
  • attr(), prop()
  • addClass(), removeClass(), toggleClass(), hasClass()
  • css() – Get/Set CSS styles
  • append(), prepend(), after(), before()
  • remove(), empty()
Traversing
  • parent(), parents(), children()
  • next(), prev(), siblings()
  • find(), filter(), eq(), first(), last(), not()
Form Handling
  • Getting/setting input values
  • Validating form fields using jQuery
  • Showing validation error messages dynamically
  • Disabling/enabling buttons and inputs
jQuery Plugins
  • What are jQuery plugins?
  • How to include and use a plugin
  • Examples: Datepicker, Lightbox, Slick slider
jQuery AJAX
  • $.ajax()
  • $.get(), $.post()
  • Loading external data without page refresh
  • Handling JSON data
  • Success and error callbacks
jQuery JSON Handling
  • Parse and stringify JSON
  • Display JSON data in HTML
  • Using jQuery with APIs
Event Delegation
  • Difference between on() and direct binding
  • Handling dynamically created elements
jQuery and HTML5 Data Attributes
  • Using data-* attributes with .data()
jQuery Deferred and Promises
  • What is a deferred object?
  • Chaining asynchronous actions
Performance Optimization
  • Minimize DOM access
  • Cache selectors
  • Use .on() instead of repeated bindings
  • Unbind unused events
Error Handling
  • try...catch with jQuery
  • Handling AJAX errors gracefully
Optional Tools & Integration
  • Using jQuery with Bootstrap (Modals, Dropdowns)
  • Integrating jQuery with backend (PHP, CodeIgniter, Laravel, etc.)
  • jQuery vs JavaScript: When to use what

Bootstrap

Bootstrap Basics
  • What is Bootstrap?
  • File Structure and Bootstrap Workflow
  • Bootstrap Containers (.container, .container-fluid)
Setting Up Bootstrap
  • CDN Method
  • Local Installation
  • Using with Package Managers (NPM/Yarn)
Grid System
  • Rows and Columns
  • Breakpoints (xs, sm, md, lg, xl, xxl)
  • Responsive Columns and Nesting
  • Offset and Order Classes
Typography and Utilities
  • Headings, Paragraphs, and Display Text
  • Text Alignment and Transformation
  • Lists and Inline Text Elements
  • Borders and Shadows
Utility Classes
  • Spacing (margin, padding)
  • Colors (text, background
  • Sizing and Visibility
  • Display Utilities (d-flex, d-none, etc.)
Bootstrap Components
  • Buttons , Cards, Alerts, Badges
  • Breadcrumbs, Pagination, Progress Bars, List Groups
  • Jumbotron (Deprecated in v5) ,Toasts, Accordions ,Collapse
  • Carousel (Image Slider) ,Modals , Popovers and Tooltips , Spinners
Forms and Inputs
  • Form Controls (text, checkbox, radio, select, file)
  • Floating Labels
  • Input Groups (add-ons, prepend/append)
  • Validation States
  • Form Layouts (inline, horizontal, grid-based)
Navigation and Layout
  • Navbar (responsive menus, dropdowns, toggler)
  • Navs and Tabs
  • Sidebar (custom)
  • Scrollspy
  • Vertical and Horizontal Alignments
  • Media Object
Responsive Design & Advanced Grid
  • Responsive Utilities
  • Responsive Images (.img-fluid)
  • Flexbox Utilities (d-flex, justify-content, align-items)
  • Grid Customization
  • Gutters and No-Gutters
  • Position Utilities (relative, absolute, fixed, etc.)
Advanced Bootstrap
  • Theming with Sass Variables (Bootstrap 5+)
  • Customizing Bootstrap (override default styles)
  • Bootstrap Icons
  • Using JavaScript Plugins (without jQuery in Bootstrap 5)
  • Bootstrap with jQuery (for legacy versions)
  • Accessibility (ARIA roles, focus management)
  • Integrating Bootstrap with other frameworks (React, Laravel, etc.)

React JS

React Basics
  • What is React?
  • Setting Up a React Project: Using Create React App (CRA), Using Vite
  • JSX (JavaScript XML)
  • Functional vs Class Components
  • Rendering Elements
  • Props (Properties)
  • State (useState Hook)
  • Event Handling
  • Conditional Rendering
  • Lists and Keys
  • Inline Styling and CSS in React
React Component Patterns
  • Component Composition
  • Container vs Presentational Components
  • Reusable Components
  • Prop Drilling
  • Controlled vs Uncontrolled Components
  • Forms and Input Handling
  • Fragments (<>)
Routing and Navigation
  • React Router (v6+): Route Parameters, Nested Routes, Redirects and Navigation, useNavigate, useParams, useLocation
Hooks (Functional Components)
  • UseState , UseEffect
  • UseRef , UseContext
  • useReducer, useCallback
  • useMemo , Custom Hooks
Advanced Concepts
  • Context API (Global State Management)
  • Higher-Order Components (HOC)
  • Error Boundaries
  • Refs and DOM Manipulation
  • Portals
  • Lazy Loading and Suspense
  • Code Splitting
State Management
  • Lifting State Up
  • State Management with Context
  • Redux (Toolkit): 1 Store, Actions, Reducers , 2 Middleware (Thunk) ,3 useSelector & useDispatch
  • Zustand or Recoil (optional alternatives)
  • API Error Handling
API Integration
  • Fetching Data with fetch or axios
  • useEffect for API Calls
  • Loading and Error States
  • Pagination and Infinite Scroll
Performance & Optimization
  • useMemo vs useCallback
  • Memoization
  • Debouncing and Throttling
  • Profiler API
  • Lazy and Suspense for Performance
Testing in React
  • Introduction to Testing
  • Testing with React Testing Library
  • Unit Testing Components
  • Snapshot Testing
  • Mocking API Calls
React Ecosystem & Tooling
  • React Developer Tools
  • ESLint & Prettier in React
  • Component Libraries (MUI, Ant Design, Tailwind UI)
  • Animation Libraries (Framer Motion, React Spring)
  • Internationalization (i18n)
Deployment & Build
  • Building for Production
  • Hosting on Netlify, Vercel, GitHub Pages
  • Environment Variables
  • Continuous Deployment with GitHub Actions

Redux

Redux Fundamentals
  • What is Redux and Why Use It?
  • Core Principles of Redux : Single Source of Truth, State is Read-Only , Pure Functions
  • Redux vs Context API
  • Redux Architecture (Store, Actions, Reducers)
Basic Redux Setup
  • Installing Redux and React-Redux
  • Creating a Redux Store
  • Actions and Action Creators
  • Reducers (Pure Functions)
  • Using Redux DevTools
Modern Redux with Redux Toolkit
  • Introduction to Redux Toolkit (RTK)
  • configureStore()
  • createSlice() - Reducers + Actions
  • Using useSelector() and useDispatch()
  • Redux Toolkit Best Practices
Async Actions and Middleware
  • What is Middleware?
  • Using Redux Thunk for Async Logic
  • Writing Async Thunks with createAsyncThunk
  • Loading and Error States
Advanced Redux Patterns
  • Normalizing State Shape
  • Memoization and Reselect
  • Combining Multiple Reducers
  • Middleware Customization
  • Redux Logger Middleware
  • Debugging Redux with Tools and Logs
Testing Redux
  • Testing Reducers
  • Testing Action Creators
  • Testing Async Thunks
  • Testing React Components with Redux State
Redux Toolkit Query (RTK Query)
  • What is RTK Query?
  • API Slice with createApi()
  • Fetching and Mutating Data
  • Automatic Caching and Re-fetching
  • RTK Query with Authentication Headers
  • Error Handling and Loading States in RTK Query

PHP

PHP Basics
  • What is PHP?
  • PHP Installation (XAMPP, LAMP, WAMP)
  • PHP Syntax and Tags ()
  • Echo vs Print
  • Comments in PHP
  • Variables and Constants
  • Data Types (String, Integer, Float, Boolean, Array, Object, NULL)
  • Operators (Arithmetic, Assignment, Comparison, Logical)
  • PHP Strings and String Functions
  • Type Casting and Type Juggling
Control Structures
  • if,...else, else...if
  • Nested if...else
  • switch case
  • Break and Continue
Loops
  • for, while, do...while
  • foreach (for arrays)
Functions
  • Defining and Calling Functions
  • Function Parameters and Return Values
  • Default Arguments
  • Variable Scope (Global, Local, Static)
  • Built-in Functions
  • Recursive Functions
  • Anonymous and Arrow Functions
Arrays
  • Indexed Arrays
  • Associative Arrays
  • Multidimensional Arrays
  • Array Functions (array_push, array_merge, array_map, etc.)
  • Looping through Arrays
Forms and User Input
  • HTML Form Handling with PHP
  • $_GET vs $_POST
  • $_REQUEST, $_SERVER, $_FILES
  • Form Validation (Required, Sanitization)
  • File Uploads
Working with Files
  • Reading and Writing Files
  • fopen(), fread(), fwrite(), fclose()
  • file_exists, filesize, unlink
PHP and MySQL (Database)
  • Connecting to MySQL with mysqli and PDO
  • Creating and Managing Databases and Tables
  • Insert, Update, Delete, and Select Queries
  • Prepared Statements (to prevent SQL Injection)
  • Fetching Data (fetch_assoc, fetch_object)
  • Search and Pagination
  • Error Handling in Queries

Advance PHP

Object-Oriented PHP
  • Classes and Objects
  • Properties and Methods
  • Constructors and Destructors
  • Inheritance
  • Access Modifiers (public, private, protected)
  • Static Properties and Methods
  • Interfaces and Abstract Classes
  • Traits
  • Namespaces
  • Type Hinting and Return Types
  • Magic Methods (__construct, __get, __set, __toString, etc.)
Advanced PHP function and Expretions
  • Sessions and Cookies
  • Date and Time
  • Error and Exception Handling (try...catch)
  • Regular Expressions
  • Sending Emails with mail()
  • PHP Filters and Validation
  • PHP JSON Encoding/Decoding
  • CURL Requests
Security
  • SQL Injection Prevention
  • Cross-Site Scripting (XSS) Protection
  • Cross-Site Request Forgery (CSRF) Tokens
  • Password Hashing and Verification (password_hash, password_verify)
  • Input Sanitization and Escaping
PHP Frameworks and Tools (Intro)
  • Composer (Dependency Manager)
  • Autoloading
  • 67. MVC Architecture
  • Introduction to Laravel, CodeIgniter, Symfony

MySQL

MySQL Basics
  • What is MySQL?
  • Installing MySQL (XAMPP, WAMP, standalone)
  • MySQL Workbench / phpMyAdmin
  • Database vs Table
  • SQL Syntax and Statement Types
  • Data Types (INT, VARCHAR, TEXT, DATE, FLOAT, etc.)
  • Creating and Dropping Databases
  • Creating, Altering, and Dropping Tables
CRUD Operations
  • SELECT – Retrieving Data
  • INSERT – Adding Records
  • UPDATE – Modifying Records
  • DELETE – Removing Records
  • WHERE Clause
  • ORDER BY, LIMIT
  • DISTINCT
  • BETWEEN, IN, LIKE, IS NULL
Relationships
  • Primary Key
  • Foreign Key
Types of Joins
  • INNER JOIN
  • LEFT JOIN
  • RIGHT JOIN
  • FULL OUTER JOIN (with workaround)
  • Self Join
  • Cross Join
Functions and Expressions
  • Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)
  • String Functions (CONCAT, LENGTH, UPPER, LOWER)
  • Date and Time Functions (NOW, CURDATE, DATEDIFF)
  • Numeric Functions (ROUND, CEIL, FLOOR)
Grouping and Filtering
  • GROUP BY Clause
  • HAVING Clause
  • Subqueries (Single-row and Multi-row)
  • Nested Queries
Data Management
  • Importing and Exporting Data (CSV, SQL)
  • Backup and Restore
  • AUTO_INCREMENT
  • DEFAULT Values
  • ENUM and SET Data Types
  • Temporary Tables
Indexes and Performance
  • Indexes (Single and Composite)
  • EXPLAIN Keyword (Query Optimization)
  • Views – Creating and Using
  • Triggers
  • Stored Procedures and Functions
  • Events and Schedulers
Security and Access Control
  • MySQL User Management
  • Creating Users
  • Granting and Revoking Privileges
  • Role-Based Access Control (RBAC)
  • SQL Injection and Prevention
Advanced SQL Concepts
  • Transactions (START TRANSACTION, COMMIT, ROLLBACK)
  • ACID Properties
  • LOCKs (Explicit and Implicit)
  • Normalization (1NF, 2NF, 3NF, BCNF)
  • Denormalization
  • Cursors
  • Partitioning Tables
  • Foreign Key Constraints with ON DELETE / ON UPDATE

Object Oriented Programming

OOP Basics
  • What is Object-Oriented Programming?
  • Procedural vs OOP Approach
  • Classes and Objects
  • Attributes (Properties/Fields)
  • Methods (Functions inside classes)
  • Object Instantiation
  • __init__ / Constructors
  • self / this Keyword
Core Principles of OOP (Pillars)
  • Encapsulation
  • Abstraction
  • Inheritance
  • Polymorphism
Advanced Class Concepts
  • Class vs Object vs Instance
  • Class Variables vs Instance Variables
  • Static Methods and Variables
  • final / sealed Classes and Methods
  • Abstract vs Interface vs Concrete Classes
  • Inner/ Nested Classes
  • Anonymous Classes
  • Destructors / __del__ (language-dependent)
OOP Patterns and Architectures
  • Composition vs Inheritance
  • Dependency Injection
  • Association, Aggregation, Composition
  • UML Class Diagrams
  • Object Lifecycle and Garbage Collection
Language-Specific OOP Features
  • Python OOP (dunder methods, metaclasses)
  • Java OOP (interfaces, abstract classes, access modifiers)
  • C++ OOP (virtual functions, friend classes, pointers to objects)
  • PHP OOP (traits, namespaces, late static binding)
  • JavaScript OOP (prototypes, ES6 classes)

PHP - Codeigniter

CodeIgniter Basics
  • Introduction to CodeIgniter
  • Installation and Setup (Localhost with XAMPP/WAMP)
  • Folder Structure Overview
  • Configuration : Base URL, Autoload settings, Config files
  • MVC (Model-View-Controller) Pattern Explained
  • Working with Controllers
  • Creating and Loading Views
  • Using Models for Database Interaction
  • URL Routing (routes.php)
  • Removing index.php using .htaccess
Working with Forms
  • Form Creation and Submission
  • Form Validation (form_validation library)
  • Input Handling ($this->input)
  • CSRF Protection
  • File Uploads (images, documents)
  • File Validation (type, size)
Database Operations (CRUD)
  • Loading the Database
  • Active Record (Query Builder)
  • Create (Insert), Read (Select) , Update , Delete
  • Joins (Left, Right, Inner)
  • Where, Like, Order By, Limit
  • Search Functionality
  • Pagination (pagination library)
Session and Cookies
  • Loading Session Library
  • Storing and Retrieving Session Data
  • Flash Data
  • Setting and Getting Cookies
User Authentication System
  • User Registration and Login
  • Password Hashing (password_hash)
  • Session-based Login
  • Logout and Redirect
  • Access Restriction (Middleware-like filters)
Working with Helpers and Libraries
  • URL, Form, File, HTML, Text Helpers
  • Email Library (send emails via SMTP/Gmail)
  • Upload Library
  • Pagination Library
  • Custom Helpers and Libraries
  • Consuming External APIs
Advanced Topics
  • Template Integration (Header/Footer/Layout)
  • Ajax with jQuery and CodeIgniter
  • RESTful API Creation
  • JSON Responses
  • DataTables Integration
  • Third-party Library Integration
Testing and Debugging
  • Debug Toolbar
  • Logging and Error Handling
  • Writing Unit Tests
  • Using PHP Unit with CodeIgniter
RESTful API Development
  • Introduction to REST API
  • Creating API Controllers
  • Working with API Routes
  • JSON Responses
  • API Authentication (API Tokens/JWT)
  • Rate Limiting & Security

PHP - Laravel

Laravel Basics
  • What is Laravel and Why Use It?
  • Installing Laravel (Composer, Laravel Installer)
  • Directory Structure Overview
  • Serving with Artisan (php artisan serve)
  • Configuration (Environment .env file)
  • Routing (Web.php and API.php)
  • Basic Controllers and Closures
Blade Templating
  • Blade Syntax ({{ }}, @if, @foreach)
  • Layouts and Template Inheritance (@yield, @section)
  • Components and Slots
  • Blade Includes and Partials
  • Displaying Data Securely (HTML escaping)
MVC (Model-View-Controller)
  • Creating Controllers (php artisan make:controller)
  • Views with Blade
  • Creating Models and Migrations
  • Resource Controllers
  • Route Model Binding
Form Handling and Validation
  • Forms with Blade
  • Request Lifecycle
  • Form Validation (Manual and Form Request Classes)
  • Displaying Validation Errors
  • Old Input and Flashing Data
Database and Eloquent ORM
  • Database Configuration
  • Running Migrations
  • Creating and Modifying Tables
  • Eloquent Models and Relationships
  • CRUD Operations with Eloquent
  • Query Builder vs Eloquent
  • One-to-One, One-to-Many, Many-to-Many Relationships
  • Accessors & Mutators
  • Eloquent Events (creating, updating, deleting)
Authentication and Authorization
  • Laravel Breeze, Jetstream, Fortify, or UI
  • Registration and Login
  • Middleware (auth, guest)
  • User Roles and Permissions (Gates, Policies, Spatie Permission Package)
  • Password Reset
Advanced Routing and Middleware
  • Route Groups and Prefixing
  • Named Routes
  • Middleware Groups
  • Custom Middleware
  • CSRF Protection
  • JSON Responses and API Resources
API Development (RESTful)
  • API Routes and Controllers
  • API Authentication (Laravel Passport / Sanctum)
  • Versioning APIs
  • Rate Limiting and Throttling
Advanced Eloquent and DB Operations
  • Pagination
  • Soft Deletes and Timestamps
  • Eager Loading and Lazy Loading
  • Complex Queries and Joins
  • Transactions
  • Raw SQL Queries
File Handling and Storage
  • File Uploads
  • File Validation and Storage
  • Laravel Filesystem (local, s3, public)
  • Downloading Files
Email and Notifications
  • Sending Emails (Mail Facade)
  • Markdown Mailable Templates
  • Notifications (Mail, SMS, Slack, Database)
  • Queued Mail Jobs
Frontend Integration
  • Using Bootstrap / Tailwind CSS
  • Livewire and Alpine.js
  • Inertia.js with Vue/React
  • AJAX and Axios with Laravel
Testing
  • Feature and Unit Testing
  • HTTP Tests
  • Database Testing (in-memory, refreshDatabase)
  • Mocking and Fakes
Artisan and Tinker
  • Artisan Commands
  • Creating Custom Artisan Commands
  • Using Tinker for Testing
Error Handling and Logging
  • Custom Error Pages
  • Try-Catch and Exception Handling
  • Logging with Monolog
Security in Laravel
  • CSRF Protection
  • XSS Protection
  • SQL Injection Prevention
  • Hashing Passwords
  • Email Verification
  • Encryption and Decryption
Advanced Topics
  • Jobs and Queues (Redis, Database, Beanstalkd)
  • Events and Listeners
  • Broadcasting with Pusher and WebSockets
  • Localization and Translations
  • Laravel Macros
  • Laravel Collections Deep Dive
Deployment and Optimization
  • Configuration Caching
  • Route and View Caching
  • Queue Workers and Supervisors
  • Deploying Laravel (Shared Hosting, VPS, Laravel Forge)
  • Laravel Envoy (Task Automation)

Postman Tool

Introduction to Postman
  • What is Postman & why it’s used
  • Postman installation (Desktop & Web version)
  • Understanding APIs & HTTP methods (GET, POST, PUT, DELETE, PATCH)
  • Postman interface overview
Sending Requests
  • Creating a new request
  • Adding request URL & parameters
  • Setting request headers
  • Sending query parameters (?key=value)
  • Sending form data (form-data, x-www-form-urlencoded)
  • Sending raw JSON/XML requests
Working with Responses
  • Understanding status codes (200, 201, 400, 401, 403, 404, 500)
  • Viewing response body (Pretty, Raw, Preview modes)
  • Inspecting headers & cookies
  • Downloading API response data
Collections & Environment
  • Creating collections to group requests
  • Duplicating & organizing requests
  • Creating environments (dev, staging, production)
  • Using environment variables
  • Using global variables
  • Pre-request & test scripts for variables
Authorization & Authentication
  • No Auth, Basic Auth, Bearer Token
  • API Key authentication
  • OAuth 1.0 & OAuth 2.0 authentication
  • JWT token authentication in Postman
Pre-request Scripts
  • Introduction to scripts in Postman
  • Setting variables dynamically before requests
  • Generating timestamps, random values, UUIDs
  • Using JavaScript in pre-request scripts
Test Scripts & Assertions
  • Writing basic tests (pm.test)
  • Validating status codes, response time, and body values
  • Using Chai assertion library in Postman tests
  • Checking response headers
  • Conditional tests (if/else logic)
  • Running multiple requests in sequence
Postman Runner & Automation
  • Using Collection Runner
  • Using data files (CSV, JSON) for data-driven testing
  • Iterations with different inputs
Mock Servers
  • Creating mock servers in Postman
  • Using mock server responses for testing
  • Simulating API responses without backend
Monitoring & Scheduling
  • Setting up monitors to run collections on schedule
  • Getting automated reports via email
API Documentation
  • Auto-generating documentation from Postman collections
  • Sharing API docs with team/public
  • Publishing documentation online
Collaboration & Team Work
  • Sharing collections & environments with team
  • Using Postman workspaces (Personal, Team, Public)
  • Version control with Postman
Advanced Postman Usage
  • Scripting with dynamic variables ({{$timestamp}}, {{$guid}})
  • Using Newman (Postman CLI) for automation
  • Integrating Postman with CI/CD pipelines (Jenkins, GitHub Actions)
  • Importing Swagger/OpenAPI specs into Postman
  • Using Postman with GraphQL APIs

JSON Web Tokens (JWT)

Introduction to JWT
  • What is JWT and why it’s used
  • Real-life use cases of JWT (e.g., authentication, API security)
  • Difference between JWT and traditional session-based authentication
  • Advantages & disadvantages of JWT
JWT Structure
  • Header (alg & typ)
  • Payload (claims)
  • Signature (how it’s created)
  • Understanding JWT format (xxxxx.yyyyy.zzzzz)
How JWT Works
  • Token creation process
  • Token sending in HTTP headers
  • Token verification process
  • JWT flow in authentication
JWT Algorithms
  • HMAC (HS256, HS384, HS512)
  • RSA (RS256, RS384, RS512)
  • ECDSA (ES256, ES384, ES512)
  • Symmetric vs Asymmetric signing
Creating JWT
  • Libraries for different languages PHP: firebase/php-jwt, JavaScript: jsonwebtoken, Python: PyJWT, Java: jjwt
  • Encoding & decoding tokens
Using JWT for Authentication
  • Login process with JWT
  • Storing JWT (localStorage, sessionStorage, cookies)
  • Sending JWT in Authorization: Bearer header
  • Protecting API routes with JWT middleware
Refresh Tokens
  • Why access tokens should be short-lived
  • Refresh token mechanism
  • Secure storage of refresh tokens
  • Rotating refresh tokens
Security Best Practices
  • Using HTTPS
  • Keeping the secret key safe
  • Token expiration (exp) and validation
  • Preventing JWT replay attacks
  • Avoid storing sensitive data in the payload (since it’s not encrypted)
  • Blacklisting tokens after logout
Advanced JWT Topics
  • Stateless authentication at scale
  • Using JWT with OAuth 2.0
  • Multi-device login handling with JWT
  • JWT with Role-Based Access Control (RBAC)
  • Revoking JWTs
  • Using JWK (JSON Web Key) and JWKS endpoint
JWT Debugging & Testing
  • Using jwt.io for decoding and debugging
  • Common JWT errors and fixes
  • Testing JWT-protected APIs with Postman

Docker Hub

Introduction to Docker Hub
  • What is Docker Hub
  • Difference between Docker & Docker Hub
  • Public vs Private repositories
  • Docker Hub vs other container registries (GitHub Container Registry, AWS ECR, GCP Artifact Registry)
Setting up Docker Hub
  • Creating a Docker Hub account
  • Understanding Docker Hub dashboard
  • Linking Docker Hub with Docker CLI (docker login)
Docker Hub Repositories
  • Public repositories (free access)
  • Private repositories (restricted access)
  • Creating a new repository
  • Repository naming conventions (username/repo-name)
Working with Docker Images
  • Understanding Docker images & tags
  • Pulling images from Docker Hub (docker pull)
  • Pushing images to Docker Hub (docker push)
  • Tagging images (docker tag)
  • Updating images in Docker Hub
Searching & Using Images
  • Searching for images on Docker Hub (docker search)
  • Official vs community images
  • Checking image details, tags & pull count
  • Reading image documentation
Image Versioning
  • Using latest tag (:latest) vs version tags (:1.0, :1.1)
  • Best practices for tagging images
  • Maintaining multiple versions of the same image
Automated Builds
  • Connecting Docker Hub with GitHub/GitLab
  • Setting up automated builds from source code
  • Build triggers on commit
  • Using build hooks
Organizations & Teams
  • Creating an organization in Docker Hub
  • Adding team members & setting permissions
  • Managing access control for repositories
Docker Hub Webhooks
  • Setting up webhooks for automation
  • Triggering CI/CD pipelines after image push
  • Real-time deployment updates
Security in Docker Hub
  • Understanding image vulnerabilities
  • Using Docker Hub’s image scanning
  • Removing sensitive data from images
  • Limiting public exposure of private images
Rate Limits & Usage
  • Docker Hub pull rate limits (free vs pro plans)
  • Checking your rate limit status
  • Optimizing image pulls to avoid limits
Best Practices
  • Using .dockerignore to reduce image size
  • Keeping images small & efficient
  • Cleaning up unused images & tags
  • Proper image naming & tagging strategy
Advanced Topics
  • Multi-architecture images (ARM, x86)
  • Using Docker Content Trust (DCT) for signing images
  • Replicating images to other registries
  • Caching strategies for faster builds

Git & Git Hub

Introduction to Version Control
  • What is Version Control?
  • Benefits of Git over other VCS (e.g., SVN)
  • Centralized vs Distributed VCS
  • Git vs GitHub (and GitLab, Bitbucket)
Installing & Git Basics
  • Configuring Git
  • Initializing a repo: git init
  • Checking status: git status
  • Adding files: git add
  • Committing changes: git commit -m
  • Viewing commit history: git log
  • Ignoring files with .gitignore
Working with GitHub
  • Creating a GitHub account
  • Creating a repository on GitHub
  • Connecting local repo to GitHub
  • Cloning a repository: git clone
  • Pulling updates: git pull
Branching and Merging
  • What are branches?
  • Creating branches: git branch feature-x
  • Switching branches: git checkout
  • Creating & switching: git checkout -b feature-x
  • Merging branches: git merge
  • Resolving merge conflicts
Git Workflow Models
  • git checkout vs git restore
  • git reset (soft, mixed, hard)
  • git revert
  • Viewing diffs: git diff
Undoing Changes
  • Forking repositories
  • Pull requests (PRs)
  • Reviewing PRs
  • Merging PRs
Collaborating on GitHub
  • Using Issues and Discussions
  • Assigning reviewers and labels
Working with Remotes
  • Listing remotes: git remote -v
  • Adding/removing remotes
  • Pushing to multiple remotes
  • Tracking branches
Tags and Releases
  • Creating tags: git tag v1.0
  • Annotated vs lightweight tags
  • Pushing tags to GitHub: git push origin v1.0
  • GitHub Releases tab
Git Tools and Advanced Features
GUI Tools & Integrations
Get verified and unlimited jobs in your email everyday. Visit JobsEager to apply.