BEW1.2 - Authentication, Associations, & Advanced Queries
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.
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
Learning Objectives or Competencies
Students by the end of the course will be able to ...
- Diagram and implement resource associations using a document-based database.
- Write advanced MongoDB queries with a focus on optimum performance and efficiency.
- Discern between differing levels of persistence and the use cases that best fit each.
- Implement authentication using JWT tokens and sessions.
- Invent, create, test, deploy, and deliver a custom, fully secured API!
To best prepare for the final exam, review this study guide.
Course Dates: Monday, October 22 – Wednesday, December 12, 2018 (7 weeks)
- 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...|
|2||Wednesday, October 24||How the Internet Works: Part 2|
|3||Monday, October 29||Nested Routes and Resources||Reddit.js||
|4||Wednesday, October 31||Persistence Levels||Blog Post||
|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||
|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!
Tutorials & Projects
- 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!
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
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.