bottleneckcrm/docs/index.md
Ashwin e3b5181b19 Refactor comments for clarity and consistency across multiple screens and services
- Updated comments in LeadsListScreen, MoreScreen, TaskDetailScreen, TaskFormScreen, TasksListScreen, TicketAnalyticsScreen, TicketDetailScreen, TicketsListScreen, ApiService, AuthService, CrashReporting, DealCard, TicketCard, MultiSelectSheet, KanbanColumn, StageStepper, TicketApprovalPanel, TicketPropertiesCard, and TicketTimePanel to improve readability and maintain a consistent style.
- Adjusted punctuation and phrasing for better flow and understanding.
2026-08-03 09:36:48 +05:30

1.1 KiB

BottleCRM

BottleCRM is a multi-tenant CRM covering leads, accounts, contacts, opportunities, support tickets (cases), tasks and invoices.

What BottleCRM is

BottleCRM is MIT licensed and self-hosted: you run it on your own infrastructure, there are no per-seat limits, and there is no feature paywall.

How it fits together

Three clients (a SvelteKit web app, a Flutter mobile app, and the REST API) share one Django REST Framework backend. Tenant isolation is enforced by PostgreSQL Row-Level Security keyed on the app.current_org session variable, not by application code alone: application middleware sets that variable from the authenticated user's JWT on every request, and the database enforces it independently of the ORM's own org filters.

Where to start