2.7 KiB
2.7 KiB
Структура проекта
- Features - набор законченных фич проекта. Считается, что любая фича, находящаяся в мастере может быть добавлена в
клиент и использована в нем. Исключением является
common
- это набор вещей, используемых везде.- Части, на которые обычно разделяется фича
- Common - общая для фичи часть. Тут, как правило, хранятся конвенции путей для сетевых соединений, общие типы и пр.
- Server - часть, включаемая в сервер для подключения фичи. Обычно содержит работу с бд, определение модулей сервера и пр.
- Client - часть с клиентским кодом. В большинстве своём включает работу с сервером, MVVM часть (View при этом должны находиться в платформенной части, если их нельзя вынести в сommon часть клиента)
- Также существует фича
client
, которая не является фичей самой по-себе. Фактически, это набор разных фич, который системно отсутствуют в бэке и используются в основном для пробрасывания удобныхAPI
иView
для клиента
- Части, на которые обычно разделяется фича
- Services - модули, отвечающие за клиент-серверную работу фич с точки зрения их взаимодействия. Например, в рамках сервисов должен быть добавлен модуль для постов - именно через сервисы будет происходить создание поста, его редактирование и удаление
- Client - итоговый клиент. На момент написания этой доки (
Пн окт 25 12:56:41 +06 2021
) предполагается два варианта:- Мультиплатформенный проект со сборкой каждого таргета. Скорее всего, не будет использован в силу сложности настройки части клиентов (например, андроид)
- Мультимодульный проект
- Server - пока что JVM-only модуль, включающий все необходимые для сервера фичи