Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NAVIGATION + COMPONENT PLANNING #3

Open
keanacobarde opened this issue Feb 27, 2024 · 0 comments
Open

NAVIGATION + COMPONENT PLANNING #3

keanacobarde opened this issue Feb 27, 2024 · 0 comments
Labels

Comments

@keanacobarde
Copy link
Owner

keanacobarde commented Feb 27, 2024

User Story

  • I, as a developer, need to examine the requests and attempt to decipher what is MOST important to the client and what can be implemented in the timespan given.

Acceptance Criteria

This plan:

  • Should give an outline for the ticket structure.
  • Will give a clear guide as to how much I can do, what's a nice to have, and what's an ultimate stretch.
  • Will help me organize my folder hierarchy into a clear structure
  • Will help me decide what components I need
  • Will acknowledge both the available calls written on the backend, and how they will interact with the frontend
  • Will include how each entity is framed within the context of the client requirements

Dependencies

N / A, this is the very first issue ticket to allow for ease of planning and organization of user requirements, current backend infrastructure, and how that interacts with the frontend.

Dev Notes

VIEWS

  • Login, unauthenticated user view
  • User/customer view
  • Seller view, dashboard

ENTITIES

  • Product

Primary feature of the application.
Read is the main segment of CRUD that can be implemented and is the only one that's truly requested in client requests, but backend API calls are written for other segments of CRUD. Leave for absolute, ultimate maximums.

READ

  • Product card component
Customer can search for products:

Customers should be able to search for products by typing keywords in the search input field.
The search results should display products matching the keyword.
--
Customer can view latest products on home page:

The home page should display the last 20 products added to the system as hyperlinks to their respective detail pages.
--
Customer can click on a seller's name on a product page to view all products sold by that seller:

Clicking on a seller's name on a product detail page should redirect customers to the seller's store.
--
Customer should be able to view products that a seller is selling:

Customers should be able to view all products available from a specific seller.
Potential implementation ideas were shared, including creating a new endpoint or enhancing the existing seller endpoint.
--
User Can View Product Detail:

Users should be able to view detailed information about a product, including the title, description, quantity available, price per unit, and an "Add to Cart" button.
--
Customer should be able to view product information when viewing order details:

Customers who have purchased items should be able to view product details along with each order.
  • Orders

Secondary but most complex aspect of the application

CREATE

  • Form component
Allow a user to place an order:

Authenticated users should be able to place an order and select a payment type for the order.
After selecting a payment option, users should be presented with a confirmation/thank you screen.

READ

  • Shopping cart component
Customers can view shopping cart:

Customers with products in their shopping cart should be able to view the product name, price, and the total amount of their order.
  • Seller's Dashboard -> Products
Allow sellers to see orders with their products on them:

Sellers should have access to order history and be able to see orders that include their products.
Discussion focused on creating dedicated sections for orders with sellers' products and displaying customer information.
  • Order History
Customer should be able to view their completed orders:

Customers should have access to a list of their completed orders.
  • User

CREATE

Allow a user to register for Bangazon:

Users who want to buy or sell products and do not have an account should be provided with the option to register.
  • Category

Similarly to PaymentType, categories will need to be seen whenever an order is created (within the OrderForm.js) component; however, it's not as necessary as other important components.

Seller should have a dashboard:

Sellers should have a dedicated dashboard displaying key information such as total sales, total inventory by category, and orders that require shipping.
--
User Can View All Product Categories:

Users should be able to access a view containing a list of all product categories.
The view should display the number of products in each category and provide links to the first three products within each category.
--

  • PaymentType

You need to be able to see payment type whenever you create/edit an order. It'll most likely be tucked away in a useEffect() and won't be very difficult to render but not as necessary to render as other components. Will, most likely, coincide with the singular GET request written within the backend.

Allow a user to place an order:

Authenticated users should be able to place an order and select a payment type for the order.
After selecting a payment option, users should be presented with a confirmation/thank you screen.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant