- Revised README.md, schema.yml, and various mobile files to change the project description to "CRM for AI and People."
- Updated the description in pyproject.toml and mobile pubspec.yaml for consistency.
- Adjusted splash screen text in the mobile app to align with the new branding.
- 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.
- Changed imports from '$lib' to '#lib' for consistency across the codebase.
- Updated environment variable imports to use the new structure from '$app/env/public' and '$app/env/private'.
- Removed deprecated svelte.config.js and adjusted vite.config.js to accommodate new configurations.
- Added stubs for environment variables in tests to ensure compatibility with the new import structure.
- Created production-deploy.md to outline production deployment steps and configurations.
- Added requirements.md detailing environment prerequisites for self-hosting.
- Introduced security-hardening.md as a checklist for securing multi-tenant deployments.
- Developed troubleshooting.md to address common issues in RLS-backed deployments.
- Configured mkdocs.yml for documentation structure and navigation.
Add pytest-based test infrastructure with SQLite for fast isolated testing.
Tests cover all 8 app modules (common, accounts, leads, contacts, opportunity,
cases, tasks, invoices) including CRUD, org isolation, kanban, comments, and
auth endpoints. Achieves 54% coverage with a 50% threshold.
Also fixes 10 backend bugs discovered by the test suite:
- Fix serializer read_only_fields for org (teams, documents, board columns/tasks)
- Fix AccountCommentView.put missing partial=True
- Fix UserDetailView broken reverse relation and missing org on address save
- Fix DocumentDetailView.put partial update and null status bug
- Fix TaskDetailView unhandled DoesNotExist → get_object_or_404
- Fix BoardColumn/BoardTask views missing org on save
- Fix LeadListView.post unhandled IntegrityError for duplicate email
- Fix ContactDetailView.get wrong reverse relation name
- Fix OpportunityDetailView null checks before accessing .org
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove google-services.json from tracking and add it to .gitignore.
Add a .json.template placeholder with dummy values so developers know
the file structure. Update README to reflect auto-created admin user.
The leaked key (AIzaSyDsA2wgQIw-bVgwODNMIF482gVRn5xdANU) must still
be revoked in Google Cloud Console by the project owner.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dockerize the full stack so developers can run everything with
`docker compose up`. Replaces the outdated Dockerfile and
docker-compose.yml with a working 6-service setup: PostgreSQL,
Redis, Django backend, Celery worker, Celery beat, and SvelteKit
frontend.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There are small typos in:
- README.md
- docs/source/Forget Password.rst
- installation.md
Fixes:
- Should read `variables` rather than `varialbes`.
- Should read `receive` rather than `recieve`.
- Should read `dependency` rather than `dependencie`.
Signed-off-by: Tim Gates <tim.gates@iress.com>