🏗️ AMISA Enterprise System Architecture Blueprint

مستندات فیزیکی، نقشه درخت پروژه‌ها، جریان داده‌ها، APIها، دیتابیس، اپلیکیشن اندروید، دستیار هوش مصنوعی و بازوی بله

📁 ۱. نقشه درخت کامل فایل‌های پروژه (Full Application Directory Tree)

ساختار منظم و کامل فایل‌های بک‌اند PHP، فرانت‌اند جاوااسکریپت MDI و سورس کد برنامه نیتیو اندروید:

amisa-core/ (WordPress Plugin Root)
📄 amisa-core.php (Plugin Core Singleton & Hooks)
includes/
📄 class-amisa-activator.php (DB Table Migrator)
📄 class-amisa-auth-handler.php (WP / Application Password Auth)
📄 class-amisa-rbac.php (Role Based Access Control)
📄 class-amisa-rest-api.php (Central REST Router)
📄 class-amisa-ai-proxy.php (ParsPack/Ollama/OpenAI Stream Tunnel)
📄 class-amisa-bale-bot.php (Bale Messenger Bot Controller)
📄 class-amisa-hr-handler.php (Workforce & Telemetry Handler)
📄 class-amisa-sms-handler.php (Multi-Provider SMS Engine)
front/
assets/
📄 main.js (Toast & UI Handlers)
📄 aiagent.js (TARS AI Client & Stream Renderer)
elements/
📄 windowEngine.js (MDI Floating Window Manager)
windows/
📄 winSystemSettings.js (Global ERP & AI & Bale Settings)
📄 winHrWorkforceHub.js (Workforce & Leaflet OpenMap GPS)
📄 winFieldMissionHub.js (Mission Logistics & Heavy Transport Map)
📄 winCrmPersons.js (Individual CRM Directory)
📄 winCrmCompanies.js (Corporate Accounts & Credit Limit)
📄 winProductCatalog.js (ERP Stock & Cardex)
Android-App/ (com.xc.hr Native Java)
app/src/main/java/com/xc/hr/
📄 MainActivity.java (Dashboard, Timers & Worklog)
📄 ApiClient.java (HttpURLConnection, App Passwords, Real-Time Stream)
📄 TelemetryService.java (Background GPS Location Tracker)
📄 CallRecordingService.java (Audio Capture & Multipart Uploader)
app/src/main/res/layout/
📄 activity_main.xml (Main Executive Workspace)
📄 tab_layouts.xml (MDI Desktop Custom Layouts)

💾 ۲. ساختار جداول پایگاه داده بومی (MySQL Relational Schemas)

جداول اصلی دیتابیس بومی اختصاصی پلتفرم AMISA در MySQL با پیشوند wp_amisa_:

نام جدول (Table Name) فیلدهای اصلی (Core Fields) کاربرد در سیستم (System Purpose)
wp_amisa_crm_persons id, first_name, last_name, national_id, phone, tax_status, office_assignment ثبت پروفایل و پرونده تفصیلی اشخاص حقیقی و مودیان مالیاتی
wp_amisa_crm_companies id, company_name, registration_number, economic_no, credit_limit, account_balance مدیریت پرونده شرکت‌های حقوقی، سقف اعتبار و تراز دفاتر مالی
wp_amisa_erp_products id, product_code, title_fa, category, unit_price, warehouse_balance, unit_measurement کاتالوگ محصولات، فرمولاسیون شیمیایی، قیمت مصوب و کاردکس انبار
wp_amisa_sal_invoices id, invoice_number, buyer_name, subtotal, vat, grand_total, status, created_at ثبت فاکتورهای رسمی صمت، پیش‌فاکتورها و وضعیت تسویه‌حساب‌ها
wp_amisa_hr_workforce_timecards id, user_id, check_in_time, check_out_time, total_hours_logged, calculated_wage, payment_status مدیریت کارکرد ساعتی پرسنل، محاسبه خودکار دستمزد و زمان‌بندی کارگزینی
wp_amisa_hr_seller_telemetry id, user_id, latitude, longitude, mission_reason, activity_log, recorded_at پایش برخط سیگنال‌های GPS، علت حضور در کارگاه و مأموریت‌های میدانی
wp_amisa_sys_task_queue id, task_title, assigned_role, is_processed, priority_rank, created_at صف تقدم ترتیبی غیرقابل دور زدن (FIFO Queue) برای تاییدات اداری

🔌 ۳. ماتریس درگاه‌های REST API (End-to-End API Contracts)

فهرست تمام اندپاینت‌های فعال در سرور وردپرس تحت Namespace اختصاصی amisa/v1:

