واجهة عديمة الأسرار وخلفية مالكة لكل المنطق
الواجهة تقرأ BACKEND_URL فقط. كل التحقق، الصلاحيات، MySQL، S3، الأسرار، الذكاء الاصطناعي والاتصالات الخارجية تبقى في الخلفية.
MySQLS3 / MinIOAI providersWebhooks
01
حدود الخدمات
الفصل يمنع تسريب الاعتمادات ويوحد قواعد العمل.
- pentascope-fe: Next.js UI وproxy آمن إلى الخلفية
- pentascope-be: API/business rules/auth/migrations
- MySQL 8: system of record لكل بيانات المشاريع والتشغيل
- S3/MinIO: المستندات والمرفقات وأدلة الاختبار
- OpenAI/OpenRouter: تحليل اختياري من الخادم فقط
- External webhooks: وجهات allowlisted عبر حارس outbound HTTP
02
نموذج البيانات
السجل المرجعي منفصل عن تعديلات كل مشروع.
- Canonical SRS: imports, departments, modules, workflows, stories, links
- Project overlay: story edits/additions/history/traceability
- QA runtime: commands, runs, cases, state, events
- Issue delivery: issues, attachments, project_records
- Governance: impacts, system logs, AI receipts/datasets/evaluations
03
تدفق القراءة والكتابة
جميع الكتابات الحساسة تمر بالخلفية.
- Browser → frontend server route → BACKEND_URL
- Authorization Bearer لا يذهب إلى طرف خارجي
- Backend validates scope and project ownership
- Database transaction يحفظ السجل وروابطه
- S3 key يبقى داخلياً ويصدر رابطاً موقعاً قصير العمر
- Webhook outbound يطبق HTTPS/allowlist/timeout/redirect policy
04
مبادئ التوسع
يحافظ الهيكل على الأداء مع زيادة المشاريع.
- Stateless frontend/backend قابلان للتوسع الأفقي
- MySQL pool مضبوط بحدود واتصال UTC
- Canonical graph يقرأ مع cache قصير وفشل آمن
- الملفات خارج MySQL
- قوائم المشاريع تستخدم pagination بحد أقصى
- Coolify يشغّل workers مستقلة لإعادة Webhook وجدولة الاختبارات