This reverts commit e10f9829ee.
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
- Manual setup and Docker quick start
- Contributing
- License: MIT