{"id":23609834,"url":"https://github.com/rhettadam/peekorobo","last_synced_at":"2025-11-05T22:30:31.491Z","repository":{"id":269286200,"uuid":"906944659","full_name":"rhettadam/peekorobo","owner":"rhettadam","description":"A web application that provides detailed insights into FIRST Robotics Competition teams. ","archived":false,"fork":false,"pushed_at":"2025-02-09T03:57:33.000Z","size":5393,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T04:26:05.084Z","etag":null,"topics":["first-frc","first-robotics","first-robotics-competition","first-robotics-scouting","firstrobotics","frc","scouting","thebluealliance"],"latest_commit_sha":null,"homepage":"https://peekorobo-6ec491b9fec0.herokuapp.com/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rhettadam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-22T11:35:34.000Z","updated_at":"2025-02-09T03:57:36.000Z","dependencies_parsed_at":"2025-01-07T06:19:13.085Z","dependency_job_id":"17983b5b-1916-4362-a540-04116874f391","html_url":"https://github.com/rhettadam/peekorobo","commit_stats":null,"previous_names":["rhettadam/peekorobo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhettadam%2Fpeekorobo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhettadam%2Fpeekorobo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhettadam%2Fpeekorobo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhettadam%2Fpeekorobo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rhettadam","download_url":"https://codeload.github.com/rhettadam/peekorobo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239475956,"owners_count":19645041,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["first-frc","first-robotics","first-robotics-competition","first-robotics-scouting","firstrobotics","frc","scouting","thebluealliance"],"created_at":"2024-12-27T15:14:46.316Z","updated_at":"2025-11-05T22:30:31.455Z","avatar_url":"https://github.com/rhettadam.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"![logo](assets/logo.png)\n\n### **Peekorobo is a web application for analysing FRC team performance metrics, leveraging data from The Blue Alliance (TBA) to provide insights into team rankings, match performance, and historical trends.**\n\n---\n\n## Features\n\n### 1. **Team Profiles**\n\n![Team](assets/readme/Team.png)\n\n    General Info\n        - Team name and number\n        - Location (city, state, country)\n        - Rookie year\n        - Years participated\n        - Team website\n        - Team avatars\n    \n    Performance Metrics\n        - Global rank\n        - Country rank\n        - State rank\n        - EPA (Expected Points Added)\n        - Win/Loss ratio\n        - Average match score\n     \n    Events \u0026 Awards\n        - Team Events Table\n            - Event Name\n            - Year\n            - Event Dates\n            - TBA links\n        - Team Awards Table\n            - Award name\n            - Event name\n            \n### 2. **Team Dictionary**\n\n![Teams](assets/readme/Teams.png)\n\n    General Info\n        - Team name and number\n        - Location (City, State, Country)\n\n    Rankings\n        - Ranked by mean EPA\n        - Years before 2001 have no metrics\n\n    Filters\n        - Filter by year, country, and/or state\n        - Interactive search bar\n\n    Team Map\n        - Map of all registered 2025 teams\n        - Interactive and navigational\n        \n### 3. **Events Dictionary**\n\n![Event](assets/readme/Event.png)\n\n    General Info\n        - Event name\n        - Event website\n        - Event location (city, state, country)\n        - Event type (Regional, District, Championship, Season, Off-Season)\n        \n    Filters\n        - Filter by year, event type, week, or name.\n        - Sort by date or name\n        \n    Event Map\n        - Interactive map of all FRC events\n        - Dynamically updates according to filters\n    \n### 4. **Leaderboard**\n\n![Leaderboard](assets/readme/Leaderboard.png)\n\n    Filters\n        - Sort by year\n        - Metrics:\n            - Blue Banners\n            - Most Matches Played\n            - Highest Median Score by Event\n            - Highest Match Clean Score\n            - Highest Match Clean Combined Score\n            - Most Awards\n            - Most Non-Champs Event Wins\n            - Most Unique Teams Played With Against\n            \n    Rankings\n        - Clickable team links\n        - Ranks with medals\n\n### 5. **Challenge Dictionary**\n\n![Game](assets/readme/Game.png)\n\n    - Dictionary of FRC challenges from 1992-2025\n    \n    - Includes:\n        - Challenge name, year, and logo\n        - Challenge summary\n        - Game manual\n        - Game reveal video  \n\n---\n\n## Tech Stack\n\n### Backend\n- **Python**\n- **Flask**: Handles the server-side operations and routing.\n- **Heroku**: Platform for deploying Peekorobo.\n- **The Blue Alliance API**: Used for fetching data about teams, events, and awards.\n  **JSON Files**: Store pre-fetched team data and calculated EPA locally (see /geo and /team_data)\n\n### Frontend\n- **Dash**: Framework for building the web application.\n- **Plotly**: Generates dynamic and interactive plots.\n\n---\n\n## Setup\n\n### Local Installation\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/rhettadam/peekorobo.git\n   cd peekorobo\n   ```\n\n2. Install dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. Set up environment variables:\n   - Create a `.env` file in the root directory.\n   - Add your TBA API key:\n     ```env\n     TBA_API_KEY=your_api_key_here\n     ```\n\n4. Run the application:\n   ```bash\n   python app.py\n   ```\n\n5. Access the app in your browser at `http://127.0.0.1:8050`.\n\n### Heroku Development Build\nYou can visit the Heroku Development Build here:\n\nhttps://peekorobo-6ec491b9fec0.herokuapp.com/\n---\n\n## **License**\n\nPeekorobo is licensed under the **MIT License**. See the LICENSE file for details.\n\nCopyright (c) 2024 Rhett R. Adam\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhettadam%2Fpeekorobo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frhettadam%2Fpeekorobo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhettadam%2Fpeekorobo/lists"}