- Golang (Backend)
- React/Next.js (Frontend)
- Events/Messaging (
RabbitMQNATS) - Databases (PostgreSQL, MongoDB)
- Caching (Redis)
- GraphQL (gqlgen, GraphQL Codegen, Apollo Server)
- Docker/Compose and Kubernetes (k3s)
- CI/CD (
GitLab CIGitHub Actions) - IaC (
TerraformHelm) - Feature Flags (flagd)
- Go 1.25, Node 18+, Docker, Docker Compose, k3d, Helm
make up
make down
make start
make stop
make install
: Install Helm charts.
make tests-e2e
make tests
: Run all tests
-
See the various Makefiles for more information about how things are set up:
Makefile infra/Makefile services/frontend/Makefile services/ordersvc/Makefile services/productsvc/Makefile
In services/frontend
run
npm run dev
andnpm run codegen-watch
-
General configuration lives in
infra
(seeinfra/Makefile
), specific package configuration lives in the package directory, e.g.services/productsvc/Dockerfile
orservices/productsvc/chart
for Helm charts. -
Flagd configuration lives in
infra/flagd
. Runmake -C infra flagd
to synchronizeinfra/flagd/flags.json
andinfra/flagd/chart/templates/configmap-flags.yaml
. Only editinfra/flagd/flags.json
, then runmake flagd
ininfra
to update the data value ininfra/flagd/chart/templates/configmap-flags.yaml
.