Skip to content

Tutorials

Familiarize yourself with CrossModel by going through these step-by-step tutorials. Each tutorial builds on the previous one, so we recommend following them in order.

The BrightGreen Electronics scenario

All tutorials use a shared fictional scenario: BrightGreen Electronics, a growing electronics retailer that needs an integrated data platform. You will act as a data modeler helping BrightGreen build a logical overview of their data landscape and design an integrated data model.

Prerequisites

Before starting the tutorials, make sure you have:

Getting the workspace for a tutorial

You do not have to build everything by hand. Every tutorial has a prepared workspace in the public crossmodel-examples repository, and the CrossModel welcome page can clone it for you in a few clicks - see the welcome page.

The Tutorials & Examples section builds its dropdowns from the branch names in that repository. Each /-separated part of a branch name becomes one dropdown, so you narrow your choice from left to right:

tutorials  /  mapping  /  with-multiple-sources
    │            │                 │
    │            │                 └─ third dropdown: the specific tutorial
    │            └─ second dropdown: the topic
    └─ first dropdown: what kind of workspace you want

Two questions after you press Clone

Select your workspace folder as the destination - the picker opens one level above it, so the default is next to your workspace rather than inside it. Then, when CrossModel asks whether to open the cloned repository or add it to the current workspace, press Close. See what happens after you press Clone.

Every branch starts from BrightGreen, the shared base data model described above, and adds only what that tutorial or example needs. That is what makes them interchangeable: whichever one you clone, you land in the same familiar BrightGreen landscape.

First dropdown What you get
BrightGreen The base data model on its own. This is the starting point for the tutorials that build from scratch
tutorials The starting point for a tutorial that builds on an earlier one - it contains the previous tutorial's result, so you can jump straight in
examples The finished result - what the workspace looks like once the tutorial is done. Clone this as a reference, or to skip the work

Not sure which to pick?

Clone the starting point if you want to follow the steps yourself, and the matching examples branch if you just want to look at a working result. You can clone both into separate workspaces and compare them side by side.

Starting points

A tutorial only gets its own tutorials/… branch when it needs the result of an earlier tutorial. The rest start from BrightGreen itself.

Tutorial Clone this to start
Datamodeling Fundamentals BrightGreen
Conceptual Modeling BrightGreen
Use the AI Assistants BrightGreen
Mapping Fundamentals BrightGreen
Add Expressions to a Mapping tutorials/mapping/with-expression
Creating a Mapping with Multiple Sources tutorials/mapping/with-multiple-sources

Finished results

Every tutorial has a matching examples/… branch holding the completed workspace:

Branch Result of
examples/data-modeling/fundamentals Datamodeling Fundamentals
examples/data-modeling/conceptual Conceptual Modeling
examples/ai-assistants/use Use the AI Assistants
examples/mapping/fundamentals Mapping Fundamentals
examples/mapping/with-expression Add Expressions to a Mapping
examples/mapping/with-multiple-sources Creating a Mapping with Multiple Sources

Code generation examples

These are finished workspaces with no matching tutorial - they show what CrossGenerate can produce for a specific target. Each is written up in the Examples section.

Branch Written up in
examples/code-generation/staging/… Generating staging tables
examples/code-generation/dwh/… Generating data warehouse views
examples/code-generation/documentation/… Generating documentation
examples/code-generation/dbt/nunjucks Generating dbt models
examples/code-generation/snowflake Generating Snowflake SQL

Learning path

1. Datamodeling Fundamentals

Create a logical data model from scratch. You'll learn how to create a workspace, define entities with attributes, build relationships, and use CrossModel's three editing perspectives (form, code, and diagram).

2. Conceptual Modeling

Capture what the business means before deciding how it is stored. You'll build a conceptual data model, see why its attributes carry no datatypes, and link the logical warehouse model to it so each entity records which concept it realizes.

3. Use the AI Assistants

Meet the team of AI assistants behind the chat and use them to reverse engineer a data model from SQL DDL files and documentation. You'll also learn how to ask questions about the models already in your workspace.

4. Mapping Fundamentals

Create your first data mapping to define how data flows from a source model to a target model. You'll learn how to map attributes between entities to create data lineage.

5. Add Expressions to a Mapping

Extend your mappings with transformation logic. You'll learn how to use expressions to calculate values, extract parts of dates, and concatenate fields from multiple sources.

6. Creating a Mapping with Multiple Sources

Build mappings that combine data from multiple source systems into a single target entity. You'll learn how to add multiple sources and define join conditions between them.

7. Extending the Metamodel with Type Definitions

Extend CrossModel's metamodel with your own types to attach extra properties to model objects and capture house standards. You'll learn how to create custom property definitions, build a type hierarchy with extends, apply a type to a model object, and how inherited property values are resolved and overridden.