From 6bc1324c8acdc89544b3f111056fd87b92a65870 Mon Sep 17 00:00:00 2001 From: "dmit.b" Date: Sat, 16 May 2026 11:15:02 +0300 Subject: [PATCH] docs: update README with project description and add Jenkinsfile for CI/CD --- README.md | 75 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 68 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index e0dca35..68943c9 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,73 @@ # Family Safety Frontend -## Описание - -Веб-приложение на Flutter для отслеживания позиций членов семьи. +Мобильное и веб-приложение на Flutter для отслеживания геопозиции членов семьи в реальном времени. ## Функционал -- **Авторизация** — вход в систему -- **Главная страница с картой** — отображение текущей позиции пользователя и всех добавленных участников -- **Share** — кнопка для sharing позиции -- **Watch** — кнопка для отслеживания позиции (открывает меню ввода sharedID) +- **Авторизация** — вход в систему по логину и паролю, регистрация новых пользователей +- **Карта с позициями** — отображение текущей позиции пользователя и всех отслеживаемых участников на интерактивной карте (OpenStreetMap) +- **Геолокация** — автоматическая отправка координат каждые 30 секунд +- **Шаринг позиции** — генерация уникальной ссылки для обмена местоположением +- **Отслеживание** — добавление других пользователей по Share ID для просмотра их позиций на карте +- **Кроссплатформенность** — поддержка Android, Web, Windows, macOS, Linux + +## Технологии + +- **Flutter** (Dart SDK ^3.10.1) +- **Provider** — управление состоянием +- **flutter_map** + **latlong2** — интерактивные карты +- **geolocator** — геолокация +- **http** + **crypto** — сетевые запросы и криптография +- **shared_preferences** — локальное хранение настроек + +## Структура + +``` +lib/ +├── main.dart # Точка входа +├── screens/ +│ ├── login_screen.dart # Экран авторизации +│ └── map_screen.dart # Экран карты +├── providers/ +│ ├── auth_provider.dart # Состояние авторизации +│ ├── map_provider.dart # Состояние карты +│ └── share_provider.dart# Состояние шаринга и отслеживания +├── services/ +│ ├── auth_service.dart # Сервис авторизации +│ ├── geo_service.dart # Сервис геолокации +│ ├── platform_service.dart +│ ├── settings_service.dart +│ └── share_service.dart # Сервис шаринга +└── widgets/ + ├── error_display.dart + └── loading_indicator.dart +``` + +## API + +Документация API доступна в файле [API.md](API.md). + +## Сборка + +### Android + +```bash +flutter build apk --release +flutter build appbundle --release +``` + +### Web + +```bash +flutter build web --release +``` + +### Jenkins + +Для автоматической сборки используется [Jenkinsfile](Jenkinsfile). + +## Запуск + +```bash +flutter run +```