Giter Site home page Giter Site logo

girugacode / bew-1.2-authentication-and-associations Goto Github PK

View Code? Open in Web Editor NEW

This project forked from make-school-courses/bew-1.3-server-side-architectures-and-frameworks

0.0 2.0 0.0 474 KB

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

Home Page: https://make.sc/bew1.2

JavaScript 100.00%

bew-1.2-authentication-and-associations's Introduction

BEW1.2 - Authentication, Associations, & Advanced Queries

Guide Slack Office Hours Shortlink Tracker Request 1-on-1
Dani #bew1-2 M/Th 1-1:30pm (Golden Gate)
T/Th 3:30-4:30pm (Tea Tree)
make.sc/bew1.2 make.sc/trackbew1.2 Click to
Request

Course Description

In this course, students build on knowledge of Resourceful and RESTful 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

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

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, January 21 โ€“ Wednesday, March 6, 2019 (7 weeks)
Class Times: Monday and Wednesday at 3:30โ€“5:20pm (10 class sessions)

Class Date Topics Assignment Due
- Mon 1/21 MLK Jr. Day
1 Wed 1/23 JavaScript Tips and Tricks
2 Mon 1/28 How the Internet Works: Part 2 Slides @ 1:30pm
3 Wed 1/30 Nested Routes and Resources
4 Mon 2/4 Persistence Levels
5 Wed 2/6 Lab Day Blog Post @ 11:59pm
6 Mon 2/11 Documentation: Sharing the Love
7 Wed 2/13 TDD Reddit.js @ 11:59pm
- Mon 2/18 President's Day (Observed)
8 Tues 2/19 Authentication Sessions vs. JWT
9 Wed 2/20 Authorization
10 Mon 2/25 Coming Soon: Advanced Mongoose Schema Design
11 Wed 2/27 Coming Soon: Practical Querying Techniques: Mongoose & map/filter
12 Mon March 4 Lab Day: Custom API Project
13 Wed March 6 Final Exam Custom API @ 11:59pm

Class Assignments

Tutorials

Tutorials are to help you get started in a topic. They are graded on completion only.

Projects

All projects will require a minimum of 10 commits, and must take place throughout the entirety of the course.

  • Good Example: 40+ commits throughout the length of the course, looking for a healthy spattering of commits each week (such as 3-5 per day).
  • Bad Example: 10 commits on one day during the course and no others. Students who do this will be at severe risk of not passing the class.
  • Unacceptable Example: 2 commits the day before a project is due. Students who do this should not expect to pass the class.

Commit Early and Often

We want to encourage best practices that you will see working as a professional software engineer. Breaking up a project by doing a large amount of commits helps engineers in the following ways:

  • It's much easier to retrace your steps if you break your project/product/code up into smaller pieces
  • It helps with being able to comprehend the larger problem, and also will help with debugging (i.e. finding exactly when you pushed that piece of broken code)
  • It allows for more streamlined, iterative communication in your team, as it's much easier to hand off a small change to someone (updating a function) than a huge one (changed the architecture of the project)

Through this requirement, we encourage you to think about projects with an iterative, modular mindset. Doing so will allow you to break projects down into smaller milestones that come together to make your fully-realized solution.

Projects are a chance to build and ship code based on class concepts. Many are open ended allowing you to be creative and to have individual work for your portfolio.

Evaluation

To pass this course you must meet the following requirements:

  • Complete all required tutorials
  • Pass all projects according to the associated project rubric
  • 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 including classes, huddles, coaching and school meetings, 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 is cause for not being allowed to continue at Make School.

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!

Make School Course Policies

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

bew-1.2-authentication-and-associations's People

Contributors

aespaldi avatar ajbraus avatar droxey avatar ibirnam avatar nsafai avatar soggybag avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.