Skip to content

wangh149/restaurant-system

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
June 23, 2024 15:48
June 21, 2024 15:56
June 21, 2024 21:35
June 4, 2024 10:50
June 13, 2024 18:35
June 16, 2024 22:14

restaurant-system

CUH405 Group 10. A MQTT based restaurant-system

Overview

This project intend to develop a initial version of restaurant system that uses MQTT to facilitate communication between various components of the system. It includes four clients: the control center, customer app, waiter app, and chef app, and uses EMQX as the MQTT broker.

Project Components

EMQX Broker Configuration

The MQTT broker is configured to restrict publishing capabilities based on client roles:

  • Control Center can only publish to control_center/*.
  • Chef App can only publish to chef/*.
  • Customer App can only publish to customer/*.
  • Waiter App can only publish to waiter/*.

Client Applications

Control Center

Developer: Hongtian Wang

Architectural Layers

The control center is structured into five layers, facilitating streamlined operations and message handling:

  1. Transmission Layer: Manages outgoing and incoming messages.
  2. Buffer Layer: Temporarily stores outgoing and incoming messages.
  3. Central Layer: Processes messages fetched from the buffer layer and invokes appropriate actions in helper layer. It also handle message generated by helper layer and pass it to buffer layer.
  4. Helper Layer: Called by central layer to execute task, and generate response after task is executed, the response will be passed to central layer.
  5. Data Layer: Manages database operations through Database Manager.

Please notice that control center is only regarded as a client when using MQTT protocol, its implementation make it protocol-irrelevant, modify Message Manager could change its role in the future version of project.

Customer App

Developer: Enyang Gong

  • Features:
    • Displays the menu to users.
    • Wraps user orders into messages for transmission.

Waiter App

Developer: Zheng Yang

  • Features:
    • Receives customer requests for assistance.
    • Responds to customer help requests.

Chef App

Developer: Yancheng Chen

  • Features:
    • Monitors current tasks.
    • Marks tasks as completed (dish done).
    • Cancels tasks if necessary (dish cancel).

About

CUH405 Group 10. A MQTT based restaurant-system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages