1 - Notes |
Course Introduction:
- Development Environment / Technology / Tools
- Web Servers & HTTP Request / Response Paradigm
- HTTP Protocol Overview
- Verbs
- Status Codes
- Headers
- Request / Response Formats
|
2 - Notes |
Node.js Introduction:
- What is Node.js / Why use it?
- Modules explained
- NPM – Node Package Manager
- Package.json Explained
- Building a simple web server using Node.js with Express.js
- Files / Directory Structure
- Downloading dependencies (Express.js) with NPM
- Coding a simple server using Express
- Sending Data back from a “get” request
|
3 - Notes |
JavaScript Concept Review:
- Object Oriented JavaScript Review:
- Custom Objects using Object Literal Notation & Classes
- Advanced JavaScript / ES6 Features:
- “var” vs “let” vs “const”
- Error handling with try / catch / finally & throw
- Promises
- Arrow functions (lexical “this”)
|
4 - Notes |
Express.js Introduction:
- What is Express.js?
- Configuration & Settings
- Routing
- Middleware
- Error Handling
- Chrome Dev tools – Network tab, Response data
|
5 - Notes |
Processing Forms with Express.js:
- HTML Forms Review
- Processing Forms in Express.js
- HTTP Post & Urlencoded data
- Content-Type in POST header & enctype in HTML forms
- Handling urlencoded form data
- Multer module (multipart form data – file uploads)
|
6 - Notes |
Template Engines – Handlebars.js:
- Template Engines in Express.js
- What is a Template Engine / Why do we need one
- Handlebars.js
- Including the express-handlebars module
- Getting Started with Handlebars.js & Samples
- Block Expressions / Helpers
- Built-In Helpers
- Partials
|
7 - Notes |
Relational Database:
- Setting up a “Postgres” Database
- Downloading the “sequelize” & “pg” modules
- Object-Relational Mapping Explained & Requesting Data
- Returning & Formatting data using Handlebars.js
|
8 - Notes |
MongoDB:
- What is a NoSQL Database? Advances / Disadvantages
- Configuring a NoSQL Database (MongoDB)
- Downloading / installing MongoDB Driver (module) for Node
- Queries
- MongoDB Atlas
- Mongoose.js
- Schema, indexes
|
9 - Notes |
AJAX Review / Practical AJAX Programming:
- Review: What is AJAX? Why do we need it?
- Requesting data (JSON) on the Client Side using JavaScript
- Processing AJAX Requests on the server and returning data
- RESTful API Introduction
|
10 - Notes |
Managing State Information:
- Cookies
- Sessions
- Authorization vs. Authentication
|
11 - Notes |
Introduction to jQuery & Bootstrap Frameworks:
- jQuery Introduction
- Selectors, event handlers, AJAX
- Introduction to the Bootstrap UI Framework
- Responsive Layouts, HTML / CSS & jQuery Components
|
12 - Notes |
Security Considerations:
- HTTPS
- Letsencypt.org, free https certificates forever
- Password Encryption, bcrypt.js
|