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:
- A CrossModel account - sign up at app.crossmodel.cloud
- Familiarity with the CrossModel User Interface and the Model Explorer
- A basic understanding of data modeling concepts - see the Glossary if any terms are unfamiliar
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.