How extim-org/saas-core works
SAAS-Core combines tenant/project management with its built-in hosted search product; the repository also contains a storefront and commerce workflow. Customers manage projects and search configuration in the dashboard, the platform API persists tenant data, and the search services crawl and index configured sites before serving queries through a public API or widget. Separate admin and marketing applications support platform operations and acquisition. The README documents the search capabilities and queue-based indexing; sampled source confirms several API ownership paths, while some search wiring is inferred only at service-boundary level.
Main entry points: prisma.service.ts PostgreSQL · [projectId]/page.tsx Hosted Storefront · search.controller.ts Search API · [id]/page.tsx Project Management
Components 29
Customer Platform
- Customer Dashboard
apps/dashboard/src/app/(dashboard)/dashboard/page.tsx - Project Management
apps/dashboard/src/app/(dashboard)/dashboard/projects/[id]/page.tsx - Hosted Storefront
apps/dashboard/src/app/store/[projectId]/page.tsx - Marketing Website
apps/website/src/app/page.tsx
SaaS Core API
- Authentication API
apps/api/src/auth/auth.controller.ts - Authentication Logic
apps/api/src/auth/auth.service.ts - User Management
apps/api/src/users/users.service.ts - Projects API
apps/api/src/projects/projects.controller.ts - Project Logic
apps/api/src/projects/projects.service.ts - Project Members
apps/api/src/project-members/project-members.controller.ts - Domain Management
apps/api/src/domains/domains.controller.ts - Search Products
apps/api/src/products/products.controller.ts - Public API
apps/api/src/public-api/public-api.controller.ts - PostgreSQL
apps/api/src/prisma/prisma.service.ts - Email Service
apps/api/src/notifications/email/email.service.ts
Search Product
- Search API
apps/search-api/src/search.controller.ts - Crawl Scheduler
apps/search-api/src/crawl-scheduler.service.ts - Crawl Worker
apps/search-worker/src/crawl.processor.ts - Typesense Index
apps/search-api/src/typesense-schema.service.ts - BullMQ Queue
- Search Widget
apps/dashboard/public/widget.js
Storefront Commerce
- Cart API
apps/api/src/cart/cart.controller.ts - Checkout API
apps/api/src/checkout/checkout.controller.ts - Orders API
apps/api/src/orders/orders.controller.ts
Platform Operations
- Admin Console
apps/admin/src/app/(admin)/page.tsx - Admin Operations
apps/api/src/admin/admin.controller.ts
Other components
- Customer
- Typesense
- Redis
Connections 36
- Customer → Customer Dashboard: manages account
- Customer → Hosted Storefront: browses store
- Customer → Marketing Website: discovers platform
- Customer Dashboard → Authentication API: authenticates via
- Customer Dashboard → Projects API: manages projects
- Project Management → Project Members: manages members
- Project Management → Domain Management: configures domains
- Project Management → Search Products: configures products
- Authentication API → Authentication Logic: dispatches
- Authentication Logic → User Management: checks and updates
- Authentication Logic → Email Service: sends welcome email
- Projects API → Project Logic: dispatches
- Projects API → PostgreSQL: reads and writes
- Project Members → PostgreSQL: reads and writes
- Domain Management → PostgreSQL: reads and writes
- Search Products → PostgreSQL: reads and writes
- Project Logic → PostgreSQL: reads and writes
- Domain Management → Crawl Scheduler: configures crawling
- Crawl Scheduler → BullMQ Queue: enqueues crawls
- Crawl Worker → BullMQ Queue: consumes jobs
- Crawl Worker → Typesense Index: indexes content
- Typesense Index → Typesense: stores documents
- Search API → Typesense: queries index
- Search Widget → Search API: requests search
- Hosted Storefront → Search Widget: embeds search
- Public API → Search API: proxies search
- Hosted Storefront → Cart API: manages cart
- Cart API → PostgreSQL: reads and writes
- Hosted Storefront → Checkout API: submits checkout
- Checkout API → PostgreSQL: reads and writes
- Hosted Storefront → Orders API: views orders
- Orders API → PostgreSQL: reads and writes
- Admin Console → Admin Operations: requests operations
- Admin Operations → PostgreSQL: reads and writes
- Admin Operations → Search API: fetches search stats
- BullMQ Queue → Redis: stores job state