Skip to content

Web application for assigning Qube Tickets to Retekess Pagers, integrating a queue management system with a paging system using pyqube.

Notifications You must be signed in to change notification settings

Q-Better/qube-pagers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Qube Pagers

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.

Features

  • Queue selection and ticket generation
  • Pager assignment
  • Real-time customer notifications

Prerequisites

  • 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

Environment Variables

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

Installation

  1. Install Docker and Docker Compose (+ info for RPi)

  2. Clone this code repository:

    git clone https://github.com/Q-Better/qube-pagers.git
    cd qube-pagers
  3. Create and configure the .env file:

    cp .env.example .env
    # Edit .env with your Qube credentials
    nano .env
  4. Start the application:

    sudo docker compose up -d
  5. Access the application:

    • Open your browser and navigate to http://<device-ip>
    • Replace <device-ip> with your device's IP address

API Endpoints

  • GET /api/queues/ - List available queues
  • POST /api/queues/{queue_id}/pager-tickets/ - Create a new ticket
  • POST /api/tickets/{ticket_id}/pager-parings/ - Setup pager pairing
  • POST /api/tickets/{ticket_id}/pager-assignments/ - Assign a pager to a ticket

Architecture

The application consists of two main components:

  1. Server (Python/FastAPI)

    • Handles API requests
    • Manages Qube API integration
    • Controls Retekess paging device
    • Implements file-based storage
  2. Client (Next.js)

    • Provides user interface
    • Manages state and API calls

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Web application for assigning Qube Tickets to Retekess Pagers, integrating a queue management system with a paging system using pyqube.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published