Auracaster - Airport Announcement System

A modern web application for managing and broadcasting announcements throughout an airport. This system allows for quick and efficient communication with passengers in multiple areas and languages.

Project Structure

The project is organized into three main packages:

  • auracaster_webui: The Streamlit frontend application for the announcement system.
  • api_client: Client library for communicating with the backend API.
  • mock_backend: A mock implementation of the backend API for development and testing.

Setup and Installation

Development Setup

  1. Create a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  2. Install the package in development mode:

    pip install -e .
    
  3. Run the mock system (includes both frontend and backend):

    auracaster-mock
    
  4. For frontend only (requires a running backend):

    auracaster-webui
    

Docker

The project includes a Dockerfile for building a container that packages the webui and api_client components (without the mock backend).

Build the Docker image:

docker build -t auracaster:latest .

Run the container:

docker run -p 8501:8501 -e API_BASE_URL=http://backend-host:7999 auracaster:latest

Environment Variables

Features

  • Create, update, and delete endpoint groups
  • Make announcements to specific areas of the airport
  • Monitor announcement status in real-time
  • Support for multiple languages
  • Predefined announcement templates for common scenarios
Description
No description provided
Readme 220 KiB
Languages
Python 100%