عن المشروع

تعد AWS Cost Calculator أداة ويب للإجابة على سؤال "كم ستكلفني هذه البنية التحتية شهرياً؟" دون الحاجة لمعرفة أنواع المثيلات (instance types) وأعداد العقد مسبقاً. وبدلاً من حاسبة التسعير التقليدية التي تتطلب بنية كاملة مسبقاً، تقبل هذه الأداة وصفاً تقريبياً للخدمة — مثل مستوى حركة المرور، والمرحلة (MVP مقابل الإنتاج)، وشكل الخدمة — وتعيد بنية AWS موصى بها مع تكلفتها الشهرية بالدولار الأمريكي والوون الكوري الجنوبي. تدعم الأداة وضعين للإدخال: التدفق القائم على الخدمة الذي يأخذ وصفاً ويقترح بنية تحتية، والباني اليدوي الذي يتيح للمستخدمين سحب الموارد معاً مثل ECS وRDS وRedis وALB وS3 وLambda وDynamoDB وCloudFront وتسعير تلك المجموعة بدقة. الخيار التصميمي المركزي للمشروع هو محرك تكلفة محدد (deterministic cost engine). كل رقم مالي يأتي من مكون `CostEngine` يحتوي على طريقة واحدة لكل نوع من الموارد، مدعوماً ببيانات AWS Price List Bulk API الحقيقية. يتم حل تسعير المناطق من خلال `PricingService` التي تقرأ من جدول قاعدة بيانات وتعود إلى لقطة JSON في classpath كخيار احتياطي. يُطلب من مزودي الذكاء الاصطناعي فقط شرح السعر الذي تم حسابه بالفعل، وليس حسابه أبداً. تتبع الميزات المدعومة بالذكاء الاصطناعي — مثل الشروحات باللغة العادية، واقتراحات تحسين التكلفة، وتوصيات البنية التحتية — نمطاً ثابتاً: محاولة استخدام المزود المكون حسب الاسم (Claude API أو Gemini API أو CLI `codex` محلي في مرحلة التطوير) والعودة إلى تنفيذ قائم على القواعد في حالة حدوث أي فشل أو خطأ في التكوين. يرى المستخدمون إجابة بجودة أقل بدلاً من ظهور خطأ. اقتراحات التحسين مقيدة بالرصيد وتتضمن نصائح قائمة على القواعد مثل اعتماد Graviton، وتقليص حجم RDS/Redis، وتعديلات NAT Gateway أو CloudFront. يتم تخزين الحسابات كلقطات مسعرة وقت الحفظ، بحيث يمكن مراجعة الحساب المحفوظ تماماً كما تم تقديره بدلاً من إعادة حسابه وفقاً لأسعار اليوم. ويمكن تصدير النتائج كبطاقة PDF. تجمع البنية التقنية بين واجهة أمامية تعتمد على Next.js 16 / React 19 / TypeScript / Tailwind CSS 4، وخلفية تعتمد على Spring Boot / Java 21 وPostgreSQL 16. يدعم نظام المصادقة Google وKakao OAuth2 بالإضافة إلى البريد الإلكتروني وكلمة المرور المحليين، باستخدام JWT عديمة الحالة. الإعداد المحلي يتطلب `docker compose up -d` لقاعدة البيانات، و`./mvnw spring-boot:run` لواجهة برمجة التطبيقات على المنفذ 8080، و`npm run dev` للواجهة الأمامية على المنفذ 3000؛ ويقوم سكربت shell بتحديث لقطات تسعير AWS ويتطلب `curl` و`jq`. يتم تشغيل اختبارات الخلفية عبر Maven، بينما لا يوجد إطار عمل اختبار مهيأ للواجهة الأمامية — حيث تُستخدم عمليات lint وbuild للتحقق من تغييرات واجهة المستخدم. يتحدث ملف README بصراحة عن القيود: لا يمكن مشاركة الحسابات المحفوظة عبر الروابط (التصدير عبر PDF فقط)، والصفوف التي أُنشئت قبل وجود الحسابات ليس لها مالك ولن تظهر في سجل أي شخص، والتسجيل بالبريد الإلكتروني المحلي لا يحتوي على تكامل SMTP أو SES لذا يتم تعيين `emailVerified` فقط بواسطة مزود OAuth، وقد تحتوي بنود تحسين الذكاء الاصطناعي على توفيرات تقديرية من النموذج لا يتم إعادة جمعها جميعاً في جانب الخادم. تتضمن خارطة الطريق روابط حسابات قابلة للمشاركة مع معاينات OG، وتوصية عكسية (ميزانية محددة مقابل بنية مقترحة)، ومرحلة ثانية تربط حساب AWS حقيقي بصلاحية القراءة فقط عبر دور IAM عبر الحسابات لتطبيق قواعد التحسين نفسها على الإنفاق الفعلي. المشروع مرخص بموجب MIT.