35 lines
1.5 KiB
Markdown
35 lines
1.5 KiB
Markdown
# Repository Guidelines
|
|
|
|
## Stack Snapshot
|
|
- DMS monorepo with FastAPI API + RQ worker (`backend/`) and React + Vite + TypeScript frontend (`frontend/`).
|
|
- Services in `docker-compose.yml`: `api`, `worker`, `frontend`, `db` (Postgres), `redis`, `typesense`.
|
|
- Runtime persistence uses host bind mounts under `${DCM_DATA_DIR:-./data}` (`db-data`, `redis-data`, `storage`, `typesense-data`).
|
|
|
|
## Project Layout
|
|
- Backend app code: `backend/app/` (`api/`, `services/`, `db/`, `models/`, `schemas/`, `worker/`).
|
|
- Backend dependencies: `backend/requirements.txt`.
|
|
- Frontend app code: `frontend/src/` (`components/`, `lib/api.ts`, `types.ts`, styles).
|
|
- Technical docs live in `doc/` with `doc/README.md` as the index.
|
|
|
|
## Working Commands
|
|
|
|
### Docker
|
|
If required to run the docker image, follow these steps:
|
|
- Init VM: `multipass shell dcm-dev`
|
|
- Move to VM WD: `cd ~/dcm`
|
|
- Start full stack: `docker compose up --build -d`
|
|
- Stop stack: `docker compose down`
|
|
- Tail logs: `docker compose logs -f`
|
|
|
|
### Local NPM Build
|
|
- Frontend dev only: `cd frontend && npm run dev`
|
|
- Frontend production build: `cd frontend && npm run build`
|
|
|
|
## Validation
|
|
- No automated test suite is currently committed.
|
|
- Manual checks for code changes inside VM: `GET /api/v1/health`, upload + processing flow, search, document preview/download, and clean `docker compose logs -f` output for `api` and `worker`.
|
|
|
|
## If You Add Tests
|
|
- Backend: place near changed module, use `test_*.py`.
|
|
- Frontend: use `*.test.tsx`.
|