/BEW-1.3-Server-Side-Architectures-and-Frameworks

πŸ” Build on knowledge of Resourceful and RESTful patterns and dive deep into the Node and Express ecosystem.

Primary LanguageCSS

BEW 1.3 - Server-Side Architectures & Frameworks

Table of Contents

  1. Course Description
  2. Prerequisites
  3. Learning Outcomes
  4. Study Guide
  5. Class Schedule
  6. Class Assignments
  7. Evaluation
  8. Late Assignment Policy
  9. Additional Resources
  10. Information Resources
  11. Make School Course Policies

Course Description

In this course, students build on knowledge of RESTful web patterns and dive deep into the Node and Express ecosystems. Students learn how to manage greater scope and complexity in their code while consistently keeping the user's experience in mind through implementing a clone of the popular website, Reddit. The course will also cover the procedures required to authenticate and authorize web application users.

Prerequisites

  1. BEW 1.2

Learning Outcomes

Students by the end of the course will be able to…

  1. Diagram and implement resource associations using a document-based database.
  2. Write advanced db queries with a focus on optimum performance and efficiency.
  3. Discern between differing levels of persistence and the use cases that best fit each.
  4. Implement authentication using JWT tokens and sessions.
  5. Invent, create, test, deploy, and deliver a custom, fully secured API.

Study Guide

Class Schedule

Course Dates: Wednesday, January 20 – Wednesday, January 3, 2021 (7 weeks) Class Times: Monday, Wednesday at 9:30am–12:15pm (13 class sessions)

Class Date Topics Assignment Due Assessment
- Mon, Jan 18 No Class - MLK Day
1 Wed, Jan 20 Intro to Node -
2 Mon, Jan 25 JS Intro & Asynchronous Programming GIF Search Tutorial
3 Wed, Jan 27 HTTP Methods & Endpoint Design Codecademy JS: Promises & Async/Await
Promise Challenges
4 Mon, Feb 1 Databases Reddit.js Part 1-3
5 Wed, Feb 3 Testing with Mocha & Chai Reddit.js Part 4-6
6 Mon, Feb 8 Documentation with Docsify TDD/BDD Challenges Midterm Assessment
7 Wed, Feb 10 Testing Express Routes API Project Proposal/Documentation
8 Mon, Feb 15 Review/Lab Day Chai Testing Challenges
9 Wed, Feb 17 Authentication with JWT Reddit.js Part 7-9
10 Mon, Feb 22 More Authentication API Project Phase 2
11 Wed, Feb 24 Lab Day Reddit.js Part 10-11
Auth API Tutorial
12 Mon, Mar 1 Authentication with Passport
13 Mon, Mar 3 Final Class API Project Phase 3 Final Assessment

Class Assignments

We will be using Gradescope this term, which allows us to provide fast and accurate feedback on your work. All assigned work will be submitted through Gradescope, and assignment and exam grades will be returned through Gradescope. As soon as grades are posted, you will be notified immediately so that you can log in and see your feedback. You may also submit regrade requests if you feel we have made a mistake.

Your Gradescope login is your Make School email, and your password can be changed at https://gradescope.com/reset_password. The same link can be used if you need to set your password for the first time.

  1. Make Parties (Tutorial)
  2. Reddit.js (Tutorial)
  3. Passport Authentication Challenge
  4. TDD/BDD Challenges
  5. API Project

Evaluation

To pass this course, you must earn at least a 70% weighted average, according to the following breakdown:

  • API Project: 30%
  • Tutorials, Assignments, Projects, & Class Participation: 50%
    • All tutorials graded on completion
  • Midterm and Final Assessment: 20%

In order to pass this course, you must also:

  • Actively participate in class and abide by the attendance policy
  • Make up all classwork from all absences

Late Assignment Policy

  • Late assignments that are submitted more than 5 days (120 hours) after the deadline will be given a 25% late penalty.
  • The absolute last day to submit any assignment will be Monday, March 3 at 11:59 PM.

If you require accommodations or have extenuating circumstances such as prolonged illness, please contact your instructor to request an extension.

Additional Resources

  • jwt.io: JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. JWT.IO allows you to decode, verify and generate JWT.
  • Check out the Additional Resources section at the bottom of each day's lesson plan for the most up-to-date, helpful resources for that class period!

Information Resources

Any additional resources you may need (online books, etc.) can be found here. You can also find additional resources through the library linked below:

Make School Course Policies