A sample web application for managing pager assignments in Qube (queue management system).
This application allows users to create tickets, assign them pagers, and notify customers when it's their turn.
- Queue selection and ticket generation
- Pager assignment
- Real-time customer notifications
- Qube API access (+info)
- A Retekess TD166 paging system device
- A local Linux machine (e.g., RPi 4) connected to Retekess TD166
- Docker and Docker Compose installed
The application requires the following environment variables to be set in a .env
file:
QUBE_LOCATION_ID=YOR_QUBE_LOCATION_ID
QUBE_API_KEY=YOR_QUBE_LOCATION_API_KEY
-
Install Docker and Docker Compose (+ info for RPi)
-
Clone this code repository:
git clone https://github.com/Q-Better/qube-pagers.git cd qube-pagers
-
Create and configure the
.env
file:cp .env.example .env # Edit .env with your Qube credentials nano .env
-
Start the application:
sudo docker compose up -d
-
Access the application:
- Open your browser and navigate to
http://<device-ip>
- Replace
<device-ip>
with your device's IP address
- Open your browser and navigate to
GET /api/queues/
- List available queuesPOST /api/queues/{queue_id}/pager-tickets/
- Create a new ticketPOST /api/tickets/{ticket_id}/pager-parings/
- Setup pager pairingPOST /api/tickets/{ticket_id}/pager-assignments/
- Assign a pager to a ticket
The application consists of two main components:
-
Server (Python/FastAPI)
- Handles API requests
- Manages Qube API integration
- Controls Retekess paging device
- Implements file-based storage
-
Client (Next.js)
- Provides user interface
- Manages state and API calls
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.