Flutter ile yazılmış, Firebase tabanlı bir aile takip sistemi.
İki ayrı uygulamadan oluşur: Ebeveyn ve Çocuk.
family_tracker/
├── parent_app/ ← Ebeveyn uygulaması
│ └── lib/
│ ├── main.dart
│ ├── models/
│ │ └── models.dart # Tüm veri modelleri
│ ├── services/
│ │ ├── firebase_service.dart # Firebase CRUD
│ │ └── geofence_service.dart # Mesafe hesaplama
│ └── screens/
│ ├── auth_screen.dart # Giriş / Kayıt
│ ├── home_screen.dart # Ana ekran (bottom nav)
│ ├── map_screen.dart # Canlı harita
│ ├── sos_screen.dart # SOS olayları
│ ├── screen_stats_screen.dart # Ekran istatistikleri
│ ├── geofence_screen.dart # Güvenli bölgeler
│ └── settings_screen.dart # Ayarlar / davet kodu
│
├── child_app/ ← Çocuk uygulaması
│ └── lib/
│ ├── main.dart
│ ├── services/
│ │ ├── background_service.dart # Arka plan konum
│ │ └── screen_stats_service.dart # Ekran istatistikleri
│ └── screens/
│ ├── join_screen.dart # Davet koduyla katılım
│ └── child_home_screen.dart # SOS butonu
│
└── firebase_rules/
└── firestore.rules ← Güvenlik kuralları
Firebase Console’da:
com.senin.parent paketi ile Android uygulaması eklecom.senin.child paketi ile Android uygulaması eklegoogle-services.json indir → android/app/ klasörüne koyfirebase deploy --only firestore:rules
cd parent_app
flutter pub get
flutter run
cd child_app
flutter pub get
flutter run
parent_app/android/app/src/main/AndroidManifest.xml içine ekle:
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="BURAYA_MAPS_API_KEY"/>
Google Cloud Console’dan Maps SDK for Android etkinleştir.
| Özellik | Ebeveyn | Çocuk |
|---|---|---|
| Canlı konum haritası | ✅ Görür | ✅ Gönderir |
| Konum geçmişi (24s) | ✅ Görür | — |
| SOS gönderme | ✅ Alır | ✅ Gönderir |
| Geofence bölgesi | ✅ Tanımlar | — |
| Ekran istatistikleri | ✅ Görür | ✅ Gönderir |
| Davet kodu | ✅ Oluşturur | ✅ Kullanır |
UsageStats izni gerekir, iOS’ta kısıtlıdır