Search Ctrl+K
Skip to Content
Aboutحول المنصة

حول المنصة

مرحبًا بك في نظام Portal البيئي — منصة موحدة للمصادقة وإدارة المستخدمين والمنظمات. تعرف على بنيتنا والبنية التحتية وسير عمل التطوير.


نظرة عامة على المنصة

نظام Portal البيئي عبارة عن منصة حديثة وقابلة للتطوير مبنية باستخدام تقنيات على مستوى المؤسسات وأفضل الممارسات. توفر مصادقة آمنة وإدارة شاملة للمستخدمين وإدارة مرنة للمنظمات من خلال مجموعة من التطبيقات المترابطة.

التطبيقات الأساسية


البنية المعمارية

تتبع المنصة بنية الخدمات الصغيرة الحديثة مع فصل واضح للمسؤوليات.

بنية الواجهة الأمامية

الواجهة الأمامية مبنية باستخدام تقنيات الويب الحديثة:

  • إطار العمل: Next.js (قائم على React)
  • اللغة: TypeScript
  • التصميم: Tailwind CSS + مكونات مخصصة
  • إدارة الحالة: React Context + Server Components
  • المصادقة: Kicklock SDK
  • التدويل: دعم مدمج لـ i18n (4 لغات)

كل تطبيق قابل للنشر بشكل مستقل:

التطبيقالمنفذالغرض
AUTH3003واجهة المصادقة
USR3001إدارة ملف المستخدم
ORG3002إدارة المنظمة
DOCS3000بوابة التوثيق
Landing3004موقع تسويقي

جميع تطبيقات الواجهة الأمامية تشترك في المكونات المشتركة من خلال هيكل monorepo، مما يضمن الاتساق عبر المنصة.


البنية التحتية لـ Kubernetes

تعمل منصتنا على Kubernetes مع هيكل مبسط للمساحات الاسمية.

البيئات

نحافظ على بيئتين فقط من أجل البساطة والكفاءة:

البيئةالغرضأمثلة المساحات الاسمية
Developالتطوير والاختبارportal-develop
Productionنظام الإنتاج المباشرportal-master

مهم: لا توجد بيئة staging. ننشر مباشرة من develop إلى production بعد الاختبار الشامل.

هيكل المساحات الاسمية

البنية التحتية لـ Kubernetes منظمة في المساحات الاسمية التالية:

Landing (SPM)

مواقع التسويق والمواقع العامة:

  • landing-spm — موقع تسويقي من صفحة واحدة
  • landing-cv — صفحات السيرة الذاتية/المحفظة الشخصية
  • landing-docs — التوثيق العام

سير عمل التطوير

تضمن عملية التطوير لدينا جودة الكود وموثوقية النشر.

إنشاء مهمة في Trello

يبدأ كل العمل في Trello. يتم إنشاء المهام كبطاقات تحتوي على:

  • وصف واضح ومعايير القبول
  • الأولوية والعلامات
  • أعضاء الفريق المكلفون

إنشاء فرع

لكل مهمة، يتم إنشاء فرع مخصص:

feature/TASK-123-add-new-feature bugfix/TASK-456-fix-login-issue

تتبع أسماء الفروع اصطلاحات تسمية صارمة بناءً على نوع المهمة ومعرفها.

التطوير

يحدث كل التطوير في الفرع الخاص بالمهمة:

  • كتابة الكود متبعًا اصطلاحات المشروع
  • إضافة الاختبارات (إلزامي)
  • تحديث التوثيق إذا لزم الأمر

سير عمل GitHub

كل شيء يتم من خلال GitHub:

  • دفع الكود إلى GitHub
  • إنشاء Pull Request
  • تشغيل الاختبارات التلقائية على GitHub Actions
  • مراجعة الكود من قبل أعضاء الفريق
  • الدمج في develop بعد الموافقة

حرج: التغييرات خارج GitHub مستحيلة تقنيًا. جميع عمليات النشر تتم بواسطة دفعات Git.

النشر التلقائي

بمجرد دمج الكود:

  • الدمج في develop → ينشر تلقائيًا إلى بيئة التطوير
  • الدمج في master → ينشر تلقائيًا إلى بيئة الإنتاج

خط أنابيب CI/CD

كل دفعة للكود تطلق خط الأنابيب الآلي الخاص بنا:

┌─────────────────────────────────────────────────────────┐ │ Git Push │ └──────────────────────┬──────────────────────────────────┘ ┌────────────▼────────────┐ │ Lint & Type Check │ └────────────┬────────────┘ ┌────────────▼────────────┐ │ تشغيل الاختبارات │ └────────────┬────────────┘ ┌────────────▼────────────┐ │ بناء صورة Docker │ └────────────┬────────────┘ ┌────────────▼────────────┐ │ دفع إلى السجل │ └────────────┬────────────┘ ┌────────────▼────────────┐ │ نشر إلى K8s │ └─────────────────────────┘

العملية بأكملها آلية بالكامل. التدخل اليدوي مطلوب فقط للموافقة ومراجعة الكود.


نقاط نهاية الخدمة

تطبيقات الواجهة الأمامية

التطبيقالتطويرالإنتاج
AUTHhttps://auth.dev.ibragimov.ukhttps://auth.ibragimov.uk
USRhttps://usr.dev.ibragimov.ukhttps://usr.ibragimov.uk
ORGhttps://org.dev.ibragimov.ukhttps://org.ibragimov.uk
DOCShttps://docs.dev.ibragimov.ukhttps://docs.ibragimov.uk

واجهات برمجة التطبيقات الخلفية

الخدمةالتطويرالإنتاج
api-authnhttps://api-authn.dev.ibragimov.ukhttps://api-authn.ibragimov.uk
api-authzhttps://api-authz.dev.ibragimov.ukhttps://api-authz.ibragimov.uk
api-userhttps://api-user.dev.ibragimov.ukhttps://api-user.ibragimov.uk

جميع نقاط النهاية تستخدم HTTPS مع إدارة تلقائية لشهادات SSL.


مجموعة التقنيات

تقنيات الواجهة الأمامية

  • Next.js 14+ — إطار عمل React مع App Router
  • TypeScript — تطوير آمن من حيث النوع
  • Tailwind CSS — تصميم utility-first
  • Kicklock — SDK المصادقة
  • Nextra — إطار عمل التوثيق (تطبيق DOCS)
  • React Hook Form — إدارة النماذج
  • Zod — التحقق من صحة المخطط

تقنيات الخلفية

  • Spring Boot 3.x — إطار عمل التطبيق
  • Java 21 — لغة البرمجة
  • PostgreSQL — قاعدة البيانات
  • Liquibase — ترحيلات قاعدة البيانات
  • Kicklock — موفر المصادقة (مستضافة ذاتيًا)
  • Hibernate — ORM
  • Maven — أداة البناء

DevOps والبنية التحتية

  • Kubernetes — تنسيق الحاويات
  • Helm — مدير الحزم لـ Kubernetes
  • Docker — الحاويات
  • GitHub Actions — خطوط أنابيب CI/CD
  • Nginx — الوكيل العكسي وموازنة الحمل

الأمان والامتثال

الأمان هو أولويتنا القصوى. جميع المكونات مصممة بمبادئ الأمان أولاً.

تدابير الأمان

  • مصادقة مستضافة ذاتيًا: جميع بيانات الاعتماد مخزنة على خوادمنا
  • تشفير من طرف إلى طرف: TLS 1.3 لجميع الاتصالات
  • سيادة البيانات: تحكم كامل في بيانات المستخدم
  • التحكم في الوصول القائم على الأدوار: إدارة دقيقة للأذونات
  • تسجيل المراجعة: جميع الإجراءات مسجلة وقابلة للتتبع
  • تحديثات أمان منتظمة: تحديثات آلية للتبعيات

تعلم المزيد

أداة تخصيص السمة

التخصيص والمعاينة في الوقت الحقيقي

السمات

اللون الأساسي

الوضع

فاتح

داكن

النظام

المظهر

افتراضي

بحدود


التخطيطات

التخطيطات

عمودي

مطوي

أفقي

المحتوى

مضغوط

عريض