12Data model

Data Model (Core Entities)

Eleven entities carry the product.

EntityFields & purpose
UserAccount, roles (fighter, referee, judge, fan, admin), language (EN/ES), location, age/verification status.
FighterProfileNickname, photo, federation(s), tier, record (W/L/draw/streak), availability, home region, public stats.
PillowSerial code, model, owner, registration status, fights used in. Serial links to official fights (anti-cheat).
FightTier, fighters (A/B), type (home/official), status (proposed → confirmed → in_progress → result_pending → recorded / disputed), timestamps.
FightResultWinner, loser, mutual agreement flag, referee validation, judge session reference.
JudgeSession / JudgeScoreFight id, judge link token, per-round rule-button scores, final tally.
DigitalFighterCardFighter id, series, edition number (e.g. 042/100), print status, owner, price.
Tip / PayoutSender, fighter, amount, platform fee, payout status.
PowerUpPurchaseType, buyer, target, expires_at, effect applied.
FederationAbstraction layer: PFC today; boxing/MMA rookies later. Each federation carries its own name, rules template, pillow/equipment model and admin scope.
ContentBilingual strings and rule text per federation and per locale.