Skip to content

Domain Glossary System

πŸ“˜ Project Purpose

The Domain Glossary System is designed to support teams in building a shared understanding of a project's domain language. It helps document and manage the ubiquitous languageβ€”the core terminology used in domain-driven design (DDD)β€”ensuring alignment between domain experts and technical teams.

By organizing the domain into Projects β†’ Contexts β†’ Terms, this system acts as a single source of truth for:

  • Standardizing definitions used across teams.
  • Capturing examples and usage scenarios from domain conversations.
  • Reducing ambiguity in communication between developers and domain experts.
  • Enabling smoother translation of domain concepts into software models and code.

πŸ“‚ Core Concepts

1. Project

Represents the overall business or technical initiative (e.g., "E-commerce Platform", "HRMS System").

2. Context

Represents a bounded area within a project where specific language is used consistently (e.g., "Checkout Context", "Leave Management Context").

3. Term

Each term includes: - Name: The keyword or concept (e.g., "Cart", "Leave Request"). - Definition: A clear, concise explanation of the term. - Examples: Real-world usage or domain conversation quotes that illustrate the term in context.

🎯 Goal

The goal of this system is to bridge the gap between business and technical understanding by maintaining a living domain dictionary that evolves alongside the project. This makes it easier to:

  • Convert domain knowledge into domain models.
  • Write meaningful and context-aware code.
  • Support training, onboarding, and documentation with domain-rich content.

πŸ› οΈ Use Cases

  • Capture terms discussed during domain discovery and modeling sessions.
  • Improve communication between developers, analysts, and domain experts.
  • Drive consistency in code by aligning it with domain definitions.
  • Prevent misunderstandings and duplication of logic due to vague terminology.

β€œA shared language between business and developers is the foundation of good software.”
β€” Inspired by Domain-Driven Design principles