Skip to content
Long Nguyen edited this page Sep 22, 2021 · 12 revisions

1.2 Scope

The program is designed with two user categories in mind, the customer and restaurant manager. The base program will only have limited features relevant to a customer, such as ordering, payment, menu display, as well as an estimated service time. The manager program requires a log in system and grants the user more features such as calculating employee wages, supply inventory, incoming orders, table reservations and layout, as well as all the features of the base program.

3. Requirements

3.1 UI Requirements

3.2 Functional Requirements

  • ID: FR-H1
    Raspberry Pi 4 Hardware
    Description: This is the main computing unit for the people detection feature. This project uses the Raspberry Pi 4 model B with 8GB RAM. The 4GB model will also be sufficient. The PiCam is also used as video stream input for the algorithm.
    Dependency: N/A

  • ID: FR-H2
    People Counting Algorithm
    Description: Detects as how many people cross a boundary line and how many people exit that boundary to determine the number of people in the restaurant at any given moment. Base python program algorithm courtesy of saimj7's project repo under MIT licensing.
    Dependency: FR-L1, Python, Python libraries: schedule, numpy, argparse, imutils, dlib, opencv-python, scipy.

  • ID: FR-H3
    Customer Wait Time Algorithm
    Description: This builds on the on the people counting algorithm above and incorporates timestamps to calculate an estimated wait time for the customer to be served at the restaurant. This will be shared with the database.
    Dependency: FR-L2, [database dep]

3.3 Non-functional Requirements

Clone this wiki locally