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

Final submission checklist #129

Open
67 of 74 tasks
dcshzj opened this issue Apr 6, 2020 · 0 comments
Open
67 of 74 tasks

Final submission checklist #129

dcshzj opened this issue Apr 6, 2020 · 0 comments
Assignees

Comments

@dcshzj
Copy link
Contributor

dcshzj commented Apr 6, 2020

Functionalities that must be included (refer to section 2 of instructions)
All functionalities in this list must appear in the final project

  • Creation/Deletion/Update of data for the different users (customers, managers, riders and admins)
  • Support data access for different users
  • Customers can view review postings and past orders
  • Riders can view their past work schedules and salaries
  • Customers can browse/search for food items
  • Admins can browse summary information (refer to Appendix 1)
  • Managers can browse summary information (refer to Appendix 2)
  • Riders can browse summary information (refer to Appendix 3)
  • Database should be loaded with reasonably large tables (project demo) (refer project.pdf for websites which can help us to generate data)

Functionalities that are recommended to be included (refer to section 1 of instructions)
Functionalities listed here are good to have in the final project

Overall

  • The application supports 4 types of users: customers, managers, riders and admins
  • The application operates daily from 10AM to 10PM
  • A week is defined as a duration consisting of 7 consecutive days
  • A month is defined as a the duration consisting of 4 consecutive weeks

Restaurants & Managers

  • Each restaurant has a menu listing their food items, availability and prices
  • Food items are classified into categories to facilitate browsing
  • A daily limit on the maximum number of orders that can be accepted for each food item can be specified by the restaurant manager
  • The food item is automatically updated to be unavailable when the daily limit is reached
  • The restaurant manager can update the menu information dynamically

Orders & Customers

  • The total cost of each order is computed as the sum of the cost of the ordered food items and a delivery fee
  • An order is not accepted if the total cost of the ordered food items is below a minimum amount that is specified by the restaurant manager
  • The delivery fee for each order is determined by the admin based on some criteria
  • Each dollar spent is a reward point earned by the customer
  • The reward points can be used to offset the delivery fees for future orders
  • Customers can make payment using a pre-registered credit card or choose to pay cash on delivery
  • Customers can post reviews on the food after the order is completed
  • Customers can give ratings on the delivery service after the order is completed
  • Reviews on the food can be viewed by all customers

Promotions

  • Each restaurant can order promotional prices for certain periods of time
  • Each promotional campaign has a unique identifier

Delivery

  • Each order's food items must be from a single restaurant
  • Each order is assigned to a delivery rider who will collect and deliver the ordered items to the customer
  • Assignment of delivery rider to order is determined by the FDS
  • Time when order was placed by the customer is recorded
  • Time when rider departs for the restaurant is recorded
  • Time when rider arrives at the restaurant is recorded
  • Time when rider departs from the restaurant to the customer is recorded
  • Time when rider delivers the order is recorded
  • The customer's 5 most recent delivery locations is recorded
  • The customer can specify a new delivery location for the order, or choose from one of the 5 recent delivery locations

Riders

  • Each rider is either a full-time or part-time employee
  • Each full-time rider maintains a monthly work schedule
  • Each part-time rider maintains a weekly work schedule
  • Each weekly work schedule specifies the hour intervals that the rider is available for work each day
  • Each hour interval must start and end on the hour and duration must not exceed 4 hours
  • There must be at least 1 hour of break between two consecutive hour intervals
  • Total number of hours in each weekly work schedule must be at least 10 and at most 48
  • For full-time riders, the 4 weekly work schedules in a monthly work schedule must be equivalent
  • Each weekly work schedule for a full-time rider must consist of 5 consecutive work days
  • For full-time riders, each work day must consist of 8 work hours comprising of 2 4-hour periods with an hour break in between
  • There must be at least 5 riders (part-time or full-time) working at each hourly interval
  • Each part-time rider earns a weekly base salary
  • Each full-time rider earns a monthly base salary
  • On top of the base salary, each rider also earns a fee for each completed delivery
  • The base salary is computed based on some criteria

Appendix 1: Summary information for admins

  • Total number of new customers for each month
  • Total number of orders for each month
  • Total cost of all orders for each month
  • Total number of orders and total cost of all orders for each customer for each month
  • Total number of orders placed for each hour and for each delivery location area
  • Total number of orders delivered by each rider for each month
  • Total number of hours worked by each rider for each month
  • Total amount of salary earned by each rider for each month
  • Average delivery time for each rider for each month
  • Total number of ratings received by each rider for each month
  • Average rating received by each rider for each month

Appendix 2: Summary information for managers

  • Total number of completed orders for each month
  • Total cost of all completed orders (excluding delivery fees) for each month
  • Top 5 favourite food items (in terms of number of orders) for each month
  • The duration for each promotional campaign in terms of number of days/hours
  • Average number of orders received during the promotion period per day

Appendix 3: Summary information for riders

  • Total number of orders delivered by the rider, for each week
  • Total number of orders delivered by the rider, for each month
  • Total number of hours worked by the rider
  • Total salary earned by the rider
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants