Постановка задачи

Имеется работающее frontend-приложение для водителя маршрутки на React + TypeScript. Архитектура управления состояниями (FSM) реализована неправильно. Требуется спроектировать и переписать модуль конечного автомата с нуля, следуя принципам чистой архитектуры.

Требования к реализации

  • База - TypeScript, без классов;
  • У движка должны быть четкие интерфейсы состояний, событий (transition) и условий переходов (guards);
  • Код FSM должен быть изолирован от UI и подключаться как кастомный хук;
  • Генерировать строгую типизацию всех возможных переходов (union types);
  • Не должно быть пересечения логики FSM с вспомогательной отрисовкой;
  • Движок должен легко переиспользоваться в других частях проекта.

Дополнительные детали

  • Сроки: не критичны, но работа требует изучения основ FSM-архитектуры в React;
  • Ожидаемый уровень: новичок/джун, который хочет разобраться в паттернах и реализовать их на практике;
  • Прошлые исполнители не справились - требуется внимательный Pre-review и чёткое описание переходов;
  • Бюджет: ограничен, подходит для режима учебного проекта или легкой фриланс-задачи.

Критерии приёмки

  1. Типизированный FSM с отдельными файлами для описания состояний (states, transitions, guards);
  2. Полностью функционирует в вёрстке водительского приложения (без регрессии UI-логики);
  3. Находит и исправляет все недочеты текущей FSM среди пользовательских сценариев;
  4. Прилагаются комментарии в коде для объяснения архитектуры новичкам.

Кастомизация меню и мегаменю на WordPress

Требуется доработать внешний вид и логику отображения навигационного меню WordPress. Необходимо изменить стили и поведение для основного меню и его подкатегорий, реализовав улучшенный вариант мегаменю.

Разработка дизайна рекламного билборда для оконных решений

Требуется создать яркий макет биллборда (11400x5200 мм) на тему бронирования окон для госсектора, бизнеса и административных учреждений. В основе визуала - изображение монтажника и инфографика в ромбах, всё по приложенным референсам. Срок - до 19.01.2026.