Sabong Betting Platform Documentation
Salpukan is a comprehensive digital cockfighting (sabong) betting platform built with Vue 3, providing real-time betting, live streaming, and complete event management for cockfighting entertainment.
Features
🏟️ Event Management
- Live Broadcasting: HLS.js & Millicast SDK
- Event Types: Categorized events
- Arena Management: Multi-venue support
- Dynamic Scheduling: Flexible tools
💰 Betting System
- Real-time Betting: Meron (Red) vs Wala (Blue)
- Live Odds: Dynamic calculation
- History: Complete transaction logs
- Limits: Configurable rules
👥 User Management
- Roles: Admin, Agent, User
- Auth: Secure Login/Registration
- Wallet: Token-based currency
- Profiles: History & settings
📊 Reporting & Analytics
- Financials: Event summaries & audits
- Showbet: Round analytics
- Fight Records: Historical outcomes
Process Flows
Complete Event Lifecycle
graph TD
A[Event Creation] --> B[Event Setup]
B --> C[Event Goes Live]
C --> D[Fight Scheduling]
D --> E[Pre-Fight Setup]
E --> F[Betting Opens]
F --> G[User Betting]
G --> H[Last Call]
H --> I[Betting Closes]
I --> J[Fight Begins]
J --> K[Live Streaming]
K --> L{Fight Ends}
L --> M[Result Declaration]
M --> N[Automatic Payouts]
N --> O[Settlement]
O --> P[Next Fight?]
P -->|Yes| E
P -->|No| Q[Event Conclusion]
style A fill:#e1f5fe,stroke:#0277bd,color:#000
style C fill:#c8e6c9,stroke:#2e7d32,color:#000
style F fill:#fff3e0,stroke:#ef6c00,color:#000
style J fill:#ffebee,stroke:#c62828,color:#000
style M fill:#e8f5e8,stroke:#2e7d32,color:#000Detailed Betting Cycle
graph TD
A[Admin: Add Fight] --> B[Display Fight Details]
B --> C[Admin: Open Betting]
C --> D["Timer Starts
30s - 1 min"]
D --> E[Users Can Bet]
E --> F[Real-time Bet Totals]
F --> G["Admin: Last Call
Final seconds"]
G --> H[Admin: Close Betting]
H --> I[Calculate Final Odds]
I --> J[Fight Begins]
style C fill:#e8f5e8,stroke:#2e7d32,color:#000
style E fill:#fff3e0,stroke:#ef6c00,color:#000
style H fill:#ffebee,stroke:#c62828,color:#000User Betting Process
graph TD
A[User Joins Event] --> B[View Fight Details]
B --> C[Select Bet Amount]
C --> D{Choose Side}
D -->|Meron| E[Red Corner Bet]
D -->|Wala| F[Blue Corner Bet]
E --> G[Bet Submitted]
F --> G
G --> H[Real-time Update]
H --> I[Bet History Updated]
I --> J[Wait for Results]
style G fill:#e8f5e8,stroke:#2e7d32,color:#000
style J fill:#fff3e0,stroke:#ef6c00,color:#000Detailed Steps
Event Setup & Preparation
- Event Creation: Administrators create cockfighting events with details like date, time, arena, and betting rules.
- Fight Scheduling: Individual fights are added to the event with rooster details and fight sequences.
- Event Goes Live: The event becomes active and users can join to watch and bet.
Live Betting Process (Per Fight)
- Fight Preparation: The next fight is announced and fight details are displayed to all users.
- Betting Opens: Administrator starts the betting window (30 seconds to 1 minute).
- User Betting: Players place bets on "Meron" (Red) or "Wala" (Blue).
- Real-time Updates: Bet totals update instantly for all users to see current odds.
- Last Call: Administrator announces final seconds for betting.
- Betting Closes: No more bets accepted, final odds calculated.
Technical Architecture
Frontend Stack
Vue 3Vue RouterVuexElement PlusVite
Backend Integration
RESTful APIsSocket.ioJWTWebSocket
Installation & Setup
Prerequisites: Node.js 16+, npm or yarn.
1. Clone & Install
git clone <repository-url> cd sabong-admin npm install
2. Run Development Server
npm run dev # Server will run on http://localhost:8080