Streak sayacı, günlük checklist, su takibi ve takvim. Flutter ile tek kod tabanından Android + iOS.
Veri katmanı buluta hazır: lib/repository.dart içindeki Repository arayüzü sayesinde
sosyal katman geldiğinde LocalRepository yerine Firebase/Supabase tabanlı bir depo
tek satırla takılır — ekran kodlarına dokunmadan.
flutter doctor
Android bölümü yeşil olana kadar flutter doctor un dediklerini yap.
Bu klasörde platform dosyaları (android/, ios/) yok — Flutter bunları tek komutla üretir:
cd rutin
flutter create . --org com.alper --project-name rutin
flutter pub get
flutter run
Telefonunu USB ile bağlayıp geliştirici modunu açarsan flutter run doğrudan telefonda başlatır;
yoksa Android Studio’daki emülatörde açılır.
flutter create . ürettikten sonra android/app/src/main/AndroidManifest.xml dosyasında
<manifest> etiketinin hemen içine şu satırları ekle:
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
Su hatırlatıcısı uygulama kapalıyken de çalışır (48 saatlik zincir kurulur, uygulama her açılışta tazelenir) ve 22:00–08:00 arası sessizdir.
lib/
main.dart — uygulama girişi, tema, alt sekmeler
theme.dart — sıcak renk paleti (prototiple aynı)
models.dart — veri modelleri (JSON'a çevrilebilir, buluta hazır)
repository.dart — veri deposu soyutlaması (yerel ⇄ bulut geçişi burada)
store.dart — uygulama durumu ve iş mantığı
notifications.dart — yerel bildirimler
widgets.dart — ortak parçalar
screens/
today_screen.dart — Bugün: program + checklist
water_screen.dart — Su takibi + hatırlatıcı
calendar_screen.dart — Haftalık / aylık takvim
streaks_screen.dart — Streak sayaçları