Skip to main content

Introduction to QeetMart

QeetMart is a production-grade polyglot eCommerce platform that demonstrates modern microservices architecture, contract-first API design, and best practices for building scalable distributed systems.
Built with Node.js, Java Spring Boot, Go, Next.js, and Expo in a unified monorepo managed by pnpm workspaces.

Platform vision

QeetMart is designed to:
  • Deliver scalable eCommerce capabilities via independently deployable services
  • Keep APIs stable through contract-first governance with OpenAPI specifications
  • Support fast onboarding for engineers across Node, Java, Go, and React/Expo stacks
  • Provide production-grade platform controls including CI policy, deployment validation, and docs operations

Key features

Microservices architecture

Five specialized services with dedicated databases, coordinated through an API Gateway

Contract-first APIs

OpenAPI 3.0 specifications with automated breaking change detection and TypeScript client generation

Multi-language runtime

Node.js Gateway, Spring Boot services, Go inventory service with PostgreSQL and Redis

Modern frontends

Next.js web app, Vite React admin panel, and Expo mobile app consuming unified APIs

Docker local dev

Complete backend stack runs with pnpm docker:up - databases, services, and networking configured

Kubernetes ready

Kustomize manifests and Helm charts for dev, staging, and production deployments

Technology stack

Backend

  • Node.js 22.x + TypeScript
  • Java 17 + Spring Boot
  • Go 1.23+ + Gin
  • PostgreSQL 16
  • Redis 7.2

Frontend

  • Next.js 16 + React 19
  • Vite + React
  • Expo + React Native
  • TanStack Query
  • Tailwind CSS 4

Platform

  • pnpm workspaces
  • Docker Compose
  • Kubernetes + Helm
  • GitHub Actions CI/CD
  • OpenAPI governance

Architecture at a glance

Clients
  ├─ Next.js Web (apps/web)
  ├─ Admin SPA (apps/admin)
  └─ Expo Mobile (apps/mobile)


API Gateway (Node.js :4000)
  ├─ Auth Service (Spring Boot :4001)     -> Postgres (auth_db)
  ├─ User Service (Spring Boot :8082)     -> Postgres (user_db)
  ├─ Product Service (Spring Boot :8083)  -> Postgres (product_db)
  └─ Inventory Service (Go :8080)         -> Postgres + Redis

Get started

Get QeetMart running locally in 15 minutes

Architecture deep dive

Understand the microservices design and data flow

Service catalog

ServiceRuntimePortPurpose
API GatewayNode.js + Express4000Request routing, auth, rate limiting
Auth ServiceSpring Boot4001JWT authentication and authorization
User ServiceSpring Boot8082User profile management
Product ServiceSpring Boot8083Product catalog and search
Inventory ServiceGo + Gin8080Stock tracking with Redis caching

What’s next?

1

Quick start

Follow the quickstart guide to run the platform locally in minutes
2

Explore the architecture

Read the architecture overview to understand how services communicate
3

Start building

Check out the API references and start integrating with QeetMart services
The default .env.example files contain development credentials. Never use these in staging or production environments. Rotate all secrets and use environment-specific secret managers.

Repository structure

QeetMart uses a monorepo layout for unified dependency management and coordinated releases:
  • apps/ - Frontend applications (web, admin, mobile, docs)
  • micros/ - Backend microservices (gateway and domain services)
  • packages/ - Shared workspace packages and generated API clients
  • contracts/openapi/ - OpenAPI specification source of truth
  • platform/k8s/ - Kubernetes deployment manifests
  • helm/qeetmart/ - Helm chart for orchestrated deployments
  • tools/ci/ - Contract governance and CI automation scripts

License

MIT License - see LICENSE for details.

Build docs developers (and LLMs) love