Code Monkey home page Code Monkey logo

vinevibe's Introduction

Project 3 Cooper, Jessé, Mathijs, Thea

Description

We decided to create a virtual wine cellar where we could virtually store all of the wines we loved, and hoard all of the ones we hadn't tried yet!

User Stories

  • 404: As an anon/user I can see a 404 page if I try to reach a page that does not exist so that I know it's my fault
  • 500: As an anon/user I can see a 500 page when the developers broke something, so that I know that is not my fault
  • Signup: As an anon I can sign up in the platform so that I can start saving favorite restaurants
  • Login: As a user I can login to the platform so that I can see my favorite restaurants
  • Logout: As a user I can logout from the platform so no one else can use it
  • Add Wine As a user I can add a new pool so that I can share it with friends
  • List Members As a user I want to see the list of all the wines
  • Search Wines As a user I want to search wines by name, variety and country

Backlog

User profile:

  • see other users profile, and their wine types

Setting up Third Party Wines:

  • Morality is as importanrt as avoiding pyramid schemes that sell drugs

Client

Routes

  • / - Homepage
  • /auth/signup - Signup form
  • /auth/login - Login form
  • /wines - wines list
  • /wines/create - create a wines
  • /wines/:id - restaurant detail
  • /profile/me - my details and favorite wines
  • 404

Pages

  • Home Page (public)
  • Sign in Page (anon only)
  • Log in Page (anon only)
  • Wine List Page (public only)
  • Wine Create (user only)
  • Wine Detail Page (public only)
  • My Profile Page (user only)
  • 404 Page (public)

Components

  • Wine Card component
    • Input: wine: any
    • Output: favorite(wineId: string, on: boolean)
  • Search component
    • Output: change(terms: string)

IO

Services

  • Auth Service
    • auth.login(user)
    • auth.signup(user)
    • auth.logout()
    • auth.me()
    • auth.getUser() // synchronous
  • Wine Service
    • wine.list()
    • wine.create(data)
    • wine.detail(id)
    • wine.addFavorite(id)
    • wine.removeFavorite(id)

Server

Models

User model

username - String // required
email - String // required & unique
password - String // required
favorites - [ObjectID<Wine>]

Wine model

owner - ObjectID<User> // required
name - String // required
phone - String
address - String

API Endpoints/Backend Routes

  • GET /auth/me
  • POST /auth/signup
    • body:
      • username
      • email
      • password
  • POST /auth/login
    • body:
      • username
      • password
  • POST /auth/logout
    • body: (empty)
  • POST /user/me/favorite
    • body:
      • wineId
  • DELETE /user/me/favorite/:wineId
    • body: (empty)
  • GET /wine
  • POST /wine
    • body:
      • name
      • phone
      • address
  • GET /wine/:id

Trello/Kanban

Trello

vinevibe's People

Contributors

jessevermeulen123 avatar coops023 avatar theadejong avatar mathijsvanginneken avatar oliververmeulen avatar deepsource-autofix[bot] 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.