Frontend-разработчик (react)
удалёнка, гибрид, Москва
Команда развивает платформы аутентификации/авторизации и асинхронного обмена данных города Москвы. Вы будете развивать административную панель Keycloak, SPA на React/TypeScript и дашборды наблюдаемости, обеспечивая безопасный и удобный доступ к городским сервисам
ГрейдSenior
Опыт6+ лет
Стек
TypeScriptReactOpenAPIKeycloakOAuth 2.0 / OpenID ConnectApache KafkaSchema RegistryJestVitestCypressDocker
Задачи
- •Поддержка и развитие административной панели Keycloak для управления доступом
- •Кастомизация тем и страниц аутентификации Keycloak
- •Разработка SPA на React с TypeScript: маршрутизация, управление состоянием и абстракция над API
- •Интеграция с REST API по спецификациям OpenAPI/Swagger и обработка серверных событий (WebSocket/SSE)
- •Построение дашбордов наблюдаемости и мониторинга на основе метрик и логов
- •Писать тесты (unit и E2E), участвовать в code review и описывать архитектурные решения
Обязательно
- •Коммерческая веб‑разработка от 6 лет
- •Не менее 3 лет на React с TypeScript
- •Уверенное владение React (хуки, контекст, Suspense), TypeScript, современным JS, HTML5 и CSS3
- •Опыт проектирования архитектуры сложных SPA: управление состоянием, маршрутизация, ленивые модули, обработка ошибок
- •Практический опыт интеграции с REST API и работа со спецификациями OpenAPI/Swagger
- •Понимание OAuth 2.0 и OpenID Connect на клиентской части
- •Навыки тестирования: unit и компонентные тесты (Jest/Vitest/React Testing Library) и E2E (Cypress) и опыт работы с Docker
Будет плюсом
- •Опыт интеграции и настройки Keycloak (realms, клиенты, роли)
- •Опыт интерфейсов для управления Apache Kafka и Schema Registry
- •Использование кодогенерации клиентов по OpenAPI
- •Навыки визуализации и дашбордов (Grafana, ECharts)
- •Опыт разработки на React Native
- •Опыт с монорепозиториями (Nx, Turborepo) и сборщиками (Vite, Webpack)
- •Опыт бэкенд‑разработки на Node.js или Java
- •Опыт работы с WebSocket и Server‑Sent Events
- •Понимание специфики гос. ИС и требований безопасности