FrontendAdminReact + Viteapps/dashboard
FrontendStorefrontsNext.js, one per channelapps/channels/*
APIAdmin GraphQLits own schema/api/admin/graphql
APIStorefront GraphQLits own schema/api/front/graphql
OptionalSignals · IngestGo, its own moduleTakes in the storefronts' tracking and runs the analytics, the email and the experiments. Switch it off and the rest runs alone.
BackendBackend coreserverworkermediaGo, gqlgen, sqlc - one process, or split in threegRPC
DataPostgresthe store
Data · optionalOpenSearchsearch, with Postgres to fall back on
SharedValkeycache and sessions
SharedS3 / Garagemedia and files
Signals dataPostgresits own
Signals dataClickHousethe event spine