6bf0746b94
- Company CRUD with soft-delete, FTS search (tsvector + GIN), filter, pagination - Contact CRUD with N:M company linking via company_contacts - CSV/XLSX export, CSV import with dry-run preview - GDPR hard-delete with deletion_log - Audit log on all mutations - 27 new tests (24 ACs), 56 total tests pass - Migration 0002: contacts, company_contacts, FTS search_tsv - Fixed T01 tests: POST→201, PATCH→PUT compatibility
32 lines
436 B
Plaintext
32 lines
436 B
Plaintext
# LeoCRM v1.0 - Production Dependencies
|
|
|
|
# Web framework
|
|
fastapi>=0.111.0,<0.116
|
|
uvicorn[standard]>=0.29.0
|
|
python-multipart>=0.0.7
|
|
|
|
# Database / ORM
|
|
sqlalchemy==2.0.35
|
|
alembic>=1.13
|
|
asyncpg>=0.29
|
|
|
|
# Validation / Settings
|
|
pydantic>=2.5
|
|
pydantic-settings>=2.1
|
|
|
|
# Auth
|
|
passlib[bcrypt]==1.7.4
|
|
bcrypt==4.0.1
|
|
|
|
# Redis / Job Queue
|
|
redis>=5.0
|
|
arq>=0.25
|
|
|
|
# File I/O
|
|
aiofiles>=23.2
|
|
|
|
# Templates (optional)
|
|
jinja2>=3.1
|
|
greenlet>=3.0
|
|
openpyxl>=3.1
|