عن المشروع
يحتوي المستودع على الهندسة وراء موقع المحفظة الشخصية لماثيو موسانغو بيتر. يُؤلّف الموقع باستخدام Markdown ويتم بناؤه باستخدام MkDocs 1.6.1 بالإضافة إلى سمة Material 9.7.7، مع استخدام افتراضي داكن slate مع تبديل فاتح ولهجة زرقاء-خضراء. يتم التطوير محليًا عبر Podman Compose وخادم تطوير مفعَّل بـ HTTPS (serve.py) يستخدم mkcert لتأمين TLS. يتم تنفيذ CI/CD في GitHub Actions: كل دفع إلى الفرع الرئيسي وعلامة الإصدار يُشغل سير عمل بناء يشغل mkdocs build، pip‑audit، فحص الروابط، وفحوصات linting الخاصة باللغة. ينشر البناء الناجح artefact الموقع إلى بيئة staging على S3+CloudFront؛ بالإضافة إلى ذلك، تنشر علامات الإصدار إلى نسخة ما قبل الإنتاج على AWS، وبعد الموافقة اليدوية في بيئة الإنتاج، إلى GitHub Pages. يتم التعامل مع إحصاءات الزوار عبر مسار خادمeless يركز على الخصوصية: يقوم CloudFront بإعادة توجيه رؤوس geo إلى API Gateway، والذي يستدعي دالة Lambda للكتابة لإدخال بيانات غير IP إلى DynamoDB (TTL 90 يومًا) ودالة Lambda للقراءة لاستعلامات الملخص. يتم تعريف البنية التحتية باستخدام Terraform، بما في ذلكbuckets S3 خاصة أمامها CloudFront مع OAC، وAPI Gateway، ووظائف Lambda، وجداول DynamoDB، وWAF/VPC اختياريًا. خطوة bootstrap في terraform/ci تنشئ خلفيات حالة لكل بيئة (S3 + قفل DynamoDB) وأدوار OIDC بأقل امتيازات لـ GitHub Actions، مما يضمن عدم استخدام مفاتيح AWS طويلة الأمد. تشمل ممارسات الأمان تحديثات Dependabot، وإنشاء SBOM باستخدام CycloneDX لكل إصدار، وتشغيل pip‑audit في كل بناء CI. يوفر المستودع أيضًا إرشادات المساهمة، وسياسة الأمان، وسجل التغييرات، ومجموعات قواعد الفروع/العلامات. كل الكود مرخص بموجب MIT؛ المحتوى الشخصي (النصوص، الصور، السيرة الذاتية) يظل محميًا بحقوق التأليف والنشر للمؤلف.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.