Об этом проекте

Этот репозиторий содержит фронтенд для веб-клиента пенсионного onboarding от 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.