A modern queue management system built with Blazor, designed for hospitals, banks, and government service halls. The system includes a large display screen, staff console, and mobile client interface.
-
Multi-platform Support
- Large display screen for waiting areas
- Staff operation console
- Mobile web interface for customers
- iPad/tablet self-service kiosk support
-
Real-time Updates
- Instant ticket status updates
- Live counter status display
- Real-time waiting time estimation
- Voice announcements for ticket calls
-
Queue Management
- Multiple service types support
- Priority queue handling
- VIP customer support
- Dynamic counter allocation
-
Mobile Integration
- QR code ticket generation
- Mobile ticket status tracking
- Push notifications
- Remote queue joining
- Blazor Server: Powers the display screen and staff console
- SignalR: Enables real-time communication
- ASP.NET Core: Provides REST API endpoints
- Entity Framework Core: Handles data persistence
- Blazor WebAssembly: Powers the mobile client interface
- Progressive Web App (PWA): Enables mobile-first experience
- Responsive Design: Supports various screen sizes
- SignalR Hub: Manages real-time updates
- REST API: Handles CRUD operations
- WebSocket: Ensures low-latency communication
QueueSystem/
├── QueueSystem.Server/ # Blazor Server Application
│ ├── Pages/ # Razor Pages
│ ├── Services/ # Business Logic
│ ├── Hubs/ # SignalR Hubs
│ └── wwwroot/ # Static Files
│
├── QueueSystem.Mobile/ # Blazor WebAssembly Application
│ ├── Pages/ # Mobile Interface
│ ├── Services/ # Client Services
│ └── wwwroot/ # Static Files
│
└── QueueSystem.Shared/ # Shared Library
├── Models/ # Data Models
└── Interfaces/ # Shared Interfaces
-
Prerequisites
- .NET 7.0 SDK - Visual Studio 2022 or VS Code - SQL Server (Optional)
-
Clone the Repository
git clone https://github.com/yourusername/QueueSystem.git cd QueueSystem -
Build and Run
dotnet restore dotnet build cd QueueSystem.Server dotnet run -
Access the Applications
- Display Screen:
https://localhost:5001/display - Staff Console:
https://localhost:5001/console - Mobile Interface:
https://localhost:5001
- Display Screen:
{
"Display": {
"RefreshInterval": 1000,
"MaxDisplayItems": 10,
"EnableVoice": true
}
}{
"ServiceTypes": [
{
"Id": "general",
"Name": "General Service",
"DefaultPriority": 1
},
{
"Id": "express",
"Name": "Express Service",
"DefaultPriority": 2
},
{
"Id": "vip",
"Name": "VIP Service",
"DefaultPriority": 3
}
]
}-
Publish the server application:
dotnet publish -c Release
-
Deploy to IIS or Azure App Service
-
Build the WebAssembly application:
dotnet publish -c Release
-
Deploy to a static web host or CDN
- Use HTTPS for all communications
- Implement authentication for staff console
- Secure SignalR connections
- Rate limit API endpoints
- Validate all user inputs
- Implement CORS policies
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions, please create an issue in the GitHub repository or contact the development team.