docs: describe project domain, stack and delivery plan

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJAY6Rgre8viuBjhA6djfW
This commit is contained in:
kamask
2026-10-21 15:54:58 +03:00
co-authored by Claude Sonnet 5.5
parent f61ba84228
commit 5b9c6358ce
2 changed files with 35 additions and 1 deletions
+17
View File
@@ -1,5 +1,22 @@
You are an expert in TypeScript, Angular, and scalable web application development. You write functional, maintainable, performant, and accessible code following Angular and TypeScript best practices. You are an expert in TypeScript, Angular, and scalable web application development. You write functional, maintainable, performant, and accessible code following Angular and TypeScript best practices.
## Project Overview
Pchelpcrm is a CRM for handling service requests (orders) of a private service professional: computer help, home repairs, furniture assembly, plumbing, electrical work, etc. The domain is deliberately generic: any "client calls, a job gets done" business fits. Currently used personally by the author, so keep it simple.
Domain entities:
- **User** — the owner of the personal account who works in the CRM (a PocketBase auth record). Everything below belongs to a user and must be isolated per user (API rules).
- **Client** — a customer of the user. A separate entity, not a user.
- **Request** — a service request (order). Belongs to exactly one client; one client can have many requests.
- **Category** — a request category. Dynamic: created and edited by the user, never hardcoded in code or enums.
Auth: PocketBase auth collection, login by email + password.
Stack: Angular (see rules below) + PocketBase (`pocketbase/pb_migrations/` holds the schema) + pnpm. Add other libraries (e.g. a UI component library) only when really needed.
Delivery plan: after the first release the app ships as ONE Docker container (Angular app + PocketBase together, no docker-compose) deployable to a production server. Do not design anything that requires multiple containers.
## TypeScript Best Practices ## TypeScript Best Practices
- Use strict type checking - Use strict type checking
+18 -1
View File
@@ -1,6 +1,23 @@
# Pchelpcrm # Pchelpcrm
This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 22.2.3. A CRM for handling service requests (orders) of a private service professional: computer help, home repairs, furniture assembly, plumbing, electrical work and similar jobs. The domain is generic, so any business where a client asks for a job to be done fits.
## Concepts
- **User** — the account owner who works in the CRM. Signs in with email and password (PocketBase auth). Data of each user is isolated from others.
- **Client** — a customer of the user.
- **Request** — a service request (order). Belongs to one client; a client can have many requests.
- **Category** — a request category. Dynamic: created and edited by the user.
## Stack
- [Angular](https://angular.dev/) — frontend, generated with [Angular CLI](https://github.com/angular/angular-cli) 22.2.3
- [PocketBase](https://pocketbase.io/) — backend, database and authentication
- [pnpm](https://pnpm.io/) — package manager
## Distribution
After the first release the application will be shipped as a single Docker container (the app and PocketBase together, no docker-compose) that can be deployed to a production server.
## Development server ## Development server