Skip to content

Vectis Commerce Platform

Vectis is a B2B-first headless commerce platform built with Python (FastAPI), SvelteKit, PostgreSQL, Redpanda, and Temporal. It replaces a legacy WooCommerce stack with a purpose-built system for wholesale and hybrid B2B/B2C commerce.

Admin dashboard

Key Capabilities

  • B2B + B2C in one platform — channel-based commerce modes (wholesale, retail, hybrid)
  • Four-phase B2B approval workflow — cart submitted → cart approved → payment composed → payment approved → place order, with durable Temporal execution and a workflow-fault inbox
  • Five-level pricing — managed prices, location, account, group, and default tiers with multi-currency support
  • Packaging + MMOQ — global package ladders (each, case-of-24), per-customer min/max enforced at the cart aggregate, channel-timezone-aware 30-day windows
  • Inventory state machine — reservation lifecycle (HELD → CONFIRMED → RELEASED / EXPIRED), pushExternalStock for ERP feeds, external fulfillment handoff with internal-hold release
  • Configurable order state machine — transitions, guards, and side-effects defined per deployment
  • Extension system — strategy-mediated business logic with self-registration (Cmd-K, nav, GraphQL, models, schedules, search) and channel-scoped activation; CI enforces zero-extension-imports
  • Refund approval workflow — async, durable, per-tender progress tracking with idempotent retry
  • Event-driven architecture — in-process EventBus + Redpanda for inter-service communication, JSON-Schema-validated payloads, dedicated workflow-fault topic
  • Durable workflows — Temporal for order lifecycle, recurring orders, approvals, refunds, and all background tasks
  • Observability baseline/metrics (Prometheus) + /ready (parallel dependency probe) with a seeded Grafana dashboard
I want to... Go to...
Set up a local dev environment Quick Start
Understand the architecture Architecture
Add a backend module Modules Guide
Build an extension Extensions Guide
Work with the GraphQL API API Overview
Understand the order flow Orders
Set up pricing and currencies Pricing
Run a referral/affiliate program Affiliates
Configure a points program Loyalty
Pull revenue & campaign reports Analytics
Deploy to production Deployment

Tech Stack

Layer Technology
Backend API Python 3.12, FastAPI, SQLAlchemy 2.0 (async), Strawberry GraphQL
Storefront SvelteKit 2, Tailwind CSS, Lucide icons
Admin Panel SvelteKit 2, Tailwind CSS, Lucide icons
Database PostgreSQL 16
Cache / Sessions Redis 7
Event Streaming Redpanda (Kafka-compatible)
Workflows Temporal
Search Meilisearch
Object Storage S3-compatible (MinIO in dev)

Project Status

The platform is in active development. All 14 strategy interfaces are implemented, ~40 core modules are built, ~45 extensions ship with the platform, and the end-to-end checkout pipeline (tax, shipping, payment, promotions, approvals) is wired with the four-phase B2B workflow. The admin/storefront are fully migrated to Houdini for GraphQL, and make check (~25s, ~1,670 tests + ruff + mypy + AST guards + schema drift) is the single source of truth for "is this branch safe to push?".

GitHub Actions CI is currently disabled (2026-05-18) in favour of the local gate. See the Changelog for the per-phase status, including the latest Phase 15 — B2B Workflow, Inventory Lifecycle, Refund Approvals wave.