restructure the project for packaging
This commit is contained in:
62
README.md
Normal file
62
README.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user