Code Monkey home page Code Monkey logo

jeff_bezos_startup-soen341project2022's People

Contributors

alexsantelli avatar benhitterman avatar jaspreet305 avatar mist3rm avatar noahassayag avatar rignite avatar ryanwong2000 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

jeff_bezos_startup-soen341project2022's Issues

User Story - Shopping Cart/Checkout

When browsing the website, the user can view different products. On each product, there will be an option to add the item to the cart. Once done so, the Icon on the top left (which contains a shopping cart) will have a number above it, pertaining to the number of items in the cart. That icon can be clicked and the user will be brought to the shopping cart page. From there, the items in the cart will be listed along with the total price. The user can also increase/decrease the quantity of each item. They can also delete the item from the cart using buttons that will be provided. The price will update based on these functions.

Tasks

  • Implement functionality for Add To Cart Button
  • Implement functionality for Buy Now Button
  • On the cart page, display cards of items with prices
  • On the cart page, display a calculated total amount

Risk: None

This user story is 13 user points because many functions need to be implemented in the shopping cart. Once the user adds the item in the cart, they can also remove it, continue shopping, or proceed to check out. This needs to be done dynamically as the cart contents can change at any point of the user's session.

Changes needed in ItemController

Discussed in #30

Originally posted by MIst3rM March 15, 2022
@jaspreet305

Add the following line at the top of the file

use Exception;

Return a response instead

return redirect('insert')->with('status', "Insert successfully");

return redirect('insert')->with('failed', "operation failed");

Look at this for reference

return response('User updated', 200)->header('Content-Type', 'text/plain');

User Story - Browsing for available items

As a customer, I want to be able to scroll through and browse the available item list because I want to purchase some items from the store.

Tasks:

  • Grab items from the database
  • Display items on browsing page
  • Responsive cards
  • truncate item descriptions in item card
  • #16

User Story - Manage Profile

Overview

As a customer on this site, I want to be able to see my user profile and modify my information as I please because it is important to me to have control over the name, email and password I choose to use on this site.

Tasks

  • Add a form with modifiable fields.
  • Design the form to look nice and intuitive.
  • Populate database with sales data
  • #18
  • Link the form with the database to persist changes.

Add filters for better browsing shop page

Add filters to the shop page to see items based on different criteria like categories and prices.

Risk: Little to no risk. Reading and filtering data from the database.

This user story is 8 points because we need to accurately select the appropriate items from the user's filtering inputs from the database. Dynamically reading the categories from the DB and providing user with a list of all categories to select from.

User story - Seller adding a product

As a seller I would like to login as a seller and have a page to add products. I should be able to choose a picture to display the product, add a description, and adjust the price. Maybe an option to enable a sale price on the item.

Tasks

  • Create a new page with a form to add items
  • Add validation for inputs
  • Create route in backend to handle add item request
  • Implement Add Item button functionality and connect to backend

Risk: Chance of affecting database of items during testing as this feature touches directly with the backend
Consequence: Can cause database values to be corrupted, but a low chance.

This user story is worth 5 points as we need to implement the controller and api, however database is already set up with the item schema

Automated Tests

Automated tests program cypress fails to run because it is compiled for the arm architecture. Need to change to x64 architecture.

Add workflow for CI

Create a Github Actions workflow to automatically build the docker compose environment and run tests

User Story - Admin deleting an item from the store

As an admin, I would want to login using my admin account and then navigate to a product list page where I can select an item from the store to remove from the website.

Risks: None

This user story is worth 3 points as we need to link deletion of seller item to the database, as well as create a simple API.

User Story - Account Creation/Sign up

Overview

When accessing the main page for the website, I want the user to have a button in the top right corner to sign in/sign up. When clicking this, the user will be prompted to the sign-in page. Below there will be a button to sign up. Clicking on the button will bring up a page that requires the user to provide their name, email and password. Once the user clicks on submit, and the information they provided is validated, their account will be created, they will be signed in automatically and they will be redirected to the home page

Tasks

  • Create login page
  • Create Registration page
  • Add a form with input fields for login page
  • Add a form with input fields for registration page
  • Design login page to look nice and intuitive
  • Design registration page to look nice and intuitive
  • Create login api endpoint to sanitize input and authenticate user
  • Create registration api endpoint to sanitize input and create user
  • Link login form on frontend to backend to run authentication
  • Link registration page on frontend to backend to create user and persist to database
  • Handle failed logins (invalid creds)
  • Handle failed registrations (invalid user input)
  • Redirect when login successful
  • Redirect when registration successful

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.