How nhanvt24/dynamodb works
Supermarket Platform is a customer storefront and administrative console backed by a NestJS API and AWS services. The customer workflow is browsing products, submitting an order, and completing payment; the API also supports product administration, uploads, customer accounts, and order status. Separate asynchronous workers handle queued work, notifications, email, and scheduled reporting. The map uses documented structure and sampled controller behavior; several worker and module connections are shown only where their role is supported by the tree or README.
Main entry points: client.ts DynamoDB · AdminConsole.tsx Admin console · create-app.ts App factory · vnpay.controller.ts VNPAY payments
Components 26
Web experience
- Storefront UI
apps/web/app/store/products/products-page-client.tsx - Checkout
apps/web/app/store/checkout/page.tsx - Store API client
apps/web/app/store/store-api.ts - Admin console
apps/web/src/features/admin/screens/AdminConsole.tsx - Cognito client auth
apps/web/src/features/auth/lib/cognito-auth.ts
Commerce API
- HTTP entrypoint
apps/api/src/entrypoints/http/server.ts - App factory
apps/api/src/core/app/create-app.ts - Storefront orders
apps/api/src/modules/storefront/storefront.controller.ts - Product management
apps/api/src/modules/shopping/shopping.controller.ts - VNPAY payments
apps/api/src/modules/vnpay/vnpay.controller.ts
Admin and identity
- Uploads API
apps/api/src/modules/uploads/uploads.controller.ts - Storage manager
apps/web/src/features/admin/components/StorageManager.tsx - Email delivery admin
apps/api/src/modules/email-deliveries/email-deliveries.controller.ts - Queue and archive ops
apps/api/src/modules/admin-ops/admin-ops.controller.ts
Async services
- Notifications
apps/api/src/modules/notifications/notifications.controller.ts - Queue workers
apps/api/src/entrypoints/lambda/queue - Scheduled jobs
apps/api/src/entrypoints/lambda/jobs - Workflow tasks
apps/api/src/entrypoints/lambda/workflow
Other components
- Customer
- Administrator
- DynamoDB
apps/api/src/database/dynamodb/client.ts - VNPAY
- Amazon Cognito
- S3 storage
infra/stack/s3-storage-stack.ts - EventBridge
apps/api/src/integrations/eventbridge/publisher.ts - Amazon SES
apps/api/src/integrations/ses/client.ts
Connections 30
- Customer → Storefront UI: browses
- Storefront UI → Store API client: fetches products
- Checkout → Store API client: submits orders
- Store API client → HTTP entrypoint: calls API
- Administrator → Admin console: manages
- Admin console → Cognito client auth: authenticates
- Cognito client auth → Amazon Cognito: signs in
- HTTP entrypoint → App factory: creates app
- App factory → Storefront orders: routes requests
- App factory → Product management: routes requests
- App factory → VNPAY payments: routes requests
- Storefront orders → DynamoDB: reads and writes
- Product management → DynamoDB: reads and writes
- VNPAY payments → DynamoDB: records payments
- VNPAY payments → VNPAY: verifies payments
- Admin console → Storage manager: opens storage
- Storage manager → Uploads API: requests upload URLs
- Uploads API → S3 storage: presigns access
- Storage manager → S3 storage: uploads files
- Admin console → Email delivery admin: manages email
- Email delivery admin → EventBridge: publishes campaigns
- Email delivery admin → DynamoDB: reads delivery state
- Admin console → Queue and archive ops: manages operations
- Queue and archive ops → EventBridge: replays archives
- Queue and archive ops → Queue workers: replays DLQs
- Queue workers → DynamoDB: reads and writes
- Queue workers → Notifications: serves notifications
- Scheduled jobs → EventBridge: publishes events
- Workflow tasks → Amazon SES: sends mail
- Notifications → DynamoDB: reads and writes