Enterizos Shop
A platform to manage the full cycle of a clothing store: catalog, inventory, orders, payments, invoicing and shipping. The foundation is built and tested (architecture and business rules); the storefront and real integrations are the next stages.
- Status
- In development
- Since
- July 2026
- Stack
- Next.jsTypeScriptPostgreSQLPrismaTurborepoGraphile WorkerBetter AuthVitestGitHub Actions
Problems and how I solved them
- 01
ProblemA store's inventory gets messy when all you keep is a number that gets overwritten.
SolutionI designed it as a movement ledger: every inbound, outbound or adjustment is recorded, so stock can be rebuilt and reconciled (a decision documented in an ADR).
- 02
ProblemAn order can't end up in an impossible state, like shipped without being paid.
SolutionOrders follow an explicit state machine, with the allowed transitions defined up front.
- 03
ProblemEvents between the database and background jobs must never be lost.
SolutionTransactional outbox pattern: the event is saved in the same transaction as the change, and a Graphile Worker job processes it.
- 04
ProblemIn a project this size, architecture erodes with every change if nobody keeps watch.
SolutionModule dependency rules checked automatically on every change, plus continuous integration, CodeQL security analysis and dead-code detection.
What's built
- Architecture documented and frozen, with 14 recorded decisions (ADRs).
- Monorepo with a web app, a background worker and automated quality checks.
- 36 business modules (catalog, inventory, cart, orders, payments, invoicing, shipping and more), each with its tests.
- A test that runs the full sale flow, from catalog to shipment.
What's still in progress
- Connect the modules to the database (they currently keep data in memory).
- Admin dashboard for catalog and inventory, already started.
- Public storefront and integration with real payment, invoicing and shipping providers.
- Private pilot with real orders.