متد مسیر اندپاینت (Endpoint) سطح دسترسی / Auth توضیحات عملکردی
GET /wp-json/wp/v2/users/me App Password Basic احراز هویت اولیه کاربران اندروید و بررسی صحت رمز اپلیکیشن
POST /wp-json/amisa/v1/auth/login Public دریافت نام کاربری/رمز و صدور توکن دسترسی و Badge پرسنلی
GET /wp-json/amisa/v1/ai/ping Public / Nonce سنجش تاخیر لایو (Latency Ping) اتصال به ParsPack / Ollama
POST /wp-json/amisa/v1/ai/chat/stream User / App Pass ارسال پرامپت و دریافت پاسخ چت هوش مصنوعی به صورت Real-Time SSE Stream
POST /wp-json/amisa/v1/ai/autonomous-crud Authenticated اجرای مستقیم و خودکار دستورات اکشن دیتابیس از خروجی هوش مصنوعی
POST /wp-json/amisa/v1/bale/webhook Bale Server دریافت پیام‌های کاربران پیام‌رسان بله و پاسخ هوشمند به کاتالوگ محصولات
POST /wp-json/amisa/v1/bale/set-webhook Admin ثبت اتوماتیک وب‌هوک سایت در سرورهای رسمی بله (tapi.bale.ai)
GET / POST /wp-json/amisa/v1/hr/workforce Authenticated واکشی و ثبت ورود/خروج، کارکرد ساعتی و مختصات جغرافیایی پرسنل
POST /wp-json/amisa/v1/hr/telemetry Android App ارسال سیگنال پایش موقعیت مکانی GPS از سرویس پس‌زمینه اندروید

💻 ۴. معماری ویندوزهای فرانت‌اند MDI (Desktop Windows Registry)

سیستم پنجره‌های شناور چندگانه (Multi-Document Interface) با قابلیت جابجایی، تغییر اندازه و مدیریت Z-Index:

شناسه پنجره (Window ID) فایل کامپوننت متناظر ویژگی‌ها و قابلیت‌ها
win-system-settings winSystemSettings.js دارای ۴ تب: تنظیمات عمومی ERP، تنظیمات ParsPack AI Studio، ثبت وب‌هوک بله و پیامک
win-hr-workforce winHrWorkforceHub.js پیشخوان کارگزینی؛ پایش علت مأموریت، حذف ستون سن و باز کردن لایو نقشه OpenStreetMap
win-field-mission-hub winFieldMissionHub.js هاب مأموریت‌های میدانی؛ پایش ناوگان سنگین، ثبت کیلومتر طی‌شده و نمایش جغرافیایی مأموریت
win-ai-agent aiagent.js کشوی چت هوشمند TARS؛ دریافت پاسخ استریمینگ، تبدیل ضبط صوت به متن و اجرای دستورات دیتابیس

🧠 ۵. پروکسی هوش مصنوعی و اجرای خودکار (Autonomous AI Engine)

کلاس Amisa_Enterprise_AI_Proxy مسئول برقرار ارتباط بین کاربران، دیتابیس و سرویس‌های هوش مصنوعی (پارس‌پک، اولاما، اوپن‌ای‌آی و جمینای) است.

💬 ۶. بازوی پیام‌رسان بله (Bale Messenger Integration)

فایل class-amisa-bale-bot.php اطلاعات عمومی کاتالوگ محصولات (عنوان کالا، کد SKU، قیمت مصوب و وضعیت موجودی) را از دیتابیس خوانده و به همراه سوال کاربر به هوش مصنوعی می‌فرستد. پاسخ نهایی با پاکسازی تگ‌های داخلی برای کاربر پیام‌رسان بله ارسال می‌شود.

📱 ۷. اپلیکیشن نیتیو اندروید (Android Mobile Core)

برنامه اندروید هلدینگ با احراز هویت **Application Password** وردپرس و پروتکل HTTP Basic Auth متصل است.

⚡ ۸. نمودارها و فلوچارت‌های گردش کار (Interactive Flowcharts)

فلوچارت ۱: چرخه ورود و احراز هویت کاربران در اندروید و وب

۱. ورود اطلاعات کاربر
نام کاربری + Application Password
۲. ارسال به /wp/v2/users/me
هدر Basic Base64(user:pass)
۳. تایید هویت و دریافت نقش
ذخیره ایمن در SharedPreferences

فلوچارت ۲: جریان استریم چت هوش مصنوعی (ParsPack / Local AI)

۱. ارسال پرامپت کاربر
از اپ اندروید یا چت MDI
۲. تزریق کانتکست دیتابیس
موجودیت‌های CRM، ERP و قوانین RBAC
۳. تونل استریم به ParsPack
https://my.parspack.com/api/aistudio
۴. دریافت Real-Time SSE Chunk
نمایش کلمات در همان لحظه در کلاینت
۵. شناسایی [WP_EXECUTE_ACTION]
اجرای خودکار یا تایید عملیات دیتابیس

فلوچارت ۳: روند پاسخ‌دهی خودکار بازوی پیام‌رسان بله

۱. دریافت پیام کاربر در بله
ارسال وب‌هوک به /bale/webhook
۲. استخراج کاتالوگ کالا
خواندن محصولات و قیمت از wp_amisa_erp_products
۳. پردازش با AI و ارسال پاسخ
ارسال پیام نهایی با متد sendMessage بله