# Plan: Remove College Basketball (CBB) from iOS App **Status**: Complete **Created**: 2026-01-11 **Last Updated**: 2026-01-11 --- ## Overview **Goal**: Permanently remove all traces of College Basketball (CBB) from the SportsTime iOS app. **Reason**: Too many games (~5,000+ per season with ~360 Division I teams) creates complexity without sufficient user value. **Scope**: - Remove CBB from Sport enum and all related properties - Remove CBB theme colors - Remove CBB from documentation - No backend/CloudKit changes required - No saved trip migration needed (no users have CBB trips) --- ## Pre-Implementation Checklist - [ ] Confirm no active users have saved trips with CBB games - [ ] Verify CloudKit has no CBB data that needs cleanup --- ## Phase 1: Core Model Removal **Status**: Not Started Remove CBB from the Sport enum and its associated properties. | Status | Task | File | Details | |--------|------|------|---------| | [ ] | 1.1 Remove `.cbb` enum case | `Core/Models/Domain/Sport.swift` | Line 17: `case cbb = "CBB"` | | [ ] | 1.2 Remove CBB displayName | `Core/Models/Domain/Sport.swift` | Line 30: `"College Basketball"` in displayName computed property | | [ ] | 1.3 Remove CBB iconName | `Core/Models/Domain/Sport.swift` | Line 43: `"basketball.fill"` in iconName computed property | | [ ] | 1.4 Remove CBB color | `Core/Models/Domain/Sport.swift` | Line 56: `.mint` in color computed property | | [ ] | 1.5 Remove CBB seasonMonths | `Core/Models/Domain/Sport.swift` | Line 70: `(11, 4)` in seasonMonths computed property | | [ ] | 1.6 Remove CBB from `Sport.supported` | `Core/Models/Domain/Sport.swift` | Line 90: Remove `.cbb` from supported array | **Verification**: Build succeeds with no compiler errors about missing switch cases. --- ## Phase 2: Theme Cleanup **Status**: Not Started Remove CBB-specific theme colors and view modifier mappings. | Status | Task | File | Details | |--------|------|------|---------| | [ ] | 2.1 Remove `cbbMint` color constant | `Core/Theme/Theme.swift` | Line 131: `static let cbbMint = Color(hex: "3EB489")` | | [ ] | 2.2 Remove CBB case from `themeColor` | `Core/Theme/ViewModifiers.swift` | Line 220: `case .cbb: return Theme.cbbMint` | **Verification**: Build succeeds, no references to `Theme.cbbMint` remain. --- ## Phase 3: Documentation Updates **Status**: Not Started Update all documentation to reflect CBB removal. | Status | Task | File | Details | |--------|------|------|---------| | [ ] | 3.1 Remove CBB from Supported Leagues table | `README.md` | Line 29: Remove CBB row from table | | [ ] | 3.2 Update league count in features | `README.md` | Line 7: Change "8 professional and college leagues" to reflect new count | | [ ] | 3.3 Remove CBB section from data scraping docs | `docs/DATA_SCRAPING.md` | Lines 114-125: Remove entire CBB section | | [ ] | 3.4 Update TO-DOS.md | `TO-DOS.md` | Remove or mark complete task #10 | **Verification**: Documentation accurately reflects supported sports. --- ## Phase 4: Verification & Testing **Status**: Not Started Ensure the app builds, runs, and all tests pass. | Status | Task | Command/Action | Expected Result | |--------|------|----------------|-----------------| | [ ] | 4.1 Full build | `xcodebuild ... build` | BUILD SUCCEEDED | | [ ] | 4.2 Run all tests | `xcodebuild ... test` | All tests pass | | [ ] | 4.3 Manual UI verification | Launch in Simulator | CBB does not appear in any sport picker, filter, or settings | | [ ] | 4.4 Verify Sport.supported count | Code inspection | Array has correct number of sports (7 remaining) | **Build Command**: ```bash xcodebuild -project SportsTime.xcodeproj -scheme SportsTime -destination 'platform=iOS Simulator,name=iPhone 17,OS=26.2' build ``` **Test Command**: ```bash xcodebuild -project SportsTime.xcodeproj -scheme SportsTime -destination 'platform=iOS Simulator,name=iPhone 17,OS=26.2' test ``` --- ## Phase 5: Commit & Cleanup **Status**: Not Started | Status | Task | Details | |--------|------|---------| | [ ] | 5.1 Stage all changes | `git add -A` | | [ ] | 5.2 Create commit | Message: `chore: remove college basketball (CBB) from iOS app` | | [ ] | 5.3 Push to remote | If on feature branch | | [ ] | 5.4 Mark plan complete | Update this file's status to "Complete" | --- ## Files Changed Summary | File | Change Type | Lines Affected | |------|-------------|----------------| | `Core/Models/Domain/Sport.swift` | Modify | Remove CBB from enum + 5 computed properties | | `Core/Theme/Theme.swift` | Modify | Remove 1 color constant | | `Core/Theme/ViewModifiers.swift` | Modify | Remove 1 switch case | | `README.md` | Modify | Update table + feature count | | `docs/DATA_SCRAPING.md` | Modify | Remove ~12 lines (CBB section) | | `TO-DOS.md` | Modify | Remove/update task #10 | **Total**: 6 files --- ## Rollback Plan If issues arise, CBB can be restored by: 1. `git revert ` the removal commit 2. No data migration needed (CBB had no data) --- ## Notes - Views using `Sport.supported` will automatically exclude CBB once removed from the array - No CBB-specific views, view models, or tests exist - Python scraper already has no CBB implementation - No bundled JSON contains CBB data --- ## Progress Log | Date | Phase | Notes | |------|-------|-------| | 2026-01-11 | Planning | Plan created |