Explore Example Project
This is a complete Bruin project that ingests chess data from the Chess.com API into a local DuckDB database and builds a player summary report. Browse the files below to see how a real project is structured.
chess-project/
What's Inside
The project has two root config files and a pipeline with assets organized by layer:
.bruin.yml— Project-level configuration: DuckDB and Chess.com connections.chess-pipeline/pipeline.yml— Pipeline definition usingingestrto pull from Chess.com into DuckDB.assets/raw/— Ingestion assets that land source data as-is:games.asset.yml— Chess game data.profiles.asset.yml— Player profile data.
assets/reports/— Transformed assets that build on raw data:player_summary.sql— Joins games and profiles to produce win rates by color.
Setup
Fill in .bruin.yml with your connections. You can read more about connections here.
The template comes pre-configured with 10 popular Chess.com players. You can modify the players list in your chess connection to track different players.
Running the Pipeline
Run the whole pipeline:
shell
bruin run chess-pipeline/pipeline.ymlOr run a single asset:
shell
bruin run chess-pipeline/assets/reports/player_summary.sqlYou can optionally pass a --downstream flag to run an asset with all of its downstreams.