projects.ahmad-mahrous.com

Waiting List Management System

This project is a Flask-based application for managing and displaying real-time waiting lists. It features an operator view for queue management and a public display view for sharing the list. Follow the steps below to install and use the system. DOWNLOAD ZIP LINK - https://projects.ahmad-mahrous.com/waiting-list.zip


Table of Contents

  1. Prerequisites
  2. Installation
  3. Running the Application
  4. Using the Application
  5. Customization

Prerequisites

Before getting started, ensure you have the following installed on your machine:


Installation

Step 1: Download the ZIP and uncompress it.

You can find the download at https://projects.ahmad-mahrous.com/waiting-list.zip Run the below command in your terminal:

cd waiting-list-system

Step 2: Set Up a Virtual Environment (Optional)

It’s recommended to use a virtual environment to keep dependencies isolated:

python -m venv venv
source venv/bin/activate  # On Windows, use venv\Scripts\activate

Step 3: Install Dependencies

Install the required Python packages:

pip install -r requirements.txt

Running the Application

Step 1: Start the Flask Server

Run the application using the following command:

sudo python app.py

Note: Port 80 requires superuser privileges; hence, use sudo if on a Unix-like system. If you do not have superuser, you can try to run the command without sudo, it works on some computers.

Step 2: Access the Application

Once the server is running, you can access the application in your browser:


Using the Application

Operator View

The operator view is used to manage the waiting list:

  1. Select a station from the dropdown menu.
  2. Add names to the list, remove names, reorder items, or mark someone as a VIP (priority).
  3. Changes are immediately reflected in the public display view.

Public Display View

The display view shows the current waiting list for a selected station:

  1. Select a station from the dropdown menu.
  2. The list automatically updates every 100 milliseconds.
  3. VIP tags are prominently displayed, and VIPs are always listed at the top.

Customization


If you have any issues, email me at me@ahmad-mahrous.com!