Техническое задание: Интеграция бэкенда и рефакторинг фронтенда

Цель проекта

Интеграция готового REST API бэкенда (документированного через Swagger) с существующим клиентским приложением на React с TypeScript. Второй ключевой задачей является проведение рефакторинга кода фронтенда для повышения его качества, читаемости и соответствия best practices.

Текущее состояние

  • Фронтенд почти готов, собран на React с TypeScript.
  • Сборка настроена с использованием Vite или Create React App (CRA).
  • Значительная часть кода была сгенерирована или собрана с помощью инструментов ИИ и требует доработки.

Основные задачи

1. Интеграция с бэкендом

  • Подключение к API бэкенда по предоставленной Swagger-спецификации.
  • Настройка HTTP-клиента (например, Axios, Fetch API) для работы с эндпоинтами.
  • Типизация всех запросов и ответов API на основе Swagger-схем с использованием TypeScript.
  • Организация сервис-слоя для инкапсуляции логики взаимодействия с API.

2. Рефакторинг кода фронтенда

  • Анализ и улучшение структуры проекта (папки, модули).
  • Рефакторинг компонентов: разделение ответственности, улучшение переиспользуемости.
  • Оптимизация и чистка TypeScript-типов и интерфейсов.
  • Устранение потенциальных антипаттернов, внесенных кодом, сгенерированным ИИ.
  • Приведение кода в соответствие с принятыми соглашениями по стилю (code style).
  • Улучшение обработки состояний загрузки, ошибок и успешных сценариев при работе с API.

3. Требования к результату

  • Полностью рабочее взаимодействие фронтенда с бэкендом через Swagger API.
  • Чистый, хорошо структурированный и документированный код на TypeScript.
  • Код должен быть легко поддерживаемым и расширяемым.

Разработка автоматизированной системы публикации контента для WordPress

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

Верстка этикетки для пищевой продукции

Требуется сверстать этикетку размером 100x65 мм с размещением логотипа, названия продукта и обязательной текстовой информации. Готовый макет должен быть предоставлен в векторном или растровом формате.