When a PBX webhook includes recordingUrl or transcript, queue STT and AI to create a call_result note; mark API, bulk SMS, WooCommerce, and VoIP as done and defer online payments. Co-authored-by: Cursor <cursoragent@cursor.com>
107 lines
3.7 KiB
Markdown
107 lines
3.7 KiB
Markdown
# Montact CRM (منتکت)
|
||
|
||
Monorepo برای CRM فروشمحور ایرانی با همترازی قابلیت نسبت به دیدار، بهاضافه Smart Notes (سند کارفرما).
|
||
|
||
## استک
|
||
|
||
| بخش | فناوری |
|
||
|---|---|
|
||
| پنل | Vue 3 + Vite + TypeScript + Pinia |
|
||
| API | NestJS |
|
||
| دیتابیس | PostgreSQL (Prisma) |
|
||
| صف/کش | Redis (آماده در Compose) |
|
||
| فایل | MinIO (آماده در Compose) |
|
||
| لندینگ | بعداً با Nuxt در `apps/landing` |
|
||
|
||
UI را پیکسلبهپیکسل از دیدار کپی نمیکنیم؛ هویت بصری مستقل **منتکت (Montact)** است.
|
||
|
||
## ساختار
|
||
|
||
```text
|
||
apps/
|
||
web/ # پنل Vue
|
||
api/ # NestJS
|
||
packages/
|
||
shared/ # تایپها و قرارداد مشترک
|
||
docs/ # نقشه راه و PRD
|
||
docker-compose.yml
|
||
```
|
||
|
||
## پیشنیاز
|
||
|
||
- Node.js 20+
|
||
- PostgreSQL روی `localhost:5432` یا Docker Desktop
|
||
- (اختیاری) Redis و MinIO از Compose
|
||
|
||
اگر Docker دارید:
|
||
|
||
```bash
|
||
docker compose up -d
|
||
```
|
||
|
||
## راهاندازی
|
||
|
||
```bash
|
||
npm install
|
||
npm run build -w @mento/shared
|
||
```
|
||
|
||
برای کار روی ظاهر، فقط فرانت را روشن کن. درخواستهای `/api` میروند به سرور اصلی (`https://crm.montzar.ir`) و لازم نیست API لوکال بالا باشد:
|
||
|
||
```bash
|
||
npm run dev
|
||
```
|
||
|
||
- پنل لوکال: http://localhost:5173
|
||
- ورود با همان حساب سرور (`crm.montzar.ir`)، نه حساب دمو
|
||
|
||
اگر خواستی API را هم روی سیستم خودت داشته باشی:
|
||
|
||
```bash
|
||
npm run prisma:generate -w @mento/api
|
||
npm run prisma:migrate -w @mento/api
|
||
npm run prisma:seed -w @mento/api
|
||
```
|
||
|
||
ترمینال ۱: `npm run dev:api`
|
||
ترمینال ۲: در PowerShell
|
||
|
||
```powershell
|
||
$env:MENTO_DEV_API="http://127.0.0.1:3000"; npm run dev
|
||
```
|
||
|
||
یا در `apps/web/.env.development.local` بنویس: `MENTO_DEV_API=http://127.0.0.1:3000`
|
||
|
||
حساب دمو فقط برای API لوکال بعد از seed:
|
||
|
||
- مالک: `owner@demo.local` / `demo1234`
|
||
- مدیر: `admin@demo.local` / `demo1234`
|
||
- فروش: `sales@demo.local` / `demo1234`
|
||
|
||
## فاز فعلی
|
||
|
||
فاز ۱ هسته فروش/پشتیبانی، Smart Notes، مالی سبک و اتصالها (API، ووکامرس، VoIP، پیامک گروهی) عملاً کامل است. جزئیات تیکخورده و باقیمانده:
|
||
|
||
- [`docs/وضعیت-پیشرفت.md`](docs/وضعیت-پیشرفت.md) ← **چکلیست زنده**
|
||
- [`docs/قابلیتهای-منتکت.md`](docs/قابلیتهای-منتکت.md) ← فهرست کوتاه قابلیتها
|
||
- [`docs/راهنما-و-نقشه-راه.md`](docs/راهنما-و-نقشه-راه.md) ← نقشه راه
|
||
|
||
نمونههای اخیر آمادهشده: احراز هویت OTP/رمز، Ask Montact، Voice-to-Text، اتصال تهحساب، یادآور SMS فعالیت، UI یکدست، جداکننده مبلغ.
|
||
|
||
استقرار: [`deploy/DEPLOY.md`](deploy/DEPLOY.md) → `crm.montzar.ir`
|
||
|
||
## راهنمای کاربری
|
||
|
||
برای کار با پنل (زبان ساده، گامبهگام):
|
||
|
||
- [`docs/راهنمای-کاربری.md`](docs/راهنمای-کاربری.md)
|
||
- [`docs/راهنمای-کاربری.docx`](docs/راهنمای-کاربری.docx) *(باید بعد از تغییر MD دوباره ساخته شود)*
|
||
- [`docs/راهنمای-کاربری.pdf`](docs/راهنمای-کاربری.pdf) *(باید بعد از تغییر MD دوباره ساخته شود)*
|
||
|
||
برای بازتولید Word/PDF:
|
||
|
||
```bash
|
||
python docs/export-doc.py --preset user-guide
|
||
```
|
||
|
||
سپس در صورت نیاز همان DOCX را از Word به PDF Export کنید. |