# 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 - `API_BASE_URL`: URL of the backend API server (default: http://localhost:7999) ## 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