MetaCapstone / theKnow

0 stars 0 forks source link

theKnow

Project Description:

“The Know” (Name undecided) aims to keep consumers in the know about the products they’re buying, enabling them to make educated and responsible decisions with as much information as possible. For any product on the website, there will be ratings (developed from existing information and research) to quantify the health and sustainability of a product as well as the expensiveness of the product compared to similar products. Users will also be able to leave reviews and ratings on the product, and the average rating as well as their individual reviews will be available for other users to view, upvote, and comment on. The website asks users to make an account, where they’ll be able to keep track of their favorite products, get recommendations about products they may enjoy, and keep track of their ratings and reviews. Users will also be able to take a photo of a product label/enter some information to generate ratings and add to the list of products available on the site. Users will also be able to scan the label to search up the product.

Project Features:

User Stories

As someone I want to do something in order to something else

  1. As a consumer, I want to find the most inexpensive product of that kind so I can save money.
  2. As a consumer, I want to find the most sustainable product of that kind so I can be environmentally conscious.
  3. As a consumer, I want to find the best rated product of that kind so that I can be sure that I'm spending my money correctly.
  4. As a consumer, I want to be able to leave reviews on products I liked and disliked to show other consumers my experience with the product.
  5. As a consumer, I want to be able to view products that fit with my goals and be an educated consumer about what I use so I can better understand my impact on the world around me.
  6. As a consumer, I want to understand my carbon footprint so I can make more educated decisions about where I should buy products from.
  7. As a consumer, I want to understand how companies treat their workers and pick products from companies that I can support to be a more educated consumer.
  8. As a consumer, I want to make sure I understand all allergen information so that I don't have an allergic reaction to something.
  9. As a consumer, I want to make sure the food I'm eating has no animal products so that I can adhere me diet best to my values.
  10. As a consumer, I want to have an easy way to view information about products that allows me to do less research for the same information.

Endpoints

HTTP Verb Name Description User stories
POST user/product id liked product by user 1,2,3,5,6,7,8,9,10
DELETE user/product id remove like from product 1,2,3,5,6,7,8,9,10
GET products display products 1,2,3,4,5,6,7,8,9,10
POST products/user id new products added by users 10
PUT user/id update user profile 1,2,3,4,5,6,7,8,9,10
PUT rating/user id putting a rating associated with a user 4

Data Model

Product:

Column Name Type Description
id integer primary key
name string name of product
description string description of shoe's appearance
photo_url text URL to photo of product
nutrient object the nutrients associated with the product

User:

Column Name Type Description
liked_products array of integer products each user likes (by id)
username string username
password string password
user_info object information about the user

Pages/Screens on the app

Loading Screen

LogoName

Main Page

1 2

Product Page

1 2

Sign-in Page

LOGIN

Purchase Page