diff --git a/README.md b/README.md index 14d3ba6..d16b9ba 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ An iOS app for planning multi-stop sports road trips across North America. Plan ## Features -- **Multi-Sport Trip Planning** - Plan trips across 8 professional and college leagues +- **Multi-Sport Trip Planning** - Plan trips across 7 professional leagues - **Three Planning Modes** - **By Date Range** - Find the best games within your travel window - **By Must-See Games** - Build a trip around specific matchups you want to attend @@ -26,7 +26,6 @@ An iOS app for planning multi-stop sports road trips across North America. Plan | MLS | Soccer | February - December | | WNBA | Basketball | May - October | | NWSL | Soccer | March - November | -| CBB | College Basketball | November - April | ## Requirements diff --git a/SportsTime/Core/Models/Domain/Sport.swift b/SportsTime/Core/Models/Domain/Sport.swift index f7aeba6..6a8b3fa 100644 --- a/SportsTime/Core/Models/Domain/Sport.swift +++ b/SportsTime/Core/Models/Domain/Sport.swift @@ -14,7 +14,6 @@ enum Sport: String, Codable, CaseIterable, Identifiable { case mls = "MLS" case wnba = "WNBA" case nwsl = "NWSL" - case cbb = "CBB" var id: String { rawValue } @@ -27,7 +26,6 @@ enum Sport: String, Codable, CaseIterable, Identifiable { case .mls: return "Major League Soccer" case .wnba: return "Women's National Basketball Association" case .nwsl: return "National Women's Soccer League" - case .cbb: return "College Basketball" } } @@ -40,7 +38,6 @@ enum Sport: String, Codable, CaseIterable, Identifiable { case .mls: return "soccerball" case .wnba: return "basketball.fill" case .nwsl: return "soccerball" - case .cbb: return "basketball.fill" } } @@ -53,7 +50,6 @@ enum Sport: String, Codable, CaseIterable, Identifiable { case .mls: return .green case .wnba: return .purple case .nwsl: return .teal - case .cbb: return .mint } } @@ -67,7 +63,6 @@ enum Sport: String, Codable, CaseIterable, Identifiable { case .mls: return (2, 12) // February - December case .wnba: return (5, 10) // May - October case .nwsl: return (3, 11) // March - November - case .cbb: return (11, 4) // November - April (wraps, March Madness) } } @@ -87,7 +82,7 @@ enum Sport: String, Codable, CaseIterable, Identifiable { /// Currently supported sports static var supported: [Sport] { - [.mlb, .nba, .nfl, .nhl, .mls, .wnba, .nwsl, .cbb] + [.mlb, .nba, .nfl, .nhl, .mls, .wnba, .nwsl] } } diff --git a/SportsTime/Core/Theme/Theme.swift b/SportsTime/Core/Theme/Theme.swift index f341fbf..645b43c 100644 --- a/SportsTime/Core/Theme/Theme.swift +++ b/SportsTime/Core/Theme/Theme.swift @@ -128,7 +128,6 @@ enum Theme { static let mlsGreen = Color(hex: "00A651") static let wnbaPurple = Color(hex: "FF6F20") // WNBA orange static let nwslTeal = Color(hex: "009688") // NWSL teal - static let cbbMint = Color(hex: "3EB489") // College Basketball mint // MARK: - Dark Mode Colors diff --git a/SportsTime/Core/Theme/ViewModifiers.swift b/SportsTime/Core/Theme/ViewModifiers.swift index 3e3e734..3c2af8a 100644 --- a/SportsTime/Core/Theme/ViewModifiers.swift +++ b/SportsTime/Core/Theme/ViewModifiers.swift @@ -217,7 +217,6 @@ extension Sport { case .mls: return Theme.mlsGreen case .wnba: return Theme.wnbaPurple case .nwsl: return Theme.nwslTeal - case .cbb: return Theme.cbbMint } } } diff --git a/docs/DATA_SCRAPING.md b/docs/DATA_SCRAPING.md index 2163ea3..c2aa166 100644 --- a/docs/DATA_SCRAPING.md +++ b/docs/DATA_SCRAPING.md @@ -4,7 +4,7 @@ This document describes the SportsTime schedule scraping system, including all d ## Overview -The scraping system (`Scripts/scrape_schedules.py`) fetches game schedules for 8 sports leagues from multiple data sources. It uses a **multi-source fallback architecture** to ensure reliability—if one source fails or returns insufficient data, the system automatically tries backup sources. +The scraping system (`Scripts/scrape_schedules.py`) fetches game schedules for 7 sports leagues from multiple data sources. It uses a **multi-source fallback architecture** to ensure reliability—if one source fails or returns insufficient data, the system automatically tries backup sources. ## Supported Sports @@ -17,7 +17,6 @@ The scraping system (`Scripts/scrape_schedules.py`) fetches game schedules for 8 | WNBA | Women's National Basketball Association | 2025 | ~200 | | MLS | Major League Soccer | 2025 | ~500 | | NWSL | National Women's Soccer League | 2025 | ~180 | -| CBB | NCAA Division I Basketball | 2025-26 | ~5,000+ | ## Data Sources by Sport @@ -111,19 +110,6 @@ Each sport has 3 data sources configured in priority order. The scraper tries so - ESPN's league ID for NWSL is `usa.nwsl` - 14 teams, ~180 regular season games -### CBB (College Basketball - Division I) - -| Priority | Source | URL Pattern | Min Games | -|----------|--------|-------------|-----------| -| 1 | ESPN API | `site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/scoreboard` | 1,000 | -| 2 | Sports-Reference | `sports-reference.com/cbb/seasons/{year}-schedule.html` | 500 | -| 3 | CBS Sports | `cbssports.com/college-basketball/schedule/` | 300 | - -**Notes:** -- ~360 Division I teams = 5,000+ games per season -- ESPN provides group filtering (D1 = group 50) -- Season runs November-April (March Madness) - ## Fallback Architecture ### ScraperSource Configuration @@ -196,10 +182,10 @@ python scrape_schedules.py --sport all --season 2026 --output ./custom_data | Option | Values | Default | Description | |--------|--------|---------|-------------| -| `--sport` | `nba`, `mlb`, `nhl`, `nfl`, `wnba`, `mls`, `nwsl`, `cbb`, `all` | `all` | Sport(s) to scrape | +| `--sport` | `nba`, `mlb`, `nhl`, `nfl`, `wnba`, `mls`, `nwsl`, `all` | `all` | Sport(s) to scrape | | `--season` | Year (int) | `2026` | Season ending year | | `--stadiums-only` | Flag | False | Only scrape stadium data (legacy method) | -| `--stadiums-update` | Flag | False | Scrape ALL stadium data for all 8 sports | +| `--stadiums-update` | Flag | False | Scrape ALL stadium data for all 7 sports | | `--output` | Path | `./data` | Output directory | ## Output Format