Sprint II Planning - melcholign/harvest-cart GitHub Wiki

Meeting Overview

Purpose: Sprint II Planning

Date/Location: 23-11-2024, Discord

Attendees: Faiyad Hossain (FD), Abrar Ur Alam (AB), Fazle Rabby Foysal (FZ)

Start Time: 11:21 PM

End Time: 12:45 AM

Meeting Facilitator: FD

Sprint Goal

Allow customers to search, order, and rate products, and farmers to better manage their properties.

Decision Items

  • Sprint II will start in 24-11-24 and end in 02-12-24.
  • Every team member must unit test one backlog item corresponding to a user story of their choice.
  • Standup meetings shall be held every two days since the start of the sprint.
  • Sprint II backlog will be accessed and managed in Trello.

Sprint II Backlog

1. Customer: Order Products

As a customer, I want to easily order the products I need.

Tasks:

  • Create a model representing a checkout.
  • Create a model that handles payments.
  • Define a controller that allows customers to affect the checkout state (managing shipping information and choosing payment method).
  • Ensure that the controller reduces the stock level of a product by the amount allocated in the basket as the checkout process is initiated.
  • Ensure that the controller copies of the information of the basket into the checkout model, and deletes it from the basket model.
  • Implement a rollback mechanism that restores the stock level of the product as well as the basket if checkout fails.
  • Define a controller that allows customers to make payments.
  • Implement a method of sending invoice to customer's email once the order is placed.
  • Document code.
  • Ensure compliance with coding standards.

Owner: Faiyad Hossain (FD)

Deadline: 02-12-24


2. Customer: Track Orders

As a customer, I want to track my orders so that I can stay informed about its status and know when it will be delivered.

Tasks:

  • Create an order model.
  • Define a controller that allows customer's to view and manage their order once it has been placed.
  • Implement the feature to send emails to customers whenever their order status changes.
  • Provide the ability to email and print an invoice of the order.
  • Develop and implement the strategy that simulates order processing and delivery.
  • Run the simulation just as the order is placed.
  • Ensure that the simulation changes the order status between designated time intervals.
  • Document code.
  • Ensure compliance with coding standards.

Owner: Faiyad Hossain (FD)

Deadline: 02-12-24


3. Customer: Cancel Orders

As a customer, I want to be able to cancel my order so that I can avoid purchasing items I no longer want.

Tasks:

  • Define function on the order controller that allow customers to cancel a particular order.
  • Ensure that order can be cancelled if it is still being processed.
  • Ensure that cancelled orders restore the stock level of the products in the order.
  • Define refund function on the payment controller for the situation when order is cancelled.
  • Document code.
  • Ensure compliance with coding standards.

Owner: Faiyad Hossain (FD)

Deadline: 02-12-24


4. Customer: Search Products

As a customer, I want to search for a specific product so that I can quickly find what I need.

Tasks:

  • Define a controller that allows customers to carry out product searches.
  • Provide search filter methods by product category, price-range, and rating-range.
  • Provide search sorting methods by price, ratings, and release date.
  • Establish API endpoints that provides access to the various functionalities of the controller.
  • Document code.
  • Ensure compliance with coding standards.

Owner: Fazle Rabby Foysal (FZ)

Deadline: 02-12-24


5. Customer: Rate Products

As a customer, I want to rate products that I have consumed to provide feedback and help others make informed decisions.

Tasks:

  • Define functions on the product controller that accepts new ratings and modifications.
  • Ensure that the functions are only available to authenticated customers who received the delivered product.
  • Define API endpoints to use these capabilities.
  • Document code.
  • Ensure compliance with coding standards.

Owner: Fazle Rabby Foysal (FZ)

Deadline: 02-12-24


6. Develop UI

Tasks:

  • Implement views in the frontend for every corresponding controllers in the backend.

Owner: Faiyad Hossain (FD), Abrar Ur Alam (AB), Fazle Rabby Foysal (FZ)

Deadline: 02-12-24


7. Farmer: Set Up & Manage Online Store

As a farmer, I want to sell products on a webpage that presents them in an organized manner to attract customers.

Tasks:

  • Create model for store
  • Create model for product
  • Create model for rating
  • Create controller for store
  • Create controller for product
  • Create controller for rating
  • Create router for store
  • Create router for product
  • Create router for rating
  • Create makeshift farmer's view for store
  • Create makeshift farmer's view for product
  • Create makeshift farmer's view for rating

Owner: Abrar Ur Alam (AB)

Deadline: 25-11-24


8. Farmer: Restock requests

As a farmer, I want my products picked up and shipped to Dhaka, so that I can restock my store efficiently.

Tasks:

  • Add restock button to store view
  • Create restock page, functional with UI that provides data fields to specify pickup address and quantity of products to be shipped and restocked
  • Create restock schema
  • Create restock model
  • Create restock controller
  • Create deliverer schema
  • Create deliverer model
  • Create deliverer controller
  • Along with the restock request show the deliverer's info such as contact number, arrival time and name
  • Define restock controller in such manner, that deliverer's arrival sends an email to the farmer.
  • Define restock controller in such manner, that shipment's successful restock at warehouse send an email to the farmer.

Owner: Abrar Ur Alam (AB)

Deadline: 25-11-24