Currently supports a single custom ruleset called "Pick 2".
Uses the db-migrate library for db migrations:
bun install
bunx --bun --no-install db-migrate -e prod up
The service runs with Bun and uses bun.lock for reproducible dependency
installs. Bun 1.3.9 or newer is expected.
The service exposes an administrative interface at /admin on the same host as
the GraphQL API. It uses HTTP Basic Authentication and is disabled unless
ADMIN_PASSWORD is set. The username defaults to admin and can be changed
with ADMIN_USERNAME.
ADMIN_USERNAME=admin
ADMIN_PASSWORD='use-a-long-random-password'Only use the admin site over HTTPS. Render terminates HTTPS for deployed web services. Admin responses are not cacheable, cross-origin form submissions are rejected, and there are no delete actions. Existing games and picks can only be modified one at a time. CSV schedule imports preview the parsed games first and only add games that are not already present; they never overwrite or delete an existing game.
The admin interface supports:
- adding games and editing one game's schedule or score;
- applying individual tags to sports teams and games;
- updating achievement names, descriptions, Iconify IDs, and active status;
- previewing and importing NFL schedule CSV in
week,start_time,away_team_short_name,home_team_short_nameformat; - viewing all picks, including invalidated picks, by league and week;
- invalidating one pick or creating one pick for a league member;
- creating leagues and managing active-league memberships;
- creating users.
No database migration is required for the admin site.