cartlabs
A modern e-commerce platform built for scalability, reliability, and real-world operation.

overview
CartLabs is a full-stack multi-vendor marketplace with transactional checkout, seller-isolated fulfillment, retry-safe payments, durable async events, and a search microservice.
I built and deployed the system across its Next.js frontend, Go backend, observability stack, CI/CD pipeline, and self-hosted k3s runtime.
key features
buyer
- discoverySearch and filter products from approved stores.
- multi-seller checkoutBuy across stores in one transaction.
- order lifecycleTrack orders, cancel eligible purchases, and review deliveries.
seller
- catalogManage products, variants, media, prices, and SKU stock.
- publishingPublish or archive listings after store approval.
- fulfillmentProcess owned orders and restore stock after cancellations.
admin
- governanceApprove stores and moderate products and users.
- oversightMonitor marketplace metrics and immutable audit history.
platform
- checkout safetyLock stock and protect retries with idempotency controls.
- durable eventsPublish through a transactional outbox with retry handling.
- resilient searchUse an extracted gRPC service with PostgreSQL fallback.
technology stack
- interface
- Next.js
- React
- TypeScript
- services
- Go
- OpenAPI
- gRPC
- data + events
- PostgreSQL
- Redis
- RabbitMQ
- operations
- OpenTelemetry
- Docker
- k3s/kubernetes
- GitHub Actions
engineering highlights
transactional checkout
Checkout reloads authoritative prices and stock, locks inventory in stable order, then creates one parent purchase and one child order per seller. Product, price, and seller details are snapshotted to preserve purchase history.
safe retries
Idempotency keys protect checkout. Payment callbacks validate request identity and payment details. Duplicate callbacks cannot repeat state transitions.
service extraction
Search became a separate service because it tolerates eventual consistency. Commerce-critical checkout and payment state remains inside the modular core.