docs: update README with project description and add Jenkinsfile for CI/CD

This commit is contained in:
dmit.b
2026-05-16 11:15:02 +03:00
parent 78a4a160ad
commit 6bc1324c8a
+68 -7
View File
@@ -1,12 +1,73 @@
# Family Safety Frontend # Family Safety Frontend
## Описание Мобильное и веб-приложение на Flutter для отслеживания геопозиции членов семьи в реальном времени.
Веб-приложение на Flutter для отслеживания позиций членов семьи.
## Функционал ## Функционал
- **Авторизация** — вход в систему - **Авторизация** — вход в систему по логину и паролю, регистрация новых пользователей
- **Главная страница с картой** — отображение текущей позиции пользователя и всех добавленных участников - **Карта с позициями** — отображение текущей позиции пользователя и всех отслеживаемых участников на интерактивной карте (OpenStreetMap)
- **Share** — кнопка для sharing позиции - **Геолокация** — автоматическая отправка координат каждые 30 секунд
- **Watch** — кнопка для отслеживания позиции (открывает меню ввода sharedID) - **Шаринг позиции** — генерация уникальной ссылки для обмена местоположением
- **Отслеживание** — добавление других пользователей по 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
```