Skip to content

phenrickson/bgg-dash-viewer

Repository files navigation

BGG Dash Viewer

A Dash-based viewer for exploring BoardGameGeek data warehouse.

Overview

BGG Dash Viewer is a web application built with Dash that provides an interactive interface for exploring and searching through BoardGameGeek board game data stored in a BigQuery data warehouse.

Features

  • Advanced game search with multiple filtering options
  • Interactive visualizations of game data
  • Detailed game information pages
  • Responsive design for desktop and mobile

Installation

Prerequisites

  • Python 3.12 or higher
  • Access to a Google Cloud project with BigQuery
  • Service account credentials with BigQuery access

Setup

  1. Clone the repository:
git clone https://github.com/yourusername/bgg-dash-viewer.git
cd bgg-dash-viewer
  1. Create a virtual environment using UV:
uv venv
  1. Activate the virtual environment:
# On Windows
.venv\Scripts\activate

# On macOS/Linux
source .venv/bin/activate
  1. Install dependencies:
uv sync
  1. Copy the example environment file and update it with your settings:
cp .env.example .env
  1. Run the application:
python dash_app.py

Development

Project Structure

bgg-dash-viewer/
├── assets/                # Dash static assets (CSS)
├── config/                # Configuration files
│   └── bigquery.yaml      # BigQuery configuration
├── dash_app.py            # Main application entry point
├── static/                # Flask static assets (landing page CSS)
├── templates/             # Flask templates (landing page HTML)
├── src/                   # Source code
│   ├── callbacks/         # Dash callbacks
│   ├── components/        # Reusable Dash components
│   ├── data/              # Data handling
│   └── layouts/           # Page layouts
└── tests/                 # Tests

Running Tests

pytest

Code Formatting

# Format code with black
black .

# Lint code with ruff
ruff check .

Deployment

The application can be deployed to various platforms:

Local Development Server

python dash_app.py

Production Deployment with Gunicorn

gunicorn dash_app:server

License

MIT

About

Dash application for viewing BGG data

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors