Intersynergy Poker Timer
Comprehensive tournament management, timer control, live updates, and poker tooling in one Blazor frontend.
About This Application
The Intersynergy Poker Timer is a comprehensive poker application built with .NET 9 and .NET Aspire orchestration. It provides tournament management, real-time timer functionality, advanced poker hand evaluation, and both Blazor Server and WebAssembly frontends.
This system is designed for poker enthusiasts, tournament organizers, and anyone interested in poker mathematics and game theory. Whether you're running a casual home game or a professional tournament, this application provides the tools you need.
Technology Stack
.NET 9 & Blazor Server
.NET Aspire Orchestration
PostgreSQL & Entity Framework
SignalR Real-time Updates
MudBlazor UI Components
Core Features
Tournament Timer
Real-time countdown timer
Configurable blind structures
Break management system
TV mode for display
Tournament Management
Create & manage tournaments
Player registration system
Seating arrangements
Tournament tracking
Poker Hand Evaluation
5-card Texas Hold'em evaluation
3-card Chinese poker evaluation
Open Face Chinese (OFC) logic
Combinatorial calculations
User Management
Identity-based authentication
Google OAuth integration
Role-based access control
Player profile management
Infrastructure
Redis caching
Seq structured logging
Aspire orchestration dashboard
Real-time SignalR updates
Development
Comprehensive test coverage
Clean architecture patterns
Repository & service layers
RESTful API design
Changelog
This section tracks major features and improvements. Update manually as new features are added.
Security Hardening & Live Experience Improvements
Added dedicated admin user management APIs and UI flows for assigning and removing authorized roles
Hardened authentication across the platform with backend Auth0 role bootstrapping, safer login and logout flows, and reduced sensitive auth logging
Secured SignalR with authenticated hub access, origin validation middleware, and stricter transport and CORS handling
Upgraded the TV timer experience with improved rendering, JavaScript interop support, and refreshed styling in both App and NewFE
Expanded card tracking support with public table access and authorization improvements around tracked table data
Added broad regression coverage for auth, SignalR, admin role management, frontend token refresh, and mobile tournament flows
Public Tournaments & Mobile Control Experience
Added public tournament pages, endpoints, and a dedicated SignalR hub for live spectator access
Introduced the React Native mobile control app with operator views, tournament detail screens, and live timer controls
Generated new TypeScript and updated C# API clients to support the expanded tournament and player workflows
Added Auth0 API authentication and role claim transformation for secured API access beyond the Blazor UI
Added tournament visibility controls so events can be published publicly without exposing private management screens
Enhanced the main frontend with refreshed layouts, offline timer updates, and broader quality and documentation improvements
Card Tracking & OFC Solver Expansion
Added poker table card tracking with decks, tagged cards, table positions, and hand tracking event history
Introduced real-time hand tracking updates through the new hand tracking hub and supporting services
Added a CP-SAT based OFC solver and new calculator tooling for stronger Open Face Chinese analysis
Created a reusable generated API client package and aligned shared DTOs across services and frontend apps
Expanded the new frontend with poker table views, OFC max calculator screens, and improved BasicGame workflows
Backed the release with broad repository, service, controller, and evaluator test coverage improvements
Auth0 Integration & Hangfire Timer System
Replaced ASP.NET Core Identity with Auth0 authentication
Enhanced OAuth flow with Auth0 Management API integration
Implemented secure token caching and management system
Upgraded tournament timer with Hangfire background job processing
Improved timer reliability and automatic recovery capabilities
Added Hangfire dashboard for timer job monitoring
BasicGame Management & Money Tracking
Added BasicGame CRUD operations with comprehensive validation
Implemented money tracking system for tournament finances
Enhanced player removal with confirmation dialogs
Comprehensive unit test coverage for all controllers
Improved service layer architecture and error handling
Role-Based Access Control
Added Administrator and Editor roles
Secured Player management pages
Updated AddEditPlayer component with MudBlazor
Tournament Timer System
Real-time tournament timer with SignalR
Configurable blind structures
TV mode for tournament display
Break management functionality
Initial Release
Core application architecture with .NET 9
PostgreSQL database with Entity Framework
Poker hand evaluation engines
Player and tournament management
Google OAuth authentication
Aspire orchestration setup