How kallelbrg/fashionboost works
FashionBoost is a multi-tenant SaaS CRM and loyalty platform for fashion retailers. Store staff use the Next.js dashboard to manage customers, catalog, sales, loyalty, and coupons; the NestJS API scopes operations to the authenticated tenant and store. Recording sales drives loyalty points and refreshes dashboard insights, while audit events capture key changes. The README documents email verification and AI-generated insights; the sampled excerpts do not show their full implementation, so those links are limited to documented integrations.
Main entry points: api.ts API client · sale.controller.ts Sales endpoints · dashboard.service.ts Metrics and AI · layout.tsx Next.js app
Components 24
Store dashboard
- Next.js app
frontend/src/app/layout.tsx - Dashboard pages
frontend/src/app/(dashboard)/dashboard/page.tsx - Auth pages
frontend/src/app/(auth)/login/page.tsx - API client
frontend/src/lib/api.ts
Identity and tenancy
- Auth endpoints
backend/src/auth/auth.controller.ts - Auth service
backend/src/auth/auth.service.ts - Tenant endpoints
backend/src/tenant/tenant.controller.ts - Store endpoints
backend/src/store/store.controller.ts - User endpoints
backend/src/user/user.controller.ts - Domain entities
backend/src/entities/tenant.entity.ts
Retail operations
- Catalog endpoints
backend/src/product/product.controller.ts - Category endpoints
backend/src/category/category.controller.ts - Customer endpoints
backend/src/customer/customer.controller.ts - Sales endpoints
backend/src/sale/sale.controller.ts
Customer loyalty
- Loyalty endpoints
backend/src/loyalty/loyalty.controller.ts - Coupon endpoints
backend/src/coupon/coupon.controller.ts
Insights and records
- Audit endpoints
backend/src/audit-log/audit-log.controller.ts - Insights endpoint
backend/src/dashboard/dashboard.controller.ts - Metrics and AI
backend/src/dashboard/dashboard.service.ts - Audit service
backend/src/audit-log/audit-log.service.ts
Other components
- Store staff
- PostgreSQL
- Resend email
- Groq Llama
Connections 38
- Store staff → Next.js app: uses
- Next.js app → Dashboard pages: renders
- Next.js app → Auth pages: renders
- Dashboard pages → API client: requests
- Auth pages → API client: requests
- API client → Auth endpoints: calls
- API client → Tenant endpoints: calls
- API client → Store endpoints: calls
- API client → User endpoints: calls
- API client → Catalog endpoints: calls
- API client → Category endpoints: calls
- API client → Customer endpoints: calls
- API client → Sales endpoints: calls
- API client → Loyalty endpoints: calls
- API client → Coupon endpoints: calls
- API client → Audit endpoints: calls
- API client → Insights endpoint: calls
- Auth endpoints → Auth service: delegates
- Auth service → PostgreSQL: reads/writes
- Auth service → Resend email: sends verification
- Tenant endpoints → PostgreSQL: reads/writes
- Store endpoints → PostgreSQL: reads/writes
- User endpoints → PostgreSQL: reads/writes
- Catalog endpoints → PostgreSQL: reads/writes
- Category endpoints → PostgreSQL: reads/writes
- Customer endpoints → PostgreSQL: reads/writes
- Sales endpoints → PostgreSQL: via service
- Sales endpoints → Metrics and AI: clears cache
- Sales endpoints → Audit service: logs sale
- Catalog endpoints → Audit service: logs changes
- Customer endpoints → Audit service: logs changes
- Audit endpoints → PostgreSQL: reads
- Loyalty endpoints → PostgreSQL: reads/writes
- Coupon endpoints → PostgreSQL: reads/writes
- Insights endpoint → Metrics and AI: delegates
- Metrics and AI → PostgreSQL: queries metrics
- Metrics and AI → Groq Llama: requests suggestions
- Domain entities → PostgreSQL: maps entities