/BEW-2.1-Advanced-Web-Patterns

👩‍💻Be able to build anything by learning the commonest advanced patterns for web development like search, file uploading, and sending emails and texts. We will also look at advanced JS topics like async/await and projects like TypeScript.

BEW 2.1 - Advanced Web Patterns in Node.js

Course Description

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, there are a few extra features that are quite conventional that you have not gained mastery over yet. Those tricky features can stymie a novice engineer who doesn't know what tools and patterns they have available to them. For example, simple and full text search, uploading files and images, sending emails

For all in class work, you will be using a clone of the pet store starter project called Proud Pete's Pet Emporium. 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.

Course Specifics

Weeks to Completion: 7
Total Seat Hours: 37.5 hours
Total Out-of-Class Hours: 75 hours
Total Hours: 112.5 hours
Units: 3 units
Delivery Method: Residential
Class Sessions: 14 classes, 7 labs Prerequisites: BEW 1.2

Learning Outcomes

Participants by the end of the course will be able to ...

  1. Implement navigation and discoverability best practices for the web
  2. Create asynchronous bi-directional server-client communication
  3. Integrate an object storage service to store external resources
  4. Build out advanced features - such as payment transactions and automatic emails - using APIs

Lessons

  1. Pete's Proud Pet Emporium & Kick Off
  2. Simple Search & Pagination
  3. Async/Await
  4. Upload images to S3
  5. Payment Gateways
  6. Sending Emails
  7. Intro to WebSockets - Websocket's Project Kickoff
  8. Blog Post Writing Day
  9. TypeScript & Flow - Strict Typing in JS
  10. Node Modules
  11. Need for Speed - Strategies to Make Servers Fast I |
  12. Need for Speed - Strategies to Make Servers Fast II
  13. Lab Day
  14. Final Class (presentations, etc)

Tutorials & Projects

  1. Proud Pete's Pet Emporium - Due end of week 2
  2. Make Chat - Due end of week 3
  3. Contractor/Custom Project - Due end of week 6
    • (you can also add these features to an old project)
    • Written in JavaScript using Node.js, Express.js, and MongoDB
    • Include at least 3 of the following features:
      • Simple Search or Full Stack Search
      • Pagination
      • Uploading Files
      • Sending Email
      • WebSockets
      • Include your own custom npm module
    • A conventional UI using Bootstrap 4
    • Pushed live to Heroku
    • AJAX requests for POST/PUT/DELETE requests - Server-side rendering for GET requests (optional)
    • Use an external API (optional)
  4. Technical Blog post—pick an interesting NPM module or BEW project (e.g. TypeScript) and write >1000 words. Post must be Persuasive, Informative, and Entertaining. - Due end of Week 6
    • The project/library's history
    • A tutorial on how to implement it
    • Its various pro's, con's and gotchas

All tutorials and projects require a minimum of 10 commits, and must take place throughout the time allotted for the project's completion, not just at the end. Failure to include more than 10 commits will lead to not getting credit for the project and having to redo it.

Evaluation

To pass this course you must meet the following requirements:

  • Finish and turn in
    • Pete's Pet Emporium (GitHub & live link)
    • Make Chat (GitHub & live link)
    • One Public Project that uses 3 features above and beyond resourceful routing and auth (this can be an old project that you added these additional features to)
    • One Technical Blog Post (>1000 words)
  • More than two no-call-no-shows, or more than four excused absenses will put you at risk of academic probation

Make School Course Policies

Academic Honesty
Accommodations for Students
Attendance Policy
Diversity and Inclusion Policy
Grading System
Title IX Policy
Program Learning Outcomes