πŸ” Learn how to multiply and associate resources, cope with greater code complexity, write efficient NoSQL queries, and consistently keep users' experience in mind.
Switch branches/tags
Clone or download

README.md

BEW1.2 - Authentication, Associations, & Advanced Queries

Course Description

In this course we will get into the real meat and potatoes of web development. We will build directly upon the Resourceful and RESTful patterns we learned last class and multiply them by building a clone of Reddit. As we multiply and associate our resources we will learn how to manage and cope with greater and greater complexity in our code while consistently keeping the user's experience in mind. Finally we will look at two ways to authenticate users and learn how to implement both.

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

Prerequisites

  1. BEW 1.1

Learning Objectives or Competencies

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 MongoDB 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

To best prepare for the final exam, review this study guide.

Schedule

  • Course Dates: Monday, October 22 – Wednesday, December 12, 2018 (7 weeks)

  • Class Times:

    • Section A: Monday and Wednesday at 1:30–3:20pm (13 class sessions)
    • Section B: Monday and Wednesday at 3:30–5:20pm (13 class sessions)
Class Date Topics Graded Deliverable Due On...
1 Monday, October 22 JavaScript Tips and Tricks Presentation Day 2
2 Wednesday, October 24 How the Internet Works: Part 2
3 Monday, October 29 Nested Routes and Resources Reddit.js Day 14
4 Wednesday, October 31 Persistence Levels Blog Post Day 7
5 Monday, November 5 Lab Day
6 Wednesday, November 7 Documentation: Sharing the Love
7 Monday, November 12 Advanced Mongo Associations and Queries IRL
8 Wednesday, November 14 Advanced Schema Design for Fun and Profit
Tuesday, November 20 Don Rags
Wednesday, November 21 Fall Break
9 Monday, November 26 Authentication Sessions vs. JWT Custom API Day 14
10 Wednesday, November 28 TDD
11 Monday, December 3 Authorization
12 Wednesday, December 5 Testing Authentication and Authorization
13 Monday, December 10 Final Exams Final Exam Written Exam
14 Wednesday, December 12 Projects Due Reddit.js,
& Custom API due today!
NO EXTENSIONS &
NO EXCEPTIONS

Tutorials & Projects

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.
  • See 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!

Evaluation

To pass this course you must meet the following requirements:

  • Pass all required tutorials and projects (see associated rubrics)
  • Pass the final summative assessment >= 70%
  • Actively participate in class and abide by the attendance policy
  • Make up all classwork from all absences

Attendance

Just like any job, attendance at Make School is required and a key component of your success. Attendance is being onsite from 9:30 to 5:30 each day, attending all scheduled sessions: classes, huddles, etc. and working in the study labs when not in a scheduled session. Working onsite allows you to learn with your peers, have access to support from TAs, instructors and others, and is vital to your learning.

Attendance requirements for scheduled sessions are:

  • No more than two no call no shows per term in any scheduled session.
  • No more than four excused absences per term in any scheduled session.

Failure to meet these requirements will result in a PIP (Participation Improvement Plan). Failure to improve after the PIP will result in not being invited back next term.

Make School Course Policies

Academic Honesty
Accommodation Policy
Attendance Policy Diversity Statement
Evaluation Methods
Title IX Disclaimer
Program Learning Outcomes