Initial Android app: license list and key generation.
Kotlin Compose admin client for TTRPG Player license server with branding and settings for server URL and admin token. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# TTRPG License Manager
|
||||
|
||||
Android-приложение для администрирования лицензий **TTRPG Player** через сервер [DndGamePlayerLicenseServer](https://git.mailib.ru/ifontosh/DndGamePlayerLicenseServer).
|
||||
|
||||
## Возможности
|
||||
|
||||
- **Лицензии** — список всех продуктовых ключей с параметрами (`sub`, `pid`, лимит устройств, срок, статус отзыва, активированные `deviceId`).
|
||||
- **Новый ключ** — генерация продуктового ключа через `POST /v1/admin/product-keys`.
|
||||
- **Настройки** — URL сервера и admin token (`LICENSE_ADMIN_TOKEN`).
|
||||
|
||||
## Требования
|
||||
|
||||
- Android Studio Ladybug (2024.2+) или новее
|
||||
- JDK 17
|
||||
- Android SDK 35
|
||||
|
||||
## Сборка
|
||||
|
||||
1. Откройте проект в Android Studio.
|
||||
2. При первом запуске укажите в **Настройках**:
|
||||
- URL: `https://license.mailib.ru/` (или локальный сервер)
|
||||
- Admin token с сервера (`LICENSE_ADMIN_TOKEN`)
|
||||
3. Run на устройстве или эмуляторе.
|
||||
|
||||
```bash
|
||||
./gradlew assembleDebug
|
||||
```
|
||||
|
||||
## API сервера
|
||||
|
||||
Приложение использует admin-эндпоинты (Bearer token):
|
||||
|
||||
| Метод | Путь | Описание |
|
||||
|-------|------|----------|
|
||||
| GET | `/v1/admin/licenses` | Список лицензий |
|
||||
| POST | `/v1/admin/product-keys` | Создание ключа |
|
||||
|
||||
Перед использованием приложения задеплойте обновлённый сервер с этими эндпоинтами.
|
||||
|
||||
## Логотип
|
||||
|
||||
Иконка и брендинг — логотип TTRPG Player (фиолетовая молния `#8B5CF6`).
|
||||
|
||||
## Локальная разработка с сервером
|
||||
|
||||
```bash
|
||||
cd DndGamePlayerLicenseServer
|
||||
cp data.example.json data.json
|
||||
# задайте LICENSE_PRIVATE_KEY_PEM
|
||||
npm start
|
||||
```
|
||||
|
||||
В приложении укажите URL `http://10.0.2.2:3847/` (эмулятор) и admin token.
|
||||
Reference in New Issue
Block a user