← Back to projects
Operations / Admin SystemBackend system

Mushroom

This project pairs a Shopify storefront brand presence with a custom NestJS (TypeScript) backend for operations. The operations/admin backend uses PostgreSQL via TypeORM, implements role-based access control (ADMIN/FARMER/MANUFACTURER/PACKAGER) with JWT auth, and enforces a FIFO batch allocation system (no order splitting across batches). It integrates Shopify orders + webhooks and tracks a stage-based production workflow from cultivation to shipping with sequential enforcement. Notifications are delivered via AWS SES (email) and AWS SNS (SMS), and local ops use Docker Compose (Postgres + pgAdmin). The public storefront emphasizes Lion’s Mane tinctures/powders/coffee and uses QR-code traceability (“born-on date”).

Mushroom

Tech stack

NestJSTypeScriptPostgreSQLTypeORMJWT AuthSwagger (OpenAPI)AWS SESAWS SNSShopify (orders/webhooks)Docker ComposepgAdmin

Challenges

  • •Enforcing strict business rules around FIFO allocation and stage progression across roles
  • •Integrating external commerce systems (Shopify) safely with webhooks and syncing
  • •Delivering reliable notification flows (email + SMS) and operational observability

Solutions

  • •Implemented role-based authorization and sequential stage validation per batch workflow
  • •Built Shopify integration flows (webhooks + product/order fetch/sync scripts) with clear DTOs and routing
  • •Integrated AWS SES/SNS for notifications, plus Swagger docs and health checks for operations

Impact

✓

Operationally sound admin backend for inventory, order fulfillment, and production tracking

✓

Clear separation of roles and responsibilities across the workflow lifecycle

✓

Production-friendly deployment and local tooling via Docker Compose

Screenshots

Mushroom screenshot 1

Project details

Role
Backend Developer
Category
Operations / Admin System
Scope
Backend system