Tech Concept Learning
The core concepts behind how the team designs, builds, tests, and documents software.
Domain-Driven Design
In acceptance of Conway’s Law, the team has adopted Domain Driven Design to produce systems that align better with the company and are easier to build and maintain.
tip
Domain-Driven Design is neither a framework nor a library — but rather an approach to software development that fundamentally changes how you approach problems as a software developer.
Domain Driven Design Resources
Videos
- ▶️ Domain Driven Design: The Good Parts (50 minutes)
- ▶️ DDD Fundamentals Playlist
Books
Atomic Design
An approach used to help structure concepts in UI development.
Atomic Design Resources
Websites
- 🌐 Atomic Design — Brad Frost
- 🌐 Atomic Design & Storybook — Brad Frost
- 🌐 Structuring Storybook — Storybook Blog
- 🌐 Atomic Design in Figma — Figma Blog
General Architecture Concepts
Event Types
| Type | When it's used | Example | Naming convention |
|---|---|---|---|
| Document Events | Triggered when a field in a payload has been updated | Applicant’s last name is updated | Nouns → available-pizza-toppings |
| Business Events | Triggered when a business fact has occurred | Case Worker approves Pathways Application | Past Tense Verb → pizza-delivered |
| Commands | When an external system expects the system to perform a particular action | — | Verb → order-pizza |
| Synchronous Requests | When an external system connects, sends a message, and waits for an immediate response | — | Verb prefixed with request → request-order-pizza |
Testing
BDD — Behavior Driven Development
OneNote
Please also refer to the OneNote document in: CXA-UX and Dev → Standards → BDD
TDD — Test Driven Development
OneNote
Please refer to the OneNote document in: CXA-UX and Dev → Standards → TDD
Documentation Concepts
- 🌐 Introduction
- UML Sequence Diagrams