123 lines
4.4 KiB
Markdown
123 lines
4.4 KiB
Markdown
# Mento CRM (منتو)
|
||||
|
|
|
|||
|
|
Monorepo برای CRM فروشمحور ایرانی با همترازی قابلیت نسبت به دیدار، بهاضافه Smart Notes (سند کارفرما).
|
|||
|
|
|
|||
|
|
## استک
|
|||
|
|
|
|||
|
|
| بخش | فناوری |
|
|||
|
|
|---|---|
|
|||
|
|
| پنل | Vue 3 + Vite + TypeScript + Pinia |
|
|||
|
|
| API | NestJS |
|
|||
|
|
| دیتابیس | PostgreSQL (Prisma) |
|
|||
|
|
| صف/کش | Redis (آماده در Compose) |
|
|||
|
|
| فایل | MinIO (آماده در Compose) |
|
|||
|
|
| لندینگ | بعداً با Nuxt در `apps/landing` |
|
|||
|
|
|
|||
|
|
UI را پیکسلبهپیکسل از دیدار کپی نمیکنیم؛ هویت بصری مستقل **منتو (Mento)** است.
|
|||
|
|
|
|||
|
|
## ساختار
|
|||
|
|
|
|||
|
|
```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
|
|||
|
|
npm run prisma:generate -w @mento/api
|
|||
|
|
npm run prisma:migrate -w @mento/api
|
|||
|
|
npm run prisma:seed -w @mento/api
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
ترمینال ۱:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
npm run dev:api
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
ترمینال ۲:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
npm run dev:web
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- پنل: http://localhost:5173
|
|||
|
|
- API: http://localhost:3000/api/health
|
|||
|
|
|
|||
|
|
حساب دمو بعد از seed:
|
|||
|
|
|
|||
|
|
- مالک: `owner@demo.local` / `demo1234`
|
|||
|
|
- مدیر: `admin@demo.local` / `demo1234`
|
|||
|
|
- فروش: `sales@demo.local` / `demo1234`
|
|||
|
|
|
|||
|
|
## فاز فعلی
|
|||
|
|
|
|||
|
|
جزئیات تیکخورده و باقیمانده:
|
|||
|
|
|
|||
|
|
- [`docs/وضعیت-پیشرفت.md`](docs/وضعیت-پیشرفت.md) ← **چکلیست زنده**
|
|||
|
|
|
|||
|
|
مایلاستون ۱-الف تقریباً کامل:
|
|||
|
|
|
|||
|
|
- ✅ ورود / سازمان
|
|||
|
|
- ✅ اشخاص و شرکتها (جستجو + جلوگیری از تکراری)
|
|||
|
|
- ✅ کاریز فروش کانبان (معامله، کشیدن بین مراحل)
|
|||
|
|
- ✅ فعالیتها (امروز / عقبافتاده)
|
|||
|
|
- ✅ Smart Notes پایه (ثبت سریع، پین، تگ، اتصال، تبدیل به وظیفه)
|
|||
|
|
- ✅ فیلد سفارشی (تعریف + مقدار روی شخص/شرکت/معامله)
|
|||
|
|
- ✅ ایمپورت/اکسپورت اکسل مخاطبین
|
|||
|
|
- ✅ غنیسازی پرونده معامله (برچسب، راکد/فاسد، منبع، دلیل شکست)
|
|||
|
|
- ✅ محصول/خدمت روی معامله (کاتالوگ + ردیف و جمع مبلغ)
|
|||
|
|
- ✅ نوتیفیکیشن داخل برنامه (زنگ اعلان، خوانده/نخوانده، رویداد فعالیت و معامله)
|
|||
|
|
- ✅ تایملاین پرونده (یادداشت + فعالیت روی شخص/شرکت/معامله)
|
|||
|
|
- ✅ تقویم فعالیتها (نمای ماهانه + فیلتر بازه تاریخ)
|
|||
|
|
- ✅ چند کاریز فروش (انتخاب کاریز + ساخت کاریز جدید)
|
|||
|
|
- ✅ انواع Note (فیلتر + برچسب نوع روی کارت)
|
|||
|
|
- ✅ پیوست فایل روی Note (آپلود / دانلود / حذف)
|
|||
|
|
- ✅ نقش و دسترسی سازمانی (تیم، RolesGuard، تنظیمات فقط مالک/مدیر)
|
|||
|
|
- ✅ سطح دسترسی پروندهای (فروش/پشتیبانی فقط مالکیت خود)
|
|||
|
|
- ✅ هدفگذاری و پیشبینی فروش پایه
|
|||
|
|
- ✅ چندارزی واقعی (ارز پایه + نرخ + انتخاب در فرمها)
|
|||
|
|
- ✅ تیکتینگ پایه (گفتگو + ارجاع)
|
|||
|
|
- ✅ SLA + FAQ + CSAT
|
|||
|
|
- ✅ پرتال مشتری OTP (`/p/demo-mento` + SMS ترِز)
|
|||
|
|
- ✅ گزارشات و داشبورد
|
|||
|
|
- استقرار: [`deploy/DEPLOY.md`](deploy/DEPLOY.md) → `crm.montzar.ir`
|
|||
|
|
- ✅ فرمساز سرنخ (لینک عمومی / iframe / QR)
|
|||
|
|
- ✅ پیشفاکتور (از معامله یا مستقل + چاپ)
|
|||
|
|
- ✅ فاکتور / پرداخت / اقساط ساده
|
|||
|
|
|
|||
|
|
## راهنمای کاربری
|
|||
|
|
|
|||
|
|
برای کار با پنل (زبان ساده، گامبهگام):
|
|||
|
|
|
|||
|
|
- [`docs/راهنمای-کاربری.md`](docs/راهنمای-کاربری.md)
|
|||
|
|
- [`docs/راهنمای-کاربری.docx`](docs/راهنمای-کاربری.docx)
|
|||
|
|
- [`docs/راهنمای-کاربری.pdf`](docs/راهنمای-کاربری.pdf)
|
|||
|
|
|
|||
|
|
برای بازتولید Word/PDF:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
python docs/export-doc.py --preset user-guide
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
سپس در صورت نیاز همان DOCX را از Word به PDF Export کنید.
|