https://github.com/astrowonk/aoc_dashboard
Dash app that loads and parses Advent of Code leadboard json
https://github.com/astrowonk/aoc_dashboard
advent-of-code dashboad plotly-dash python
Last synced: 11 months ago
JSON representation
Dash app that loads and parses Advent of Code leadboard json
- Host: GitHub
- URL: https://github.com/astrowonk/aoc_dashboard
- Owner: astrowonk
- License: gpl-2.0
- Created: 2021-12-14T02:17:12.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-12-01T20:14:43.000Z (over 1 year ago)
- Last Synced: 2025-07-07T06:43:31.192Z (12 months ago)
- Topics: advent-of-code, dashboad, plotly-dash, python
- Language: Python
- Homepage:
- Size: 45.9 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Advent of Code Private Leaderboard in Dash
Dash app that loads and parses Advent of Code leadboard json
The app is [running live on my web site](https://marcoshuerta.com/dash/aoc/), go check it out there! Upload your own private leaderboard JSON and see it in action.
Uses `dcc.Upload` and `dcc.Store` to load and store JSON from the AoC API, which is then parsed into pandas dataframes and figures by my [aoc_scoreboard](https://github.com/astrowonk/aoc_scoreboard) module.
With the default config file, the app will display an upload widge to accept uploaded JSON. Create your own `config.py` file if you wish to change settings to use server-side JSON and disable upload. Similarly you can change the base_url via the config file if self-hosting.
Clickable column headers that link to the day's AoC problem and [bootstrap tooltips](https://dash-bootstrap-components.opensource.faculty.ai/docs/components/tooltip/) are courtesy of the callable one can pass to modify the header row in my [Dash DataFrame Table](https://github.com/astrowonk/dash_dataframe_table) module, so if you want to deploy this yourself, you'll need to install that module as well.
Things to do:
* Improve upon the rudimentary layout. Tabs may not be the best way to organize things.
* If the data store is empty/missing an upload, show some sort of example data. (or perhaps a "load example data" button...)
# Sample Images
## Day by Day Leaderboard

## Score Line Graph

## Minutes between Stars Table