bottleneckcrm/frontend
2026-10-24 11:34:07 +05:30
..
src Record where each new org came from, alert stale deals only for orgs in use, and offer industries on the phone's new-org screen (1.25.0) 2026-10-24 11:34:07 +05:30
static Update license and project details to reflect new ownership and version increment 2026-10-20 14:15:21 +05:30
test/stubs Refactor imports to use new aliasing convention and update environment variable handling 2026-10-15 20:38:58 +05:30
.dockerignore feat: add email templates for assigned contacts, leads, and opportunities 2026-08-12 20:19:53 +05:30
.env.example Add ticket approval panel tests and enhance ticket board functionality 2026-09-26 23:33:20 +05:30
.gitignore feat: integrate Sentry for error monitoring in the frontend and remove various old linting/formatting configurations. 2026-02-20 17:49:19 +05:30
.npmrc revamp and upgrade to modern stack (#562) 2025-11-29 10:07:50 +05:30
.prettierignore chore: clean up code formatting and improve readability across multiple files 2026-08-07 22:42:57 +05:30
.prettierrc feat: Implement enterprise constraints, update models, serializers, views, and enhance UI components across the application. 2025-12-09 16:26:17 +05:30
components.json feat: Implement enterprise constraints, update models, serializers, views, and enhance UI components across the application. 2025-12-09 16:26:17 +05:30
Dockerfile upload 2026-10-20 21:48:14 +05:30
eslint.config.js Refactor imports to use new aliasing convention and update environment variable handling 2026-10-15 20:38:58 +05:30
jsconfig.json Refactor imports to use new aliasing convention and update environment variable handling 2026-10-15 20:38:58 +05:30
package.json clean up 2026-10-21 09:25:18 +05:30
pnpm-lock.yaml clean up 2026-10-21 09:25:18 +05:30
pnpm-workspace.yaml Refactor imports to use new aliasing convention and update environment variable handling 2026-10-15 20:38:58 +05:30
README.md Update license and project details to reflect new ownership and version increment 2026-10-20 14:15:21 +05:30
tailwind.config.ts feat: Implement enterprise constraints, update models, serializers, views, and enhance UI components across the application. 2025-12-09 16:26:17 +05:30
vite.config.js Refactor imports to use new aliasing convention and update environment variable handling 2026-10-15 20:38:58 +05:30
vitest.config.js Refactor imports to use new aliasing convention and update environment variable handling 2026-10-15 20:38:58 +05:30

BottleCRM web app

The SvelteKit (Svelte 5) web client for BottleCRM. It has no database of its own: every page reads and writes through the Django REST API in ../backend, the same API the Flutter app in ../mobile uses. For what BottleCRM is, see the project README.

Run it locally

Start the backend first (see Development setup), then:

cd frontend
cp .env.example .env    # PUBLIC_DJANGO_API_URL points at the backend, http://localhost:8000 by default
pnpm install
pnpm run dev            # http://localhost:5181

The browser calls the API cross-origin, so the backend's CORS_ALLOWED_ORIGINS must include http://localhost:5181. A missing entry shows up as a CORS error, not a 404.

Checks

pnpm run check    # svelte-check type checking
pnpm run lint     # prettier + eslint
pnpm run test     # vitest
pnpm run build    # production build (adapter-node)

Access control

Org membership and role (USER or ADMIN) come from the server, and the backend is the only place they are enforced; anything the UI hides is a convenience, not a control. Platform super admin is the is_superuser flag on the user record, granted explicitly and never derived from an email address.

More