Giter VIP home page Giter VIP logo

sprint-challenge-authentication's Introduction

Self-Study/Essay Questions

Self-Study/Essay Questions

Self-Study/Essay Questions

Demonstrate your understanding of this week's concepts by answering the following free-form questions. Edit this document to include your answers after each question. Make sure to leave a blank line above and below your answer so it is clear and easy to read by your project manager.

What is the purpose of using sessions?

Sessions preserve data across requests, usually stored on the server.

What does bcrypt do to help us store passwords in a secure manner.

It hashs the string. Using a salt, it's a one-way method of obfuscating the original pass.

What does bcrypt do to slow down attackers?

It does multiple rounds of hashing the password, requiring an attacker know the salt, number of rounds and the algorithm used to derive the hash from the original.

What are the three parts of the JSON Web Token?

Header, payload, signature.

.

Sprint Challenge: Authentication - Dad Jokes

Description

In this challenge, you build a real wise-guy application. Dad jokes are all the rage these days. Currently the application is trying to receive some Dad Jokes, however we are locked out.

Instructions

Read these instructions carefully. Understand exactly what is expected before starting this Sprint Challenge.

This is an individual assessment, please work on it alone. It is an opportunity to demonstrate proficiency in the concepts and objectives introduced and practiced in preceding days.

If the instructions are not clear, please seek support from your TL and Instructor on Slack.

The Minimum Viable Product must be completed in three hours.

Follow these steps to set up and work on your project:

  • Create a forked copy of this project.
  • Add your Team Lead as collaborator on Github.
  • Clone your forked version of the Repository.
  • Create a new Branch on the clone: git checkout -b firstName-lastName.
  • Implement the project on this Branch, committing changes regularly.
  • Push commits: git push origin firstName-lastName.

Follow these steps for completing your project.

  • Submit a Pull-Request to merge firstName-lastName branch into master on your fork. Please don't make Pull Requests against Lambda's repository.
  • Please don't merge your own pull request.
  • Add your Team Lead as a Reviewer on the Pull-request
  • Your Team Lead will count the challenge as done by merging the branch into master.

Commits

Commit your code regularly and use descriptive messages. This helps both you (in case you ever need to return to old code) and your Team Lead.

Minimum Viable Product

Implement an User Authentication System. Hash user's passwords before saving them to the database. Use JSON Web Tokens or Sessions and Cookies to persist authentication across requests.

  • Implement the register and login functionality inside /auth/auth-router.js. A user has username and password. Both properties are required.
  • Implement the authenticate middleware inside /auth/authenticate-middleware.js.
  • Write a minimum o 2 tests per API endpoint. Write more tests if you have time.

Note: the database already has the users table, but if you run into issues, the migrations are available.

Stretch Problem

Build a front end to show the jokes.

  • Add a React client that connects to the API and has pages for Sign Up, Sign In and showing a list of Jokes.
  • Once you have the functionality down, style it!

sprint-challenge-authentication's People

Contributors

luishrd avatar ryan-hamblin avatar ogrotten avatar mixelpixel avatar tommycollison 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.