In Issue #8, it was mentioned you wanted to create some Network Graphs. Those weren't really discussed in detail in 550 except to mention that they existed, mostly because they have limited utility.
For your application though, I can see a good use-case for Network Graphs. Network graphs don't exist by default in Altair, but there is another library, nx_altair that builds network graphs with altair but that's only if you're feeling brave.
A better way to do this would probably be to use the poorly library. Have a look at this article that shows how to make network graphs in plotly and control it with Dash.
Related to #8 again, the Lecture instructions only include deployment of the dashboard on Heroku, but it's pretty similar (moderately more complicated) to deploy things on AWS.
That being said, you should make sure it's deployed on Heroku first because it's a lot simpler and you want to make sure you have a minimally viable product deployed on Heroku.
Additional dashboard enhancements that may be included depending on timelines and for discussion with @firasm and @Davddng
Putting the board game spreadsheet into a database format and calling directly from the database - potentially worth trying to start implementing early on to avoid rewriting code
Automated updating of the board game database using the scraper available to do so (likely implemented at the very end of the project)
Doing an unsupervised learning analysis and showing the results in a network graph of similar games (separate tab on the dashboard), potentially showing on a 3D plot using the first 3 principle components or something similar if it works - another at the end item
Having all or some components of the dashboard AWS based. Initial thoughts include: calculations run using AWS lambda (on demand calcs and would potentially be only applicable to the unsupervised learning analysis), storing the database in dynamoDB or AWS RDS, or implementing full deployment through beanstalk - another in the last week thing going from Heroku to direct AWS hosting
These were not completed as part of v1.0.0 of the app but are items that may be completed in the future:
Consider modification to tab 1 figure 1 to potentially add a toggle for turning on/off points and have all selections shows a mean line (potentially with quantiles shaded) - on the fly mean lines/quantiles in Altair would either need to be preprocessed or use the experimental Altair transformer (originally noted in Issues #34).
Adding a year range filter to all graphs in app.
Adding a user rating count filter to the 3D graph.
Improve some of the app layouts to scale better on different browsers.
Alphabetize lists
Provide option to filter categories instead of multiple select on 3D explorer.
Dashboard items to be fixed-up Monday for Milestone 2:
fix error that occurs in tab 1 top 2 figures when switching radio buttons
update bar charts so time slider goes above charts and so the output for each series of charts is a single faceted image
make the default on tab 2 have something that shows a graph
switch the order of the board game names in the tab 2 bar chart
remove game family from the table and cut down the words in the game table headers
update the Graph title to be capitalized on tab 2
update dashboard so that it loads the dataset from csv only once
add tooltips/interactivity to Altair plots (where it makes sense) - if slows down performance can go into #34
if there are no data in the elements selected the legend in the tab 1 top two figures, the legend default to a 'varying range' with nan - this should be fixed
put a subnote/subtitle below the title on the top figure on tab 1 that says "Annual average rating for all board games shown by grey line"
The GitHub Actions worklow to run get data from the BoardGameGeek API and process it for the app is triggered manually. The plan is to update to automatically trigger every 2-weeks. As part of this, a failed API call needs to have progressive back-off instead of failing the process as it does currently.
Create basic functionality for Python Dash dashboard. Focus is on making everything in the proposal work, any major formatting can be done during Milestone 4 (unless time permits).