عن المشروع

يحتوي هذا المستودع على الواجهة الأمامية لعميل التسجيل في المعاشات التقاعدية عبر الويب لشركة 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.