Novandev / WEB-3-Advanced-Web-Patterns

Explore ES6 and Advanced Web Patterns in JavaScript

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Full-Stack-JS-3

Course Overview

We've learned a lot about the web; the common conventions and we've mastered authentication and authorization. Now pretty much you can sort through whatever someone asked for. However, what differentiates hackers and engineers is engineers understand what are going on under the hood of the mere conventions and tools. Engineers can also build their own tools.

In this course we will go explore SQL and relational databases, look at some common advanced web functionality, and then go under the hood in Node.js and npm.

We'll be doing projects in ES5 and ES6 - the newest version of JavaScript that is still being adopted.

For all in class work, you will be using a fork of the pet store starter project called Famous Amos Pet Emporium. You must FORK this project so that the instructor can keep track of all the patterns you have implemented and conduct code reviews quickly and easily. You must implement ALL the patterns in this class. If you miss class or do not complete the implementation in class, please do the work as homework. At the end of the class, you're pet store must be completely full featured.

Competencies & Objectives

  1. Master SQL and Relational ORMs (Sequelize.js)
  2. Master a basic client-side build system - bower
  3. Implemnt jQuery to submit forms through AJAX
  4. Implement a Simple Search & Paginate the results
  5. Upload images to AWS S3 buckets and associate the images with a resource using s3-uploader
  6. Implement websockets for asynchronous bi-directional server-client communication
  7. Edit existing npm modules and develop your own

Lessons

  1. Contractor Project Kick Off
  2. Contractor Project Work Day
  3. Intro to SQL
  4. Famous Amos Kick off & Intro to ORMs - Sequelize.js (Contractor projects due)
  5. Sequelize.js Associations One-to-Many & Many-to-Many
  6. Validation & Server-Side Success & Error Handling
  7. Front End Packages w/ Bower & Client-Side Validation and Success & Error Handling with Validate.js
  8. Simple Search & Pagination | Portfolio Project Kick Off
  9. Upload images to S3
  10. WebSockets
  11. Payment Gateways
  12. Node.js Modules Under the Hood
  13. Project Work & Code Reviews
  14. Project Work & Code Reviews
  15. Presentations

Projects

  1. Consulting web project on team of 2
  2. Famous Amos's Pet Emporium
  3. Portfolio Project - Web 3 Portfolio Project Requirements

Vocabulary & Conventions

  1. Build Systems and Front End Packages - Bower
  2. SQL
  3. ORM
  4. Resource Associations - hasMany, belongsTo, belongsToMany
  5. Streams & Buffers
  6. Node Modules

Best Practices

  1. Agile Planning
  2. Technical Planning
  3. Yagni - Ya' Ain't Gonna Need Its
  4. Agnostic vs. Opinionated Developers
  5. Use the right tool for the job
  6. Advanced Querying
  7. What is slow, what is fast? (network, controller vs. database, client)

Evaluation

In order to pass this course, you must

  1. Have fewer than 2 unexcused absences.
  2. Be able to recall the meaning of all vocabulary and best practices.
  3. Complete 80% of Famous Amos Pet Emporium Challenges.
  4. Complete and turn in the consulting project and ship it.
  5. Complete and turn in a custom project and ship it.
  6. Complete and turn in a project writeup for each project on medium.com.
  7. Receive at least 1 code review from the instructor per project and make suggested improvements.

About

Explore ES6 and Advanced Web Patterns in JavaScript


Languages

Language:PLpgSQL 100.0%