Чистопрудный бульвар 9с1
Мы разрабатываем SPA-приложение на React + TypeScript в монорепозитории.
### Основные технологии
* React
* TypeScript
* React Router
* Vite
* Tailwind CSS
* Shadcn/UI + Radix UI
### Работа с данными
* Supabase
* REST API
* GraphQL (частично)
* Apollo Client
### Формы и валидация
* React Hook Form
* Zod
### UI и UX
* TanStack Table
* Recharts
* Motion (Framer Motion)
* Sonner
* Cmdk
* Vaul
### Дополнительные инструменты
* DnD Kit (drag & drop)
* XLSX / FileSaver (экспорт данных)
* Day.js / date-fns
### Что предстоит делать
* Разрабатывать и поддерживать SPA на React + TypeScript
* Создавать новые интерфейсы и бизнес-функции
* Интегрироваться с REST и GraphQL API
* Работать с формами, таблицами и сложными пользовательскими сценариями
* Участвовать в развитии дизайн-системы на базе Shadcn/UI и Radix UI
* Проводить рефакторинг и перенос функциональности из существующего продукта в новую архитектуру
### Что ожидаем от кандидата
* Уверенное знание React и TypeScript
* Опыт работы с современным frontend-стеком
* Понимание SPA-архитектуры
* Опыт интеграции с backend API
* Навыки написания поддерживаемого и типобезопасного кода
Первые 2-3 недели работы будут выделены в проектный режим для закладки фундамента платформы. Кандидату предстоит выполнить две ключевые инженерные задачи:
Фаза 1: Vibe Engineering & Интерактивный прототип
Цель: Собрать бесшовный workflow для быстрой разработки (Vibe Coding) и создать полностью интерактивный UI на мок-данных.
Стек: React, Vite, Tailwind, [Superpowers] + [gstak] + [gsd].
Настройка методологии:
Внедрить практики Vibe Engineering с использованием связки фреймворков Superpowers (инженерная дисциплина), GSD (контекстная инженерия) и Gstack (ролевая модель) .
Настроить полный цикл TDD (Red-Green-Refactor): автоматизация проверки типов, линтинга и тестов перед каждым коммитом через Husky и lint-staged .
Разработка функционала:
Создать маршрутизацию (React Router) и Layout-ы приложения.
Разработать ключевые интерфейсы, полностью завязанные на мок-данные (MSW или локальный стор), чтобы обеспечить возможность презентации заказчику без ожидания бэка.
Реализовать таблицы (TanStack Table) и формы (React Hook Form + Zod).
Фаза 2: Интеграция с реальным API (Supabase)
Цель: «Раскатить» готовый UI на реальную backend-инфраструктуру.
Условие: Работа начинается только после утверждения Фазы 1.
Миграция данных: Заменить мок-данные на реальные запросы к Supabase (через @supabase/supabase-js).
Аутентификация (RBAC): Внедрить регистрацию, логин и систему ролей (пользователь/админ), настроить защиту роутов .
Реальный рантайм: Адаптировать генерацию типов под схемы БД Supabase для полной типобезопасности.