Go to file
2022-03-06 18:59:45 +06:00
.github/workflows Update autopublish.yml 2022-03-06 18:59:45 +06:00
client add default input providers 2022-03-06 18:06:57 +06:00
features add CustomInputProvider 2022-03-06 18:37:24 +06:00
gradle add default input providers 2022-03-06 18:06:57 +06:00
kotlin-js-store updates in posts repos, content repos and build scripts 2022-01-08 16:00:05 +06:00
server add default input providers 2022-03-06 18:06:57 +06:00
services add default input providers 2022-03-06 18:06:57 +06:00
targets/telegram/publication/server updates 2022-03-02 14:36:17 +06:00
.gitignore updates 2022-03-02 14:36:17 +06:00
build.gradle updates in posts repos, content repos and build scripts 2022-01-08 16:00:05 +06:00
changelog_parser.sh update scripts 2020-11-25 18:40:45 +06:00
defaultAndroidSettings.gradle full reborn 2021-11-24 15:24:52 +06:00
extensions.gradle full reborn 2021-11-24 15:24:52 +06:00
github_release.gradle update scripts 2020-11-25 18:40:45 +06:00
gradle.properties add default input providers 2022-03-06 18:06:57 +06:00
gradlew full reborn 2021-11-24 15:24:52 +06:00
gradlew.bat full reborn 2021-11-24 15:24:52 +06:00
mppAndroidProject.gradle updates 2022-03-02 14:36:17 +06:00
mppJavaProject.gradle add post preview 2021-12-05 19:00:38 +06:00
mppJsProject.gradle roles update and gradle scripts fixes 2021-11-28 01:11:04 +06:00
mppProjectWithSerialization.gradle updates 2022-03-02 14:36:17 +06:00
PostsSystem.drawio several additions 2021-02-27 19:46:23 +06:00
prepare_client.sh updates 2022-03-02 14:36:17 +06:00
publish.gradle full reborn 2021-11-24 15:24:52 +06:00
publish.kpsb full reborn 2021-11-24 15:24:52 +06:00
README.md add note about services 2022-01-08 18:20:08 +06:00
settings.gradle updates 2022-01-25 15:21:01 +06:00

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

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