SICT

WEB322

Web Programming Tools and Frameworks

Schedule Notes Graded Work Resources Heroku Guide MyApps Instructions Code examples

Notes

Here, you will find the links to the weekly notes.


Week Theme
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 & Function Constructors
    • Error handling with try / catch / finally & throw
    • Prototypal Inheritance
  • Advanced JavaScript / ES6 Features:
    • Promises
    • “var” vs “let” vs “const”
    • “class” keyword
    • “this” keyword & 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
    • body-parser module (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
      • if, unless, each
    • 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
  • Tools – Robo 3T (Robomongo)
  • 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
    • Fetch API Introduction
  • 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
Course Review:

  • Course Review
  • Help with any outstanding Projects