Skip to content

Architecture

The technical foundation behind every Flowtig application.

Flowtig is designed as a modular platform where independent applications share a common technical foundation while remaining logically separated.

Instead of building one large monolithic application, Flowtig separates business domains into dedicated services that communicate through shared conventions and platform infrastructure.

This document describes the architectural principles behind the platform.


Platform Overview

Flowtig consists of four major layers.

flowchart TB

    CLIENTS["Clients<br/>Web · Mobile · Desktop"]

    GATEWAY["Gateway<br/>Routing · Navigation · Authentication"]

    CORE["Platform Core<br/>Identity · Permissions · Billing · Tenants"]

    APPS["Applications<br/>Independent Business Domains"]

    TOOLS["Tools<br/>Focused Utilities"]

    INFRA["Infrastructure<br/>Containers · Databases · Object Storage · Background Tasks"]

    CLIENTS --> GATEWAY
    GATEWAY --> CORE
    CORE --> APPS
    CORE --> TOOLS
    APPS --> INFRA
    TOOLS --> INFRA

Platform Core

Every application relies on the same platform services.

Core responsibilities include:

  • Authentication
  • Identity management
  • Tenant management
  • Permissions
  • Subscriptions
  • Billing

Applications do not reimplement these concerns, allowing every service to remain focused on its own business domain.


Applications

Business functionality is divided into independent applications.

Examples include:

  • Contacts
  • Worktime
  • Time Tracking
  • Invoices
  • Warehouse
  • Construction Log
  • Real Estate

Each application:

  • owns its business logic
  • defines its own data model
  • integrates through shared platform conventions
  • can evolve independently

Tools

Not every feature requires a complete business application.

Flowtig therefore also provides lightweight tools designed to solve individual technical or business problems.

Examples include:

  • Daywalker
  • IBAN Checker

Tools share the same infrastructure as applications while remaining intentionally focused.


Multi-Tenant by Design

Tenant isolation is a fundamental architectural principle.

Each organisation operates inside its own isolated data scope.

Platform-wide services such as authentication, subscriptions and permissions remain shared while business data stays separated.

Key principles include:

  • Tenant isolation
  • Explicit permissions
  • Role-based access
  • Shared platform services

API Design

Flowtig primarily exposes functionality through GraphQL.

REST endpoints are used where appropriate for infrastructure, administration and specialised workflows.

The platform emphasises:

  • Clear schema ownership
  • Strong typing
  • Predictable interfaces
  • Stable contracts

Infrastructure

Flowtig is designed for modern cloud-native deployments.

Typical platform components include:

  • Docker containers
  • PostgreSQL
  • Redis
  • Celery
  • Object Storage
  • CI/CD pipelines

Every application shares the same operational foundation while remaining independently maintainable.


Design Principles

Several architectural principles guide every decision within Flowtig.

Modularity

Applications should remain independently understandable and maintainable.

Explicitness

Platform behaviour should always be predictable and transparent.

Scalability

New applications should integrate naturally without requiring architectural changes.

Consistency

Users should experience the same navigation, permissions and workflows across the entire platform.

Long-Term Maintainability

Flowtig is designed to evolve continuously while preserving structural clarity.


The Bigger Picture

Flowtig is not simply a collection of applications.

It is a platform designed to grow through independent services that share one common foundation.

The objective is simple:

Grow functionality without growing complexity.