इस प्रोजेक्ट के बारे में

यह रिपॉजिटरी 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 पर अपेक्षित किया जाता है। - डिप्लॉयमेंट master पर push होने पर AWS में CircleCI के माध्यम से स्वचालित है, जबकि इनलाइन विजेट को FTP और WordPress थीम URL अपडेट के माध्यम से मैन्युअल रूप से अपडेट किया जाता है। - Node.js वर्जन अपडेट package.json engines, CircleCI config, और .tool-versions को संपादित करके प्रबंधित किए जाते हैं। परीक्षण में React Testing Library और MSW का उपयोग किया जाता है, जिसमें CancellationFlow.tsx में एक उदाहरण दिखाया गया है कि मौजूदा Redux कोड का उपयोग करते हुए क्रमिक माइग्रेशन कैसे करें। टाइमज़ोन-निर्भर परीक्षणों के लिए IntelliJ रन कॉन्फ़िगरेशन में TZ=UTC की आवश्यकता होती है।