Skip to content

Zwerfkei Platform Overview

Welcome to the Zwerfkei System Overview. This document provides a high-level description of the Zwerfkei ecosystem, including all major services, applications, and their interactions.


Platform Purpose

Zwerfkei is a Dutch specialist outdoor retailer based in Woerden. The platform serves customers both through its physical store and its e-commerce website, offering a wide assortment of camping, hiking, climbing, cycling and travel equipment.

The Zwerfkei platform is a modular, service-oriented ecosystem designed to manage e-commerce operations, customer interactions, inventory, and marketing automation. The architecture promotes scalability, flexibility, and maintainability by decoupling responsibilities across independent services.


Current Platform

Current situation — legacy platform

The sections below describe the existing Zwerfkei platform (zwerfkei.nl) built on a legacy stack. This context is relevant for understanding what the new platform must replicate and improve upon.

Assortment & Scale

Products 1,000+
Brands 130+
Main categories 9
Price range €2.50 – €1,185
Customer reviews 9.3/10 · 8,837 reviews (Kiyoh)
Certification Webshop Keurmerk

Product Categories

Category (NL) Category (EN)
Kamperen Camping
Outdoorkleding Outdoor Clothing
Schoenen Footwear
Bergsport & Wintersport Mountain & Winter Sports
Rugzakken & Tassen Backpacks & Bags
Travel Travel
Uitrusting Equipment & Tools
Fiets Cycling
Boeken & Kaarten Books & Maps

Product Filtering (current)

The current platform features extensive per-category filtering — a capability the new platform must match or exceed:

Category Products Filter depth
Outdoor Clothing 2,669 50+ material filters, 80+ activity subcategories, gender, size, waterproofing, UV, weight
Footwear 906 Terrain class (A–D), fit (wide, narrow, Hallux Valgus), size (EU/UK/US 19–52), vegan
Backpacks & Bags 791 Volume, weight, material, ventilation, access type
Mountain & Winter Sports 478 131 brands, 177 subcategories, safety ratings (kN)
Cycling 679 Waterproofing, material, bikepacking vs. commuter

Special Collections

Ultralight · Survival & Prepping · Family Holidays · Bikepacking · Trail Running · Commuter Cycling · Sustainable Products · Emergency Preparedness

Physical Store

Zwerfkei operates a physical store in Woerden that is tightly integrated with the online platform:

  • 700 m² permanent tent display for in-store comparison
  • 25-metre test trail for footwear fitting
  • Treadmill for walking shoe evaluation
  • Snowshoe rental service
  • Real-time store status and opening hours displayed on the website

Current Technology Stack

Legacy stack

The current platform runs on a legacy stack that is being replaced by the new architecture.

Layer Technology
Frontend jQuery + Bootstrap
Analytics Google Universal Analytics (UA-656621-1) — legacy, to be replaced by GA4
Tag management Google Tag Manager (GTM-5BTFTF)
CDN / Storage True Object Storage (objectstore.true.nl)
Security CSRF tokens, reCAPTCHA, secure cookies

Payment Methods (current)

iDEAL · Bancontact · Mastercard · Visa · PIN · Billink (buy now, pay later)


Core Components

Service Description
Zwerfkei Website Frontend storefront — new platform (Laravel · Vue.js · TypeScript)
Zwerfkei Backend Business logic, domain APIs and all external integrations (Laravel)
Zwerfkei CMS Headless content management system (Laravel · Statamic)

System Architecture

graph TD
    subgraph Actors["Users & Actors"]
        Visitor["Website Visitor"]
        Employee["Employee"]
        ContentMgr["Content Manager"]
    end

    subgraph ZwerfkeiPlatform["Zwerfkei Platform"]
        Cloudflare["Cloudflare\nCDN & Security"]
        Website["Zwerfkei Website\nLaravel · Vue.js · TypeScript"]
        CMS["Zwerfkei CMS\nLaravel · Statamic"]
        Backend["Zwerfkei Backend\nLaravel"]
        BackendDB[("Backend Database\nMySQL")]
    end

    subgraph LegacySystems["Legacy Systems"]
        ZwerfkeiOld["Zwerfkei Old"]
        OldDB[("Zwerfkei Old Database\nMySQL")]
    end

    subgraph ExternalServices["External Services"]
        Navision["Microsoft Dynamics\nNavision ERP"]
        Ergonode["Ergonode PIM"]
        PostNL["PostNL\nShipment"]
        PayNL["PayNL\nPayments"]
        Kiyoh["Kiyoh\nReviews"]
        Copernica["Copernica\nEmail Marketing"]
        Storage["True Object Storage\nS3"]
    end

    subgraph AnalyticsTracking["Analytics & Tracking"]
        GTM["Google Tag Manager"]
        GA4["Google Analytics 4"]
    end

    Suppliers(["~17 Brand &\nSupplier Sources"])

    %% Actor flows
    Visitor --> Cloudflare
    Employee --> ZwerfkeiOld
    ContentMgr --> CMS

    %% Frontend flows
    Cloudflare --> Website
    Website -- "File Storage" --> CMS
    Website -- "HTTP / API" --> Backend
    Website --> GTM
    GTM --> GA4

    %% Backend flows
    Backend --> BackendDB
    Backend -- "Pricing & Availability" --> Navision
    Backend -- "Product Data API" --> Ergonode
    Backend --> PostNL
    Backend --> PayNL
    Backend --> Kiyoh
    Backend -- "Newsletter opt-in/out" --> Copernica
    Backend --> Storage
    Backend -- "Legacy API" --> ZwerfkeiOld

    %% CMS
    CMS --> Storage

    %% Legacy flows
    ZwerfkeiOld --> OldDB
    ZwerfkeiOld --> Navision

    %% Product data sources
    Suppliers -- "Product info &\nAvailability" --> Ergonode

Monitoring & Logging

All services follow the centralized logging and monitoring standards described in shared/logging.md.