Work decomposition by component
Game Engine Backend
- Requirements and design
- Define wallet model and session lifecycle; define idempotency rules and transaction atomicity.
- Design API contract (OpenAPI): CreateSession, GetBalance, Bet, Win, Refund, Admin endpoints.
- Data model and persistence
- Tables: sessions, wallet_transactions, bet_log.
- Wallet semantics and transactions
- Idempotency keys for repeated requests.
- Game math engine
- Implement pluggable math interface: RNG mode, scripted payout tables (for debug and tests).
- APIs and integration
- REST endpoints with clear error codes and retries.
- Logging and audit
- Immutable append-only outcomes_log with timestamp, input, RNG seed, and derived outcome.
- Exportable CSV/JSON reports for audit.
- Testing
- Unit tests for math strategies.
- Deliverable
- Dockerized service, OpenAPI spec.
Game Frontend
- UX and design
- High-fidelity slot UI from designer assets: reels, buttons, balance, bet controls.
- Touch-first layout and accessible controls.
- Rendering and animation
- Use Canvas (PixiJS) for performant reels.
- Audio engine for SFX and music with mute controls.
- Integration
- Connect to session and wallet APIs; handle network errors gracefully.
- Implement optimistic UI: show spin animation immediately, reconcile with server response.
- Local resilience
- Short network disconnect handling: queue UI actions, reconcile on reconnect, show status.
- Testing
- Playtests, cross-browser checks, mobile/tablet screen testing in kiosk mode.
- Deliverable
- Static bundle on CDN, integration tests, accessibility audit.
Game Launcher
- Landing page and session creation
- Simple page to pick FUN amount, start session on the kiosk device.
- Kiosk config: auto-fullscreen, disable navigation, inactivity timeout.
- Deliverable
Cross-cutting tasks
- CI/CD and infra
- container images, pipeline to deploy staging and prod.
- Observability
- Documentation
- API docs (OpenAPI), deployment guide, kiosk setup.
- QA and testing
Acceptance criteria for MVP
- Successful end-to-end flow: kiosk creates session, user bets FUN, spin resolves, wallet updated, and logs written.
- Monitoring and alerting configured for errors and anomalous payout metrics.