A Dash-based viewer for exploring BoardGameGeek data warehouse.
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.
- Advanced game search with multiple filtering options
- Interactive visualizations of game data
- Detailed game information pages
- Responsive design for desktop and mobile
- Python 3.12 or higher
- Access to a Google Cloud project with BigQuery
- Service account credentials with BigQuery access
- Clone the repository:
git clone https://github.com/yourusername/bgg-dash-viewer.git
cd bgg-dash-viewer- Create a virtual environment using UV:
uv venv- Activate the virtual environment:
# On Windows
.venv\Scripts\activate
# On macOS/Linux
source .venv/bin/activate- Install dependencies:
uv sync- Copy the example environment file and update it with your settings:
cp .env.example .env- Run the application:
python dash_app.pybgg-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
pytest# Format code with black
black .
# Lint code with ruff
ruff check .The application can be deployed to various platforms:
python dash_app.pygunicorn dash_app:serverMIT