1. Express
- Introduction to Express
- Setting Up Express Server
- Middleware in Express
- Routing and Route Parameters
- Handling Requests and Responses
- Query Parameters and Body Parsing
- Serving Static Files with Express
- Implementing RESTful APIs
- Templating Engines
- Introduction to Pug and EJS
- Rendering Dynamic HTML with Templating Engines
- Express Middleware
- Creating and Using Custom Middleware
- Error Handling Middleware
- Authentication and Authorization
- Introduction to JWT (JSON Web Tokens)
- Implementing Basic Authentication
- Role-Based Access Control (RBAC)
2. Node.js
- Introduction to Node.js
- Node.js Architecture and Event-Driven Programming
- Installing and Managing Node.js Packages with npm
- Node.js Core Modules (fs, path, http)
- Working with File Systems
- Reading and Writing Files
- Working with Streams and Buffers
- Creating and Deleting Directories
- Building Web Servers
- Creating a Simple HTTP Server with Node.js
- Handling Requests and Sending Responses
- Using Node.js with Express for Web Development
- Asynchronous Programming in Node.js
- Callback Functions and Error-First Callbacks
- Promises and Async/Await in Node.js
- Working with Databases
- Introduction to MongoDB (optional introduction)
- CRUD Operations with MySQL (connecting Node.js to MySQL)
3. MySQL
- Introduction to Databases
- Relational Databases and SQL Basics
- Setting Up MySQL and MySQL Workbench
- Creating and Managing Databases
- Creating Databases and Tables
- Data Types and Constraints (Primary Key, Foreign Key)
- Inserting, Updating, and Deleting Records
- Querying Databases
- Basic SQL Queries: SELECT, WHERE, ORDER BY, GROUP BY
- Joining Tables (INNER JOIN, LEFT JOIN, RIGHT JOIN)
- Aggregate Functions (COUNT, SUM, AVG)
- Advanced SQL Queries
- Subqueries and Nested Queries
- Indexing for Performance Optimization
- Working with Views
- Stored Procedures and Triggers
- Creating and Using Stored Procedures
- Implementing Triggers in MySQL
- Connecting MySQL with Node.js
- Using MySQL with Node.js and Express
- Performing CRUD Operations from Node.js
- Handling MySQL Connections in Node.js