Maintained
Carbon Omniverse
A full-stack e-commerce monorepo that demonstrates modern enterprise architecture: a hexagonal Spring Boot backend, a Next.js dashboard, and an AI operations assistant built on the Model Context Protocol.
1 min read

Why it exists
Carbon is a reference build. I wanted one codebase that shows, end to end, how I would put together a modern enterprise platform: the domain kept clean of frameworks, the boundaries tested rather than hoped for, and AI added as a first-class operator instead of a chat widget bolted on at the end.
How it works
The monorepo holds three applications:
carbon-api, a Spring Boot backend built on hexagonal architecture. It is a modular monolith with feature toggles for inventory, cart and cargo. Products and shipments live in PostgreSQL, carts in MongoDB, and Redis handles caching.carbon-web, a Next.js 16 and React 19 operations dashboard, authenticated through NextAuth.js against Keycloak.carbon-agent, a Python FastAPI service that exposes more than sixteen tools over MCP. It powers an assistant for inventory, product and shipment questions, running on Ollama (for exampledeepseek-r1:8b) or OpenAI.
Design decisions
- Java 25 on purpose. Virtual threads for I/O-heavy work, and
ScopedValuein place ofThreadLocalfor request context. - Events without dual writes. A transactional outbox publishes domain events in the same transaction that changes the data.
- Architecture as tests. ArchUnit rules keep the hexagonal boundaries honest, and Playwright covers the dashboard end to end.
- A deliberately limited assistant. The agent answers only Carbon questions and has no admin access. Its usefulness comes from the tools it can call, not from broad permissions.
- Security from the start. OAuth2/OIDC with role-based access through Keycloak.
Status
Maintained. The feature set is complete for its purpose as a reference, and it gets occasional updates.
Click any figure or table to zoom.