bottleneckcrm/frontend/README.md
Ashwin ce02cda571 Update license and project details to reflect new ownership and version increment
- Updated LICENSE file to include copyright for RunCode Inc. (2026).
- Revised README.md to change commercial support contact and sponsorship details to RunCode Inc.
- Incremented version number in pyproject.toml and uv.lock from 1.17.0 to 1.17.1.
- Removed outdated funding.json file and updated frontend README for clarity on project structure and setup.
- Adjusted login page links for terms of service.
2026-10-20 14:15:21 +05:30

1.5 KiB

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