Finish NNNet app shell, updates, and docs
Some checks failed
Android CI / build (push) Has been cancelled
Some checks failed
Android CI / build (push) Has been cancelled
This commit is contained in:
26
README.md
26
README.md
@@ -1,4 +1,4 @@
|
||||
# School BLE Mesh Messenger
|
||||
# NNNet
|
||||
|
||||
Проект для школьного офлайн-месседжера на базе **BLE P2P mesh-сети**.
|
||||
|
||||
@@ -8,6 +8,14 @@
|
||||
- работа в условиях отсутствия Wi-Fi/мобильной сети;
|
||||
- безопасное взаимодействие с базовой модерацией.
|
||||
|
||||
## Текущее состояние
|
||||
- BLE discovery + advertising работают.
|
||||
- Реализован минимальный GATT transport для обмена mesh-пакетами.
|
||||
- Есть foreground service, Room-хранилище, ACK/retry очередь и базовый Telegram-подобный UI.
|
||||
- Реализованы список чатов, окно диалога, вкладка настроек, ручная проверка обновлений и опциональная автопроверка через `version.json`.
|
||||
- При выключенном Bluetooth приложение запрашивает его включение перед запуском mesh.
|
||||
- Публикация APK и сайта автоматизирована через `Makefile`.
|
||||
|
||||
## Стек
|
||||
- Android приложение: **Kotlin**
|
||||
- Сборка: **Gradle** + `Gradle Wrapper`
|
||||
@@ -34,12 +42,12 @@
|
||||
|
||||
3. **Messaging Layer**
|
||||
- личные сообщения;
|
||||
- групповые чаты (класс/учителя);
|
||||
- список чатов и окно диалога;
|
||||
- статусы доставки (queued/sent/relayed/delivered).
|
||||
|
||||
4. **Data Layer**
|
||||
- локальное хранилище (Room);
|
||||
- кэш пользователей, чатов, сообщений, ключей.
|
||||
- история сообщений и очередь исходящей доставки.
|
||||
|
||||
5. **Security Layer**
|
||||
- идентификация пользователя;
|
||||
@@ -66,12 +74,13 @@
|
||||
- [x] Описать формат сетевого пакета (черновой JSON codec + модель пакета).
|
||||
- [x] Реализовать базовый BLE bootstrap (scanner + advertiser + runtime permissions).
|
||||
- [x] Реализовать минимальный GATT-обмен между BLE-узлами.
|
||||
- [ ] Реализовать очередь отправки + ретраи + ACK timeout.
|
||||
- [x] Реализовать очередь отправки + ретраи + ACK timeout.
|
||||
- [x] Добавить защиту от дубликатов по `messageId` (in-memory cache, базово).
|
||||
- [x] Реализовать mesh-forwarding с ограничением TTL (routing action layer, базово).
|
||||
- [ ] Добавить UI для списка чатов и окна сообщений.
|
||||
- [ ] Подключить Room и миграции схемы.
|
||||
- [x] Добавить список чатов и базовый UI окна сообщений.
|
||||
- [x] Подключить Room и базовую схему хранения.
|
||||
- [x] Добавить логирование сети и debug-экран маршрутов.
|
||||
- [x] Добавить ручную проверку обновлений и опциональную автопроверку клиента.
|
||||
- [ ] Реализовать базовую регистрацию пользователя (локальный профиль).
|
||||
- [ ] Добавить шифрование полезной нагрузки сообщений.
|
||||
- [ ] Написать инструментальные тесты BLE-обмена.
|
||||
@@ -91,5 +100,8 @@
|
||||
- `make publish` — увеличить версию, собрать APK, опубликовать клиент и перезагрузить `nginx`.
|
||||
- `make server-start|server-stop|server-restart|server-status|server-rebuild` — управление `nginx`.
|
||||
|
||||
## Лицензия
|
||||
Проект использует лицензию `GPL-3.0`. См. [LICENSE](/home/dom4k/nnnet/LICENSE).
|
||||
|
||||
## Ближайший следующий шаг
|
||||
Добавить очередь отправки, ACK timeout/retry и локальное хранение сообщений через Room.
|
||||
Добавить профили пользователей, шифрование payload и инструментальные тесты BLE-обмена между несколькими устройствами.
|
||||
|
||||
Reference in New Issue
Block a user