Skip to content

Zwerfkei Documentation

Welcome to the Zwerfkei Documentation Repository.
This repository provides centralised documentation for all Zwerfkei services and applications. It is intended as the single source of truth for developers, engineers, and stakeholders.


Purpose

  • To document the architecture, APIs, workflows, and integrations of all Zwerfkei platforms.
  • To provide consistent guidelines and best practices across all services.
  • To help onboard new developers quickly and efficiently.

Repository Structure

/
│
├── README.md                         → About this documentation repo
│
├── overview.md                       → Platform overview, current & target architecture
│
├── glossary.md                       → Terminology and abbreviations used within Zwerfkei
│
├── domains/                          → Business domain documentation (DDD)
│   ├── product/                      → Products, variants, categories, attributes, wishlist, compare
│   ├── price.md                      → Pricing components: base price, discount, tax, uplift
│   ├── customer.md                   → Customer accounts, profiles and addresses
│   ├── cart/
│   │   ├── index.md                  → Shopping cart lifecycle and fulfilment method selection
│   │   └── cart-process.md           → Cart process flow and service interactions
│   ├── order/
│   │   ├── index.md                  → Orders, transactions, fulfilment and discounts
│   │   ├── order-management.md       → Order creation, tracking and lifecycle states
│   │   ├── payment-process.md        → Payment flow and PayNL integration
│   │   └── pos-management.md         → Physical store and POS integration
│   ├── fulfilment.md                 → Shipment methods and carrier integrations
│   ├── review.md                     → Product reviews via Kiyoh
│   └── erd.md                        → Entity Relation Diagram across all domains
│
├── user-stories/                     → User stories per domain
│   ├── catalog.md                    → Wishlist, compare, availability, pricing stories
│   ├── cart.md                       → Add to cart and fulfilment method stories
│   └── order.md                      → Shipment label and order confirmation stories
│
├── adr/                              → Architecture Decision Records
│   ├── 0001-tech-stack.md
│   ├── 0002-source-control-cicd.md
│   ├── 0003-hosting-ploi-hetzner.md
│   ├── 0004-erp-microsoft-dynamics.md
│   ├── 0005-payment-provider-paynl.md
│   ├── 0006-shipment-provider-postnl.md
│   ├── 0007-review-provider-kiyoh.md
│   └── 0008-pim-ergonode.md
│
├── tools/                            → External tools & services documentation
│   ├── clickup/                      → Zwerfkei Servicedesk (Flooris support requests)
│   ├── cloudflare/
│   ├── copernica/
│   ├── ga4/
│   ├── github/
│   ├── google-tag-manager/
│   └── ms-dynamics-navision/
│
├── diagrams/                         → Architecture and system diagrams
│   └── architecture.md              → Current & target architecture (C4 + flowchart)
│
└── services/                         → Per-service documentation (in progress)
    └── company-cms/
Folder Description
glossary.md Terminology and abbreviations used within Zwerfkei.
/domains Business domain documentation following Domain-Driven Design principles. Features are nested within their domain subdirectory.
/user-stories User stories per domain with acceptance criteria.
/adr Architecture Decision Records — rationale behind key technical choices.
/tools Documentation for external tools and services used by Zwerfkei.
/diagrams Architecture and system diagrams (Mermaid / C4).
/services Per-service documentation (setup, API specs, changelog) — in progress.

List of Zwerfkei Services

  • Zwerfkei-cms
  • Zwerfkei-backend
  • Zwerfkei-website

Each service has its folder under /services/.


External Tools & Services

This section documents the external tools and services used by Zwerfkei. Each page provides a short description, what the tool does, and how we use it.