Skip to content

fac22/week3-BDJS

Repository files navigation

Week3 - BDJS: e-Coffee

Authentication

Co-authors

Co-authored-by: danilo-cupido [email protected]

Co-authored-by: cerealenjoyer [email protected]

Co-authored-by: 0bubbles0 [email protected]

Co-authored-by: jijip41 [email protected]"

Roles

  • UX → Sasha
  • DevOps, Deployment → Ji
  • Facilitator, Scrum → Barbara
  • Quality Assurance → Danilo

Our Planning Links

Our Mistakes & Fixes

  • npm install dotenv → needed this to run our local server

  • Why doesn't sign-up work?

    • needed to customise our ./scripts/create_db, ./scripts/populate_db
    • .env:
      • Database_URL: local psql address
      • add COOKIE_SECRET
    • change async functions back to .then()

Description

https://learn.foundersandcoders.com/course/syllabus/apprenticeship/authentication/project/

Your project this week is to build a web app that authenticates users and stores user-specific data in a PostgreSQL database.

Our app, ${placeholder} is looking at disrupting 'doing a coffee run'. Instead of asking around your office and trying to remember everyone's drink order, ${placeholder} lets you see everyone's drink order wherever they are: At their computer, in the queue at starbucks, even ${somewhere else}! Simply log on and put in your drink order, and your coworkers will be able to access that data from their app. We at BDJS know that tastes change and develop over time, so if you need to change your coffee order, that's no problem! Just log back in and change your order.

User stories

Core

  • As a user, I want to: submit information to your site for anyone to see
  • As a user, I want to: come back to your site later and see what I posted is still there
  • As a user, I want to: be the only person allowed to delete my stuff
  • As a user who needs a coffee, I want to: Log in and share my favourite drink
  • As a user who is buying coffee, I want to: View everyone's coffee order, so I know what to get them from Starbucks
  • As a user who already uses our app, I want to: Edit my coffee order, and my name, in case either of them change.

Acceptance Criteria

  • Forms for users to sign up and log in
  • A form for users to submit data only accessible to logged in users
  • A page showing all the data
  • A way for logged in users to delete their own data
  • Semantic form elements with correctly associated labels
  • A Postgres database hosted on Heroku
  • Hidden environment variables (i.e. not on GitHub)

Stretch criteria

  • Tests for all routes
  • A user page that shows everything posted by a single user
  • GitHub Actions CI setup to run your tests when you push