TapMap - это мобильное приложение на Flutter для интерактивной работы с картами, включающее систему push-уведомлений и аутентификации.
- 🔐 Аутентификация пользователей
- 📍 Интерактивная карта с Mapbox
- 🔔 Push-уведомления (Firebase Cloud Messaging)
- 🔄 Автоматическое обновление FCM токена
- 📱 Поддержка iOS и Android
- 🌐 Работа с REST API
- 💾 Локальное хранение данных
- Flutter SDK: последняя стабильная версия
- Dart SDK: последняя стабильная версия
- iOS 11.0 или новее
- Android 5.0 (API 21) или новее
- Firebase проект
- Mapbox API ключ
- Клонирование репозитория
git clone [URL репозитория]
cd tap_map
- Установка зависимостей
flutter pub get
- Настройка Firebase
- Создайте проект в Firebase Console
- Добавьте приложения для Android и iOS
- Скачайте и добавьте конфигурационные файлы:
google-services.json
для AndroidGoogleService-Info.plist
для iOS
- Настройка переменных окружения
Создайте файл
.env
в корне проекта:
MAPBOX_ACCESS_TOKEN=ваш_токен_mapbox
API_URL=ваш_базовый_url_api
- Настройка Android
- Добавьте иконку уведомлений:
- Поместите
ic_notification.png
вandroid/app/src/main/res/drawable/
- Поместите
Проект использует:
- GetIt для внедрения зависимостей
- Dio для работы с сетью
- SharedPreferences для локального хранения
- Firebase Cloud Messaging для push-уведомлений
- flutter_local_notifications для отображения уведомлений
lib/
├── core/
│ ├── di/ # Внедрение зависимостей
│ ├── network/ # Сетевой слой
│ ├── services/ # Сервисы
│ └── shared_prefs/ # Хранение данных
├── src/
│ └── features/ # Функциональные модули
└── main.dart
lib/src/features/example/
├── bloc/
├── data/
│ ├── models/
│ └── repositories/
└── ui/
В папке data
обычно располагаются модели и классы репозиториев. На практике название каталога чаще употребляют во множественном числе — repositories
.
Приложение поддерживает:
- Foreground уведомления
- Background уведомления
- Data-only сообщения
- Notification-only сообщения
- Смешанные сообщения
flutter run
flutter build apk --release
flutter build ips --release
- Форкните репозиторий
- Создайте ветку для фичи (
git checkout -b feature/amazing_feature
) - Зафиксируйте изменения (
git commit -m 'Add amazing feature'
) - Отправьте изменения в ветку (
git push origin feature/amazing_feature
) - Откройте Pull Request
[Укажите тип лицензии]
Нежный повелитель Артем [Уссури] Король Нордов Евген [驯蛇师Eugene] Сладкий отшельник СЕгор [Джафарт] Хуаранг Славэн [самый сексуальный мужчина] Марина и Алина