Pricing

Free Resources

Talk to a person
Login Sign up free

Made in Lithuania, EU
Copyright Ⓒ 2021 – 2025 Codigy, UAB

C4 Model Entities

Codigy Catalog supports the following C4 model entities:
  • Component

  • System container

  • User

  • Third-party system

  • Connection lines

Component

The most basic building block of the C4 model. Each thing in your product that does something is a component. Say you have a PDF generator - it’s a component. If there are more functions to it, you can granularly describe each function by nesting more components inside:

PDF generator
- PDF reader
- PDF converter
- PDF exporter

How detailed should you be with your components? It can be very high-level or detailed. We follow a simple rule: If your team wants to discuss and evaluate it, it should be on the map.

What you can nest inside: Only components (If you want to describe a more complicated sub-system, use a system container)
Domain & value stream: Can be assigned
Ownership: Can be assigned
Lifecycle stage: Can be assigned

System Container

Enables you to group items that are related by context. With system containers, you can visualise your domains and complicated systems.

Say you have six services for various operations related to payment processing - you would group them into a Payments system container.

What you can nest inside: Components, Other System Containers, Users, Third-Party Systems
Domain & value stream: Can be assigned
Ownership: Can be assigned
Lifecycle stage: Can be assigned

User

Along with the connection lines, it allows you to visualise how your product is consumed and where value comes from.

Say you have a marketplace. Most likely, you have seller, buyer, and other user types. Add users and connect them with relevant components and system containers to visualise your value streams.

What you can nest inside: Nesting is not supported
Domain & value stream: Can be assigned
Ownership: Can be assigned
Lifecycle stage: Can be assigned

Third-party system

Payment gateways, cloud storage, and authentication systems. We don’t usually build them, but we do have to maintain integrations.
Adding them to your C4 map allows you to accurately describe how your product works. Helpful for onboarding new people and alignment between teams.

What you can nest inside: Nesting is not supported
Domain & value stream: Can be assigned
Ownership: Can be assigned
Lifecycle stage: Can be assigned

Connection Lines

Connect any C4 map entity with each other and add anotation. An annotation usually contains:

  • The reason for connection between items (access, request, update);

  • Means of communication (like API call);

What you can nest inside: Not supported
Domain & value stream: Can be assigned
Ownership: Not supported
Lifecycle stage: Not supported