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