На главнуюСначала игра.
ACTION DECK / ТЕХНОЛОГИИ
Сначала игра.
Потом всё остальное.
Приложение хранит игровые данные на устройстве. Сеть помогает обновлять библиотеку и синхронизировать данные, когда это нужно.
Android
| Язык | Kotlin 2.1.21 |
|---|---|
| Интерфейс | Jetpack Compose + Material 3 |
| Навигация | Navigation Compose 2.9.0 |
| Локальная база | Room (SQLite) 2.7.1 |
| Внедрение зависимостей | Koin 3.5.6 |
| HTTP-клиент | Ktor (OkHttp) 2.3.12 |
| Изображения | Coil 2.7.0 |
| Архитектура | MVVM + Repository |
| Android | 9+ (min SDK 28, target SDK 36) |
Сервер
| Фреймворк | Django (Python) |
|---|---|
| База данных | PostgreSQL |
| Контейнеризация | Docker Compose |
| HTTPS и reverse proxy | Caddy |
| API | api.actiondeck.ru |
Архитектура приложения
MVVM + Repository разделяет интерфейс, состояние экранов и работу с данными. Koin связывает зависимости. Room сохраняет локальную библиотеку и пользовательские данные.
- 01 / ИнтерфейсMainActivity → Splash → Onboarding → MainScreen
- 02 / Состояние экрановCharactersVM, LibraryVM, HomebrewVM, ActionDetailVM
- 03 / ДанныеRoom · Ktor · ContentSyncManager · DataStore · SrdDataLoader
- 04 / ЗависимостиKoin · DatabaseModule
Обновление библиотеки
- Приложение проверяет манифест контента и сравнивает его версию с локальной.
- Если версия новее, загружает каталог с сервера и проверяет данные.
- Библиотека обновляется атомарно в Room. Пользовательский Homebrew сохраняется отдельно.
- Без сети приложение использует локальные данные и встроенную библиотеку.
Гостевой режим и облако
Для начала игры аккаунт не требуется. Вход через Google позволяет синхронизировать пользовательские данные. Информация об обработке данных — в политике конфиденциальности.
Из приложения
Настоящие экраны: от создания персонажа до редактирования собственных действий.






Инфраструктура
Сайт и API работают через Caddy с HTTPS. Django и PostgreSQL развёрнуты в Docker Compose. Release-сборка Android использует R8, minify, shrinkResources и подпись приложения.