Skip to main content

Repository structure

pointnxt/
pnxt-api-nestjs/ API, worker, scheduler, Prisma schema, integrations
pnxt-admin/ operator web
pnxt-warehouse/ Expo floor app
docs/ workspace notes and archive
documentation-analysis/ working analysis used to write this site
pointnxt-developer-docs/ this documentation site

docs/archive/ is historical. Do not treat it as the current architecture.

API tree​

pnxt-api-nestjs/
src/main.ts HTTP API
src/main.worker.ts Bull processors and outbox dispatcher
src/main.scheduler.ts Cron ticks
src/cli.ts nestjs-command, including seed:demo
src/swagger.ts Swagger, non-production
src/modules/
identity/
commerce/
operations/
finance/
automation/
src/integrations/ provider SDKs and adapters
src/common/ config, database, auth, outbox, cache, monitoring
src/workers/ processors and schedulers
prisma/schema/*.prisma split schema, not one schema.prisma
test/ Jest, config test/jest.json

Census observed on 2026-10-01:

LayerCount
Business areas5
Feature modules46
Integration packages23
HTTP controllers92
HTTP endpoint rows489, including one SSE handler
Prisma models135
Prisma enums126
Named Bull queues in APP_BULL_QUEUES10

A further queue, whatsapp-catalog-provisioning, is registered on the WhatsApp processor and is not a member of that enum.

Where to look first​

QuestionStart
Who can call this route?Guards in src/common/request and decorators on the controller
Where is the order write?src/modules/commerce/order
Where does stock change?src/modules/operations/stock
Where is Shopify?src/integrations/shopify
Why did a side effect not run?Worker process and OutboxEvent

Module folders are listed in Module architecture.