العودة إلى المساعدة
نظرة عامة على البنية المعمارية
آخر تحديث: 28/8/2026
نظرة عامة على البنية المعمارية
┌──────────────────────────────────────────────────────────┐
│ nginx :80 │
│ / → frontend:3000 (Next.js 14 SSR) │
│ /api/ → backend:8000 (FastAPI) │
│ /iclock/ → backend:8000 (بروتوكول ADMS) │
└──────────────────────────────────────────────────────────┘
│ │
┌──────┴──────┐ ┌──────┴──────┐
│ Next.js │ │ FastAPI │
│ الواجهة │ │ الخادم │
│ الأمامية │ │ /api/v1/ │
└─────────────┘ └──────┬──────┘
│
┌─────────────────┼─────────────────┐
│ │ │
┌──────┴──────┐ ┌───────┴──────┐ ┌──────┴──────┐
│ PostgreSQL │ │ Redis │ │ Celery │
│ :5432 │ │ :6379 │ │ Worker+Beat│
└─────────────┘ └─────────────┘ └─────────────┘
حزمة التقنيات
- FastAPI 0.115 — واجهة REST API غير متزامنة
- SQLAlchemy 2.0 async — ORM بتشغيل غير متزامن عبر مشغّل asyncpg
- Alembic — ترحيلات قاعدة البيانات
- Celery + Redis — المهام الخلفية والجدولة
- Next.js 14 App Router — الواجهة الأمامية مع SSR
- Tailwind CSS — التنسيق
- Zustand + TanStack Query — إدارة الحالة
قرارات التصميم الرئيسية
- تعدد المستأجرين: تحتوي جميع الجداول على
company_id. كل استعلام يُصفَّى به. - دفع ADMS: تتصل الأجهزة بشكل صادر — لا حاجة لاستطلاع دوري.
- مصادقة JWT: رموز وصول قصيرة الأجل + رموز تحديث تُخزَّن لدى العميل.