Skip to content

kirill-samylin/architecture-fsd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

architecture-fsd

Структура проекта

|-- src/
    |-- app/                      # Логика инициализации приложения.
    |   |-- assets/               # (opt.) Ресурсы приложения (fonts, global styles).
    |   |-- init/                 # (opt.) Отдельная логика инициализации библиотек.
    |   |-- providers/            # Отдельная логика инициализации react-providers.
    |   |-- index.tsx             # index file для объединения основных частей приложения.
    |-- pages/                    # Страницы приложений. Сгруппировано по modules/containers/pages.
    |   |-- {page}/               # Страница конкретного приложения (e.g. HomePage).
    |   |   |-- model             # (opt.) Локальное хранилище (effector initialization logic).
    |   |   |-- ui                # (opt.) Компоненты пользовательского интерфейса для создания страниц.
    |   |   |-- components        # (opt.) Сложные компоненты с собственной моделью (имеет собсвенный стор, использует триггер).
    |   |   |-- {name-page}.tsx   # Страница.
    |   |   |-- index.ts(x)       # Re-exports.
    |   |-- {name-container}/     # (opt.) Контейнер включает в себя сгруппированные страницы. Например: users (users/list, users/:id).
    |   |   |-- model             # (opt.) Логика инициализации, загрузки и сопоставления данных, используемая более чем 1 страницей в контейнере.
    |   |   |-- ui                # (opt.) Компоненты пользовательского интерфейса для создания страниц, используемых более чем одной страницей в контейнере.
    |   |   |-- components        # (opt.) Сложные компоненты с собственной моделью (имеет собсвенный стор, использует триггер), используемых более чем одной страницей в контейнере.
    |   |   |-- {page}            # Cтраницы.
    |   |   |-- index.tsx         # Объединяет страницы с общим базовым URL-адресом.
    |   |-- {name-module}/        # (opt.) Модуль включает страницы и/или контейнеры со страницами в бизнес-домене. Например: ksp-module
    |   |   |-- model/            # (opt.)
    |   |   |-- components/       # (opt.)
    |   |   |-- {page}/           # (opt.)
    |   |   |-- {container}/      # (opt.)
    |   |   |-- index.tsx         # Объединяет страницы и контейнеры с общим базовым URL-адресом.
    |   |-- index.tsx             # Объединяет страницы, контейнеры и модули в один URL-адрес.
    |-- widgets/                  # Независимые компоненты для страниц (e.g. Header, Footer etc.)
    |   |-- {widget-name}         # (opt.) Компонент пользовательского интерфейса страницы.
    |-- features/                 # Сложные компоненты с собственной моделью для повторного использования на разных страницах. (module) (eg. CategorySelect, ManufactureSelect etc.)
    |-- entities/                 # Глобальные бизнес-субъекты, используемые более чем на 1 странице (e.g. User, Permissions)
    |-- shared/                   # Повторно используемые части, не соответствующие бизнес-логике
    |   |-- api/                  # Модули для работы с API
    |   |-- config/               # Конфигурация приложения и среды
    |   |-- libs/                 # Адаптер, который преобразует вызовы между вашим кодом и API библиотеки или пользовательская локальная библиотека.
    |   |-- utils/                # Утилиты предоставляют функции общего назначения, которые широко применимы во всем приложении.
    |   |-- ui/                   # Общий компонент приложения
    |   |-- providers/            # React Providers для повторного использования на разных страницах

About

Структура проекта

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published