Перейти к содержимому

Создание проекта на ED small

Как и было описано в базовом гайде, ED small предназначен для относительно небольших проектов.

Очень приблизительный критерий, когда брать ED small:

  • До 12 человеко/месяцев разработки
  • До 1-2 человек фронтов
Про мифический человеко/месяц:

Человеко/месяц — это единица измерения трудозатрат. Один человеко/месяц — это 160 часов работы.

Да, мы знаем, что это некорректная оценка, и у неё есть масса недостатков. Её единственная цель здесь — помочь оценить порядок сложности проекта!

Зачем нужен ED small?

Многие скажут: “Если проект маленький, то зачем там нужна архитектура?”

ED small спроектирован так, чтобы при минимальных затратах времени и усилий получить самые важные архитектурные преимущества.

  • Стандартизация: Возможность переиспользовать опыт разработки проектов под ED.
  • Модульность: Простота разработки независимых частей приложения.
  • Расширяемость: Легкость добавления новых возможностей.
  • Надежность: Минимальные архитектурные ограничения, которые делают изменения более предсказуемыми.
  • Дальнейшее развитие: Подготовка к переходу на более продвинутые архитектуры при росте проекта.

Начало работы с vite SPA

ED small подходит для работы с любыми фреймворками и технологиями. В этом гайде будет описано использование в наиболее популярном формате. React + Vite + SPA.

Особенности работы с другими технологиями будут описаны в отдельных гайдах.

Базовая структура проекта

Материалы (1-init)

Видео: Базовая структура проекта

Настройка eslint

Материалы (2-linter)

Видео: Настройка eslint

react-router-dom

Материалы (3-router)

Видео: react-router-dom

config

Материалы (4-config)

Видео: config

api, openapi-typescript, react-query, msw

Материалы (5-api)

Видео: api, openapi-typescript, react-query, msw

shadcn, tailwindcss

Материалы (6-shadcn)

Видео: shadcn, tailwindcss

Пример реализации Grouped module

Материалы (7-auth-pages)

Видео: Пример реализации Grouped module

Работа с сессией (access / refresh token)

Материалы (8-session)

Видео: Работа с сессией (access / refresh token)

Пример реализации Module with compose (логика)

Материалы (9-boards-list)

Видео: Пример реализации Module with compose (логика)

Пример реализации Module with compose (отображение)

Материалы (9-boards-list)

Видео: Пример реализации Module with compose (отображение)

Пример реализации Flat module и взаимодействия модулей

Материалы (9-boards-list)

Видео: Пример реализации Flat module и взаимодействия модулей