orbit-scoreboard

byDaniel Edwards

I want to build a scoreboard of mlb, nba, nfl, and nhl scores that I can display on a screen in my mancave

LandingSetupLoginDashboardPreviewSettingsScoreboardDisplayGame DetailSummary
Landing

Comments (0)

No comments yet. Be the first!

Project Tasks22

#12

Research Sports Data Provider

To Do

As a backend developer, I want to evaluate and select a free sports data API (ESPN undocumented API, TheSportsDB, or similar) so that we have a reliable, cost-free source for live and historical MLB, NBA, NFL, and NHL scores. Produce an integration decision document covering rate limits, endpoints, data freshness, and fallback strategy.

AI 70%
Human 30%
High Priority
1 day
AI Credits:5
Backend Developer
#1

Implement Landing Page

To Do

As a visitor, I want to see an engaging landing page so that I understand the app's purpose and can navigate to login or get started. Implement the existing Landing v2 JSX design into a fully functional React component with routing to Login and Setup flows.

AI 92%
Human 8%
High Priority
1 day
AI Credits:8
Frontend Developer
#13

Build API Key Config Endpoint

To Do

As an admin, I want to securely store and validate third-party sports API keys via a configuration endpoint so that the backend can authenticate with data providers. Implement POST /api/config/keys with encrypted storage, validation against the provider, and a status response.

Depends on:#12
Waiting for dependencies
AI 85%
Human 15%
High Priority
1 day
AI Credits:6
Backend Developer
#2

Align Color and Theme

To Do

As a UI/UX Designer, I want a consistent color palette and typography system across all pages so that the scoreboard app has a cohesive mancave sports aesthetic. Define CSS variables, Tailwind config extensions, or a theme provider covering primary, secondary, accent, background, and text colors for all 10 pages.

Depends on:#1
Waiting for dependencies
AI 85%
Human 15%
High Priority
1 day
AI Credits:6
UI/UX Designer
#3

Implement Login Page

To Do

As a guest or owner, I want to log in securely so that I can access the dashboard and scoreboard. Implement the existing Login v2 JSX design with form validation, error states, and routing to Dashboard on success.

Depends on:#2
Waiting for dependencies
AI 90%
Human 10%
High Priority
1 day
AI Credits:7
Frontend Developer
#5

Implement Dashboard Page

To Do

As an admin or owner, I want a central dashboard so that I can manage leagues, navigate to settings, and monitor scoreboard status at a glance. Implement the existing Dashboard v2 JSX design with summary widgets, league status indicators, and navigation links to all admin flows.

Depends on:#2
Waiting for dependencies
AI 90%
Human 10%
High Priority
1.5 days
AI Credits:8
Frontend Developer
#4

Implement Setup Page

To Do

As an owner, I want to complete an initial setup wizard so that I can configure API keys, select sports leagues, set display mode, and configure refresh rate before launching the live scoreboard. Implement the existing Setup v2 JSX design with multi-step form state management and navigation to Preview.

Depends on:#2
Waiting for dependencies
AI 88%
Human 12%
High Priority
2 days
AI Credits:8
Frontend Developer
#21

Build User Preferences API

To Do

As an owner or admin, I want my sport preferences, display settings, and refresh rate saved and retrievable via API so that my configuration persists across sessions. Implement GET and PUT /api/preferences endpoints with per-user storage of league selection, display mode, refresh interval, and layout config.

Depends on:#13
Waiting for dependencies
AI 87%
Human 13%
Medium Priority
1.5 days
AI Credits:7
Backend Developer
#14

Integrate Sports Data Layer

To Do

As a backend developer, I want a shared sports data integration service so that all league-specific endpoints can fetch, normalize, and cache data from the selected provider without duplicating logic. Implement a provider adapter, response normalization schema, and Redis or in-memory caching layer.

Depends on:#12#13
Waiting for dependencies
AI 82%
Human 18%
High Priority
2 days
AI Credits:9
Backend Developer
#6

Implement Scoreboard Page

To Do

As a viewer, I want to browse live and recent scores across MLB, NBA, NFL, and NHL in a tabbed scoreboard so that I can quickly check any sport. Implement the existing Scoreboard v2 JSX design with league tabs, score cards, live indicators, and polling integration for real-time updates.

Depends on:#2
Waiting for dependencies
AI 88%
Human 12%
High Priority
2 days
AI Credits:9
Frontend Developer
#15

Build MLB Scores API

To Do

As a viewer, I want live and recent MLB game scores served from a backend endpoint so that the scoreboard displays accurate baseball data. Implement GET /api/scores/mlb returning current-day games, scores, inning, and game status, sourced from the integrated sports data layer.

Depends on:#14
Waiting for dependencies
AI 88%
Human 12%
High Priority
1 day
AI Credits:7
Backend Developer
#7

Implement Game Detail Page

To Do

As a viewer, I want to see detailed stats and play-by-play for a specific game so that I can follow the action closely. Implement the existing Game Detail v1 JSX design with score breakdown, team stats, and a back-navigation to the Scoreboard.

Depends on:#6#2
Waiting for dependencies
AI 88%
Human 12%
High Priority
1.5 days
AI Credits:8
Frontend Developer
#18

Build NHL Scores API

To Do

As a viewer, I want live and recent NHL game scores served from a backend endpoint so that the scoreboard displays accurate hockey data. Implement GET /api/scores/nhl returning current-day games, scores, period, and game status, sourced from the integrated sports data layer.

Depends on:#14
Waiting for dependencies
AI 88%
Human 12%
High Priority
1 day
AI Credits:7
Backend Developer
#17

Build NFL Scores API

To Do

As a viewer, I want live and recent NFL game scores served from a backend endpoint so that the scoreboard displays accurate football data. Implement GET /api/scores/nfl returning current-week games, scores, quarter, and game status, sourced from the integrated sports data layer.

Depends on:#14
Waiting for dependencies
AI 88%
Human 12%
High Priority
1 day
AI Credits:7
Backend Developer
#9

Implement Settings Page

To Do

As an admin or owner, I want to configure per-sport settings, refresh rate, and display preferences so that the scoreboard behaves exactly how I want. Implement the existing Settings v2 JSX design with tabbed sport configuration, refresh interval selector, and save/cancel actions.

Depends on:#5#2
Waiting for dependencies
AI 90%
Human 10%
High Priority
1.5 days
AI Credits:7
Frontend Developer
#8

Implement Summary Page

To Do

As a viewer, I want to see a daily summary of scores and highlights so that I can catch up on games I missed. Implement the existing Summary v1 JSX design with date navigation, completed game results grouped by league, and links to individual game recaps.

Depends on:#6#2
Waiting for dependencies
AI 88%
Human 12%
Medium Priority
1.5 days
AI Credits:7
Frontend Developer
#16

Build NBA Scores API

To Do

As a viewer, I want live and recent NBA game scores served from a backend endpoint so that the scoreboard displays accurate basketball data. Implement GET /api/scores/nba returning current-day games, scores, quarter, and game status, sourced from the integrated sports data layer.

Depends on:#14
Waiting for dependencies
AI 88%
Human 12%
High Priority
1 day
AI Credits:7
Backend Developer
#19

Build Game Detail Stats API

To Do

As a viewer, I want detailed game stats and play-by-play data from a backend endpoint so that the Game Detail page shows rich in-game information. Implement GET /api/games/:gameId/detail returning team stats, scoring summary, and player highlights for all four leagues.

Depends on:#18#16#15#14#17
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
AI Credits:8
Backend Developer
#11

Implement Display Layout Page

To Do

As an admin, I want to configure the visual layout of the scoreboard display so that it fits my mancave TV setup. Implement the existing Display v1 JSX design with layout grid options, font size controls, sport widget ordering, and a link to Preview.

Depends on:#2#9
Waiting for dependencies
AI 88%
Human 12%
Medium Priority
1.5 days
AI Credits:7
Frontend Developer
#22

Build Score History and Recap Export API

To Do

As an owner, I want to retrieve historical score data and export game recaps so that I can review past results and share summaries. Implement GET /api/history with date and league filters, and GET /api/history/export returning a CSV or JSON recap file for the selected date range.

Depends on:#16#18#21#17#15
Waiting for dependencies
AI 83%
Human 17%
Medium Priority
2 days
AI Credits:7
Backend Developer
#20

Build Real-Time Polling Service

To Do

As a viewer, I want scores to refresh automatically at a configurable interval so that I always see the latest game state without manually reloading. Implement a server-side polling scheduler and a GET /api/scores/refresh endpoint (or WebSocket channel) that respects the admin-configured refresh rate setting.

Depends on:#15#16#18#17#14
Waiting for dependencies
AI 82%
Human 18%
High Priority
2 days
AI Credits:9
Backend Developer
#10

Implement Preview Page

To Do

As an owner or admin, I want to preview the configured scoreboard layout before going live so that I can confirm everything looks correct. Implement the existing Preview v2 JSX design with a simulated scoreboard render using current settings and a Launch button that transitions to the live Scoreboard.

Depends on:#2#9#6
Waiting for dependencies
AI 90%
Human 10%
Medium Priority
1 day
AI Credits:6
Frontend Developer
Login: Sign In
Dashboard: View Overview
Dashboard: Manage Leagues
Settings: Configure MLB
Settings: Configure NBA
Settings: Configure NFL
Settings: Configure NHL
Settings: Set Refresh Rate
Settings: Save Preferences
Display: Configure Layout
Display: Preview Scoreboard