Final Project Requirements (due 4/29 at midnight)
(4/24) Week 15 - OAuth 2 - Resource Owner Password Credentials with Node.js/Express and React
- Resource Owner Password Credentials
- Access Token Response
- Writing Middleware in Express
- JSON Web Token (JWT) Introduction
- auth0/node-jsonwebtoken
- Where to Store your JWTs – Cookies vs HTML5 Web Storage
- Token Based Authentication for Single Page Apps (SPAs)
- React Router
- Starter files for Express API
(4/17) Week 14 - Connecting a Node.js/Koa API to a React Frontend
- React.js
- Create React App
- Codesandbox
- Cross-domain Ajax with Cross-Origin Resource Sharing
- What is CORS?
- koajs/cors
- AJAX and React
- axios
- Environment Variables with create-react-app
- Working with forms in React
(4/10) Week 13 - Async/Await and Koa
(4/3) Week 12 - OAuth 2: Authorization Code with Laravel
- Laravel Socialite
- Which OAuth 2.0 flow should I use?
- Slides
- abraham/twitteroauth package
- What should table structure look like when adding open auth login to User model
- Lab - Socialite
(3/27) Week 11 - OAuth 2: Client Credentials with Node.js/Express
- OAuth 2 - Client Credentials Flow with Twitter
- Slides
- dotenv
- Register a Twitter App
- Twitter API Reference
(3/20) Week 10 - Promises & Object Relational Mapping in Node.js
- Exercise - Promisify setTimeout
- Resource: MDN - Promise
- Resource: Bookshelf.js ORM
- Reading: JavaScript Flow Control (only read sections 1 and 2)
- Lab - Promises and Bookshelf
(3/13) Week 9 - Spring Break
(3/6) Week 8 - Introduction to Node.js
- Installing Node Version Manager (nvm)
- JavaScript Fundamentals
- Defining functions
- Callback functions
- Asynchronous programming
- Node Package Manager (npm)
- Building your first API with Express
- Deploying to Heroku
- Lab - Building API Endpoints with Express
(2/27) Week 7 - Midterm
The midterm will be an in-class practical where you will build a small web app in 2.5 hours based on some requirements I give you using things you learned in the weeks leading up to the exam. You can use previous assignments, notes, and the internet to look things up. You are not allowed to communicate with anyone in or outside of the class by any means. To study, review all assigned readings and your past assignments and labs.
(2/20) Week 6 - Middleware and Authentication
- Many to Many Relationships with Eloquent
- Middleware
- Authentication
- Assignment - Middleware and Authentication (due 2/27)
(2/13) Week 5 - Object Relational Mapping with Eloquent
(2/6) Week 4 - Blade Layouts, Creating Records, Flash Messages, and Data Validation
- Blade layouts
- Redirecting with Flashed Session Data
- Retrieving Old Input
- Data Validation
- CSRF
- Assignment - Laravel 2 (due 2/13)
(1/29) Week 3 - Introduction to MVC and Laravel
(1/22) Week 2 - Object Oriented PHP
- Reading: Chapters 1 and 2 of PHPOOS
- Lab - OOP in PHP (due 1/30)