docs: update README with project description and add Jenkinsfile for CI/CD
This commit is contained in:
@@ -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
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user