master
Family Safety Frontend
Мобильное и веб-приложение на Flutter для отслеживания геопозиции членов семьи в реальном времени.
Функционал
- Авторизация — вход в систему по логину и паролю, регистрация новых пользователей
- Карта с позициями — отображение текущей позиции пользователя и всех отслеживаемых участников на интерактивной карте (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.
Сборка
Android
flutter build apk --release
flutter build appbundle --release
Web
flutter build web --release
Jenkins
Для автоматической сборки используется Jenkinsfile.
Запуск
flutter run
Description
Languages
JavaScript
94.2%
Dart
2.4%
C++
1.6%
CMake
1.3%
HTML
0.3%
Other
0.1%