Back to archive
I. Personal Ventures & Frameworkshowcaselead

Multi-tenant E-commerce SaaS

A multi-tenant e-commerce SaaS platform (DavrDev) in TypeScript: Elysia/Bun API + 3 Next.js front-ends + serverless jobs on AWS SQS/Lambda, with payment-gateway integrations (Payme/Click/Uzum), delivery aggregators (Wolt/Yandex Eats/Uzum Tezkor), and iiko POS. Spec-first AI workflow: an in-repo PRD→tasks parser.

Status
active
Period
2025-04-05 → 2026-05-01
AI sessions
1
Stack
Languages
TypeScriptPHP
Frameworks · Infra
Elysia (Bun)Next.js 15Drizzle ORMAWS SQS/LambdaRedisshadcn/uiTanStack QueryZustand
§01

Overview

  • What it is: a SaaS platform for launching online stores / delivery for multiple tenants (multi-tenant). Composed of services: backend (Elysia/Bun REST API, Postgres+Drizzle, Redis), admin (Next.js 15 dashboard), storefront (Next.js 15 storefront), order-panel (Next.js order panel), jobs (AWS SQS+Lambda workers, LocalStack locally), laravel (+yandex_reciever — Yandex webhooks intake), shared (shared types). package.json author is "DavrDev" (a studio's own product / startup).
  • Type / status / role: web-app (multi-service SaaS) · active · lead/solo-dominant — ~86 of 108 commits from the user (+15 under the default you@example.com, likely also him); minor contribution from Bobur (PRs).
  • Activity window: 2025-04-05 → 2026-05-01 (~13 months). Tidy git workflow: feature branches + Pull Requests (Dave93/soft_delete, Dave93/api_keys, Dave93/items_list_toolbar) — a contrast with "junk-message" repos like arryt.
§02

Stack

  • Languages: TypeScript (primary), PHP (laravel webhook intake service).
  • Frameworks/libraries:
  • *Backend:* Elysia (Bun) + @elysiajs/swagger (OpenAPI), Drizzle ORM + drizzle-typebox, Postgres (postgres), ioredis (cache), @aws-sdk/client-sqs/client-ssm (queues/parameters), elysia-remote-dts (API-type generation), cuid2 (id).
  • *Frontends (admin/storefront/order-panel):* Next.js 15 (Turbopack), shadcn/ui (Radix), Elysia Eden (type-safe API client), TanStack Query, Zustand, React Hook Form + Zod v4, TipTap (rich-text), Leaflet + MapTiler (geocoding/maps), @headless-tree (category trees), framer-motion.
  • *Jobs:* AWS Lambda (@types/aws-lambda) + SQS + S3, Drizzle (per-tenant connections), zod.
  • *Root CLI:* @anthropic-ai/sdk + openai + commander + boxen/figlet/ora/gradient-string/cli-table3 — a custom CLI (scripts/dev.js) with commands dev/list/generate/parse-prd.
  • Infra/deploy: Bun + Docker (docker/, LocalStack for local SQS/S3), AWS Lambda deploy for jobs, Next standalone (ports admin 6868, storefront 3002, backend 3000). SSM Parameter Store for secrets.
  • Data: PostgreSQL (+PostGIS geospatial) via Drizzle, Redis (cache invalidated through jobs), S3 (presigned upload).
  • Notable tooling: PRD documentation is huge (prd.md 139 KB, prd_tasks.md 36 KB, ROADMAP_ORDERS.md 38 KB, BACKGROUND_JOBS_IMPLEMENTATION_PLAN.md) — a spec-first process.
§03

What was shipped

Commits are substantive, through PRs:

  • Multi-tenant API skeleton: RBAC (Users/Roles/Permissions), organizations with data isolation, catalog (hierarchical categories, products, properties), cities/terminals with geo data, news/banners, API keys (Bearer) + Swagger + public API (/api/public/v1).
  • Soft-delete everywhere (Dave93/soft_delete): deletedAt/deletedBy + restore for cities/organizations/terminals/banners/news.
  • Selection toolbar / batch ops (Dave93/items_list_toolbar): custom data tables with multi-select and a bulk-action toolbar.
  • Background jobs (555c1a7): AWS SQS+Lambda system (send-email, process-image, export-data, invalidate-cache, generate-report, sync-inventory, process-order, send-notification).
  • Import integrations (cities/terminals), terminal stock management, cart/product refactor, API enhancements.
  • Volume: 108 commits over 13 months, ~86 from the user; PR/feature-branch discipline.
§04

Technical challenges

Confirmed via CLAUDE.md + structure backend/src/services/{payment,aggregator,geo,iiko} + manifests:

  • End-to-end type safety across services (elysia-remote-dts + Elysia Eden): backend generates DTS, the frontends (admin/storefront/order-panel) consume a typed client — a single contract without hand-duplicated types. → An advanced end-to-end type-safety pattern.
  • Serverless cache invalidation (CLAUDE.md §Caching + jobs): Redis cache with keys {entity}:{id} / {entity}:list:{filters}, invalidation NOT direct but through a background job (invalidate-cache) on SQS/Lambda — write and invalidation are decoupled. → Mature cache architecture for load.
  • Multi-tenancy with isolation (backend/src/services, jobs per-tenant connections): org-based data isolation, tenant context through the API and jobs, soft-delete. → True SaaS engineering, not a single-tenant app.
  • Real local integrations (services/payment, services/aggregator, services/iiko): payment gateways Payme/Click/Uzum Bank, delivery aggregators Wolt/Yandex Eats/Uzum Tezkor, POS iiko/Plum — a separate laravel service yandex_reciever for webhooks. → Knowledge of the Uzbek e-com / foodtech landscape.
  • Geospatial (PostGIS + Leaflet/MapTiler geocoding): zones/terminals with geo queries and on-map address picking.
  • Spec-first AI process (root CLI + @anthropic-ai/sdk/openai + parse-prd): an in-repo Task-Master-like tool that parses a huge prd.md into tasks (prd_tasks.md). → The user doesn't just code with AI; he builds AI tooling around the spec.
§05

AI-assisted development

  • Sessions found: 1 (in the local Claude Code sessions directory, subdir-form d4e6bceb-…). Plus the repo's own .claude/ and .cursor/ (Cursor was also used).
  • What was done with AI: the single transcript wasn't deeply sampled, but the environment is clearly AI-first: CLAUDE.md as a guide for the agent, huge PRD/Roadmap docs, the in-repo parse-prd (PRD→tasks via Anthropic/OpenAI SDK). Development was spec-driven with AI.
  • AI workflow patterns: spec-first (PRD → auto-decomposition into tasks → implementation), CLAUDE.md as the agent guide, Claude Code + Cursor combo. A strong example of "AI-assisted product engineering."
§06

Achievements & metrics

  • Scale: 5+ services (backend, 3 frontends, jobs) + laravel webhook service + shared types; 8 background job types; public + admin API with Swagger.
  • Integrations: 3 payment systems, 3 delivery aggregators, 2 POS — real commercial reach.
  • Maturity: PR-based workflow, soft-delete, RBAC, multi-tenant, PostGIS, presigned S3, SSM secrets, LocalStack prod/local parity.
  • Documentation: ~200 KB of PRD/roadmap/plans — rare spec discipline.
§07

Contributors

git shortlog · all branches

  1. Dave9386
  2. Your Name15
  3. Boburt8
3 contributors109 commits total
Currently

Open to Senior / Staff engineering roles and selective freelance — production AI, platform, and full-stack work.

Get in touch