mirror of
https://github.com/kamask-dev/pchelpmaster.git
synced 2026-11-11 13:59:38 +00:00
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:
co-authored by
Claude Sonnet 5.5
parent
f61ba84228
commit
5b9c6358ce
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user