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