No description
Find a file
Ashwin 3a4ef40ba5 feat: Implement close-with-children dialog and related settings
- Added `close_with_children_dialog.dart` to handle the close ticket prompt with linked tickets.
- Updated `_closeWithChildren` method in `ticket_detail_screen.dart` to utilize the new dialog and respect organization settings for default checkbox state.
- Enhanced ticket closing feedback messages based on whether linked tickets were also closed.
- Introduced unit tests for `AccessToken` and `OrgSettings` to ensure proper serialization and functionality.
- Added tests for the new close-with-children dialog to verify UI behavior and settings integration.
- Updated existing tests to cover new functionality and ensure no regressions.
2026-08-08 01:18:27 +05:30
.github/workflows feat(tags): add merge functionality for tags 2026-08-07 16:43:34 +05:30
backend feat: Implement close-with-children dialog and related settings 2026-08-08 01:18:27 +05:30
docker fix: resolve setup and Docker issues preventing project from running 2026-02-17 10:27:47 +05:30
docs feat(tags): add merge functionality for tags 2026-08-07 16:43:34 +05:30
frontend feat: Implement close-with-children dialog and related settings 2026-08-08 01:18:27 +05:30
mobile feat: Implement close-with-children dialog and related settings 2026-08-08 01:18:27 +05:30
.coveragerc test: expand backend test suite to 1229 tests with 93% coverage 2026-02-17 16:58:52 +05:30
.dockerignore feat: add Docker Compose setup for local development 2026-02-17 10:01:50 +05:30
.env.docker Refactor permissions and remove unused settings 2026-08-05 09:11:11 +05:30
.gitignore Add documentation for self-hosting, production deployment, requirements, security hardening, and troubleshooting 2026-08-02 20:08:12 +05:30
.jshintrc feat: add JSHint configuration for ES11 and module support 2026-02-20 18:04:30 +05:30
.readthedocs.yaml Refactor comments for clarity and consistency across multiple screens and services 2026-08-03 09:36:48 +05:30
.runcode.yaml chore: migrate Python dependency management from pip to uv and update project tooling 2026-05-09 12:07:23 +05:30
CONTRIBUTING.md Refactor comments for clarity and consistency across multiple screens and services 2026-08-03 09:36:48 +05:30
DESIGN_SYSTEM.md m13 2025-12-28 17:22:29 +05:30
docker-compose.yml chore: enhance docker-compose configuration to support optional local environment overrides 2026-07-27 08:05:38 +05:30
Dockerfile fix: move venv outside of backend in dockerfile 2026-08-05 01:12:07 +07:00
LICENSE Create LICENSE (#6) 2017-10-03 15:59:34 +05:30
MANIFEST.in Added manifest file to make sure templates and static files are installed with the apps 2019-04-01 15:48:28 -04:00
mkdocs.yml Update integration documentation to replace MCP server with AI agents 2026-08-03 23:16:05 +05:30
README.md Update integration documentation to replace MCP server with AI agents 2026-08-03 23:16:05 +05:30
RLS_SETUP.md Refactor comments for clarity and consistency across multiple screens and services 2026-08-03 09:36:48 +05:30
schema.yml new release 2023-10-04 11:07:23 +05:30

BottleCRM: Open Source Django CRM for Startups & Enterprises

A free, self-hosted, multi-tenant CRM built with Django REST Framework, SvelteKit and Flutter.

License Python Django SvelteKit Svelte Flutter Coverage

BottleCRM is an open source CRM you run on your own infrastructure. It covers the full customer lifecycle: leads, accounts, contacts, opportunities, support tickets, tasks and invoices: through a SvelteKit web app, a native Flutter mobile app, and a documented REST API sharing one Django backend. PostgreSQL Row-Level Security isolates each organization's data at the database layer, so a single deployment serves one startup or hundreds of tenants.

No per-seat pricing, no user caps, no feature paywall. MIT licensed: fork it, self-host it, own your data.

Try it free → · Features · Product docs · Pricing · Migrate from Salesforce or HubSpot

(That's the marketing site's product documentation. For the technical documentation (self-hosting, architecture, the API, contributing) see Documentation below.)

Why BottleCRM

  • Free forever, MIT licensed: unlimited users and records, no subscription. A genuinely self-hosted CRM alternative to Salesforce, HubSpot and Pipedrive.
  • Multi-tenant by design: PostgreSQL Row-Level Security enforces tenant isolation in the database, not just in application code. Run it for a single company or as a SaaS for many.
  • Agent-ready REST API: point Claude, Cursor, Codex, Gemini or any agent at the API with a personal access token and let it search, create and update records as you, inheriting your role, org and permissions. An OpenAPI schema ships with it, so the agent can discover the endpoints itself.
  • Web, native mobile and API: one Django REST backend behind a Svelte 5 web app and a Flutter app for iOS and Android.
  • A stack you can actually hack on: Django 6 / DRF and Svelte 5, not a bespoke in-house framework. If your team writes Python, it can extend this on day one.
  • Real support tooling: a full helpdesk with SLA timers, approvals, escalations, macros and a knowledge base, not a bolted-on ticket list.

How it compares

BottleCRM SaaS CRM (Salesforce, HubSpot) Typical open source CRM
Cost Free, unlimited users Per seat, per month Free core, often paid tiers
Hosting Self-hosted (managed hosting available) Vendor cloud only Self-hosted
Data ownership Total. It is your database Vendor-controlled Total
Multi-tenancy Database-level RLS Not applicable Uncommon
Native mobile app Yes, Flutter, iOS + Android Yes Uncommon
AI agent access Full REST API, per-user tokens Proprietary add-ons Uncommon
Stack Django REST + SvelteKit Closed source Varies
License MIT Proprietary Varies, often GPL/AGPL

Quick start

git clone https://github.com/django-crm/Django-CRM.git
cd Django-CRM
docker compose up --build

Frontend at http://localhost:5173, API and Swagger UI at http://localhost:8000/swagger-ui/. See the Docker quick start guide for the default admin login, loading demo data, and what each service does.

Documentation

The full documentation (setup, self-hosting, architecture, the REST API, and contributing) is built from this repository's docs/ with MkDocs Material and publishes to Read the Docs at https://django-crm.readthedocs.io/en/latest/. Four starting points:

  • Getting started: Docker and manual setup, first sign-in, demo data.
  • Self-hosting: requirements, production deployment, PostgreSQL and Row-Level Security, backups, security hardening.
  • API reference: authentication, conventions, and every documented endpoint.
  • Contributing: local development setup, testing, code style, and how to open a pull request.

Contributing

We welcome contributions! See CONTRIBUTING.md for setup instructions, development checks, and pull request guidance.

Community

License

This project is licensed under the MIT License - see the LICENSE file for details.

Sponsors

We are grateful to the sponsors who support BottleCRM's continued development and maintenance.

We warmly welcome new sponsors. If you would like to support BottleCRM and help the project grow, please get in touch.

Contributors

This project exists thanks to all the people who contributed.

View all BottleCRM contributors.