How seba-cod3/saas-template works
This is an in-development SaaS starter: users enter through a React SPA, authenticate, and access protected dashboard, admin, and AI-chat screens backed by a Hono API. The server also exposes asset and health routes, plus shared realtime and background-job capabilities. AI conversations persist in PostgreSQL; the README documents Redis-backed resumable streaming, job queues, caching, and Pub/Sub, alongside email and configurable asset storage. The graph uses documented capabilities where implementation excerpts were unavailable; those integration links are dashed.
Main entry points: index.ts Hono server · main.tsx Web SPA · ai.ts AI routes · chat-service.ts Conversation service
Components 23
Web application
- Web SPA
apps/web/src/main.tsx - Auth UI
apps/web/src/components/auth-modal.tsx - Protected routes
apps/web/src/routes/_authenticated.tsx - Chat screens
apps/web/src/routes/_authenticated/chat.tsx - Admin screens
apps/web/src/routes/_authenticated/admin.tsx - WebSocket client
apps/web/src/lib/ws.ts
API and domain
- Hono server
apps/server/src/index.ts - Authentication
apps/server/src/lib/auth.ts - Admin routes
apps/server/src/routes/admin.ts - AI routes
apps/server/src/routes/ai.ts - Asset routes
apps/server/src/routes/assets.ts - Health routes
apps/server/src/routes/health.ts - Conversation service
apps/server/src/lib/ai/chat-service.ts
Runtime services
- Asset storage
apps/server/src/lib/storage/index.ts - Job workers
apps/server/src/jobs/index.ts - Job queue
apps/server/src/lib/queue.ts - Realtime hub
apps/server/src/lib/ws.ts
State and providers
- PostgreSQL
apps/server/src/db/index.ts - Redis
apps/server/src/lib/redis.ts - AI providers
- S3 or local store
- SMTP service
Other components
- User
Connections 27
- User → Web SPA: uses
- Web SPA → Auth UI: opens auth
- Web SPA → Protected routes: navigates
- Protected routes → WebSocket client: subscribes
- Web SPA → Chat screens: opens chat
- Web SPA → Admin screens: opens admin
- Auth UI → Authentication: signs in
- Web SPA → Hono server: API requests
- Hono server → Authentication: mounts auth
- Hono server → Admin routes: dispatches
- Hono server → AI routes: dispatches
- Hono server → Asset routes: dispatches
- Hono server → Health routes: dispatches
- AI routes → Conversation service: manages conversations
- Conversation service → PostgreSQL: reads and writes
- Authentication → PostgreSQL: persists identity
- Hono server → Realtime hub: handles sockets
- Realtime hub → WebSocket client: pushes events
- Hono server → Job workers: starts workers
- Job workers → Job queue: registers jobs
- Job queue → Redis: queues work
- Conversation service → Redis: resumes streams
- Realtime hub → Redis: pub/sub
- Asset routes → Asset storage: handles assets
- Asset storage → S3 or local store: stores files
- Job workers → SMTP service: sends email
- AI routes → AI providers: streams completions