عن المشروع
يحتوي هذا المستودع على الواجهة الأمامية لعميل التسجيل في المعاشات التقاعدية عبر الويب لشركة Tuleva، والمتاح على pension.tuleva.ee. وهو مبني بـ React وJavaScript/TypeScript، وقد تطور بمرور الوقت لتبني ممارسات حديثة.
تفاصيل تقنية رئيسية:
- بُني في الأصل بـ JavaScript وRedux وEnzyme للاختبار، ويشجع المشروع الآن على التحويل إلى TypeScript، والمكونات الوظيفية، واستخدام React Query لجلب البيانات، مع سياق React الأصلي لمشاركة الحالة المحلية.
- تتضمن قاعدة الشيفرة دليل ترحيل للانتقال بعيداً عن Redux، مع تفضيل خطافات React Query وتجريد استخدام Redux القديم في خطافات منفصلة.
- يتطلب التطوير Node.js LTS (22.17.0) وNPM (10.9.2)، مع التوصية بـ asdf لإدارة الإصدارات.
- للتشغيل محلياً، ثبّت التبعيات باستخدام `npm install`، وابدأ الخادم باستخدام `npm run develop` (أو `npm run develop-production` للإنتاج)، وشغّل الاختبارات باستخدام `npm test`. يُتوقع تشغيل onboarding-service على المنفذ 9000 لعمليات التشغيل غير الإنتاجية.
- النشر مؤتمت عبر CircleCI عند الدفع إلى master نحو AWS، بينما يتم تحديث الودجة المضمنة يدوياً عبر FTP وتحديثات عنوان URL لقالب WordPress.
- تُدار تحديثات إصدار Node.js عبر تعديل engines في package.json، وإعداد CircleCI، و.tool-versions.
يستخدم الاختبار React Testing Library وMSW، مع مثال في CancellationFlow.tsx يوضح الترحيل التدريجي مع إعادة استخدام شيفرة Redux الحالية. تتطلب الاختبارات المعتمدة على المنطقة الزمنية ضبط TZ=UTC في إعدادات تشغيل IntelliJ.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.