This page is the technical entry point for engineers implementing, operating, or extending ActivityManager.
Useful Links
- Public API reference: Public API
- AI crawler hints: llms.txt
- Getting started: Getting started
- Activity model: Activities
- Slot model: Timeslots
- Checkout and reservations: Bookings and checkout
- Pricing engine: Pricing
- Form data model: Forms
- Payments and providers: Payments
- Widget integration: Widget embed
- Troubleshooting: Troubleshooting
Architecture Snapshot
- Backend: NestJS + GraphQL (code-first schema)
- Frontend app: Angular
- Docs: MkDocs
- API style: GraphQL-first with typed enums and connection-style pagination where available
Frontend Type Generation
From apps/starter:
npm run generate
Output:
apps/starter/src/generated.ts
API Security Notes
- Sensitive payment credentials are write-only in mutations and never exposed in query payloads
- Use bearer auth for protected operations
- Public GraphQL endpoints are protected by configurable rate limits
Operational Guidance
- Keep schema changes backward compatible when possible
- Mark old fields as deprecated before removal
- Regenerate frontend GraphQL types after every schema update
- Build backend and frontend in CI for schema-client compatibility checks