How vijaypandav700/saas-analytics-platform works
This is a multi-tenant SaaS analytics platform: users register and manage organizations, keys, and billing, while clients submit events for ingestion and analytics. The sampled ingestion service validates keys and usage, rate-limits requests, and queues accepted events. The tree also shows a worker and rollup module, but their implementation and connections are not sampled, so those relationships are left unspecified. Database internals and frontend API wiring are likewise only partially evidenced.
Main entry points: main.go Event ingestion · api-keys.controller.ts API key routes · billing.service.ts Billing service · schema.ts Application database
Components 20
Web application
- Web interface
apps/web/app - Analytics dashboard
apps/web/app/dashboard/[orgId]/analytics/page.tsx - Organization settings
apps/web/app/dashboard/[orgId]/settings - API client
apps/web/lib/api.ts
Application API
- Authentication routes
apps/api/src/auth/auth.controller.ts - Authentication service
apps/api/src/auth/auth.service.ts - Organization routes
apps/api/src/orgs/orgs.controller.ts - Organization service
apps/api/src/orgs/orgs.service.ts - API key routes
apps/api/src/api-keys/api-keys.controller.ts - API key service
apps/api/src/api-keys/api-keys.service.ts - Billing routes
apps/api/src/billing/billing.controller.ts - Billing service
apps/api/src/billing/billing.service.ts
Event processing
- Event ingestion
apps/ingestion/main.go - Event worker
apps/worker/src/index.ts - Analytics rollup
apps/worker/src/rollup.ts - Redis event stream
Persistence and billing
- Application database
packages/database/src/schema.ts
Other components
- Organization user
- Event client
- Stripe
Connections 17
- Organization user → Web interface: uses
- Event client → Event ingestion: submits events
- Web interface → Analytics dashboard: opens dashboard
- Web interface → Organization settings: manages account
- Authentication routes → Authentication service: calls
- Organization routes → Organization service: calls
- API key routes → API key service: calls
- API key routes → Billing service: checks usage
- Billing routes → Billing service: calls
- Event ingestion → API key routes: resolves keys
- Event ingestion → API key routes: checks usage
- Event ingestion → Redis event stream: writes events
- Authentication service → Application database: reads and writes
- API key service → Application database: reads and writes
- Organization service → Application database: reads and writes
- Billing service → Application database: reads and writes
- Billing service → Stripe: creates sessions; verifies webhooks