PowerStat Mobil Uygulama
Revizyon Bilgisi
Bu doküman PowerStat mobil uygulamasını tanımlar. Amaç; uygulamanın kullanıcıya sunduğu fonksiyonları, temel ekran akışlarını ve backend ile ilişkisini aktarmaktır.
- Teknoloji: Flutter (iOS + Android tek kod tabanı)
- Backend: REST API
- Giriş: Telefon numarası + SMS doğrulama kodu (OTP)
Genel Bakış
PowerStat mobil uygulaması, sahadaki PowerStat cihazlarının uzaktan izlenmesi ve yönetilmesi için geliştirilmiştir.
Uygulama ile kullanıcı:
- Cihazlarını listeler, ekler ve görüntüler
- Cihazın durumunu ve ölçümlerini takip eder
- Pompa çalıştırma/durdurma gibi işlemleri (yetkisi varsa) yapar
- Cihaza özel notlar ve finans kayıtları tutar
- Otomasyon kurallarıyla ileri tarihli komut planlar
- Sulama/tüketim/reaktif/arıza/finans raporlarını grafiklerle inceler
Mimari Özet
Mobil uygulama, backend’in sağladığı REST API uçlarını kullanarak çalışır.
- Kimlik Doğrulama: OTP ile doğrulama sonrası oturum açılır.
- Veri Okuma: Cihaz listesi, cihaz detay, alarmlar/raporlar belirli aralıklarla veya kullanıcı aksiyonu ile çekilir.
- Komut Gönderme: Pompa kontrolü, otomasyon komutları gibi işlemler API üzerinden backend’e iletilir.
- Bildirimler: Kritik olaylarda kullanıcıya push bildirim ve uygulama içi alarm/olay kayıtları gösterilir.
Amaç:
- Saha şartlarında (zayıf internet, cihaz offline) bile uygulamanın kullanılabilir kalması
- Kullanıcının gördüğü bilgilerin zaman damgası ile birlikte net verilmesi (son veri zamanı)
Ekran Akışları
1. Giriş (Telefon + SMS Kod)
Kullanıcı uygulamaya telefon numarası ile giriş yapar.
- Telefon numarası girilir
- Backend üzerinden SMS doğrulama kodu gönderilir
- Kullanıcı OTP kodunu girer
- Doğrulama sonrası oturum açılır ve cihaz listesi yüklenir

2. Ana Sayfa (Cihaz Listesi)
Ana sayfada kullanıcıya ait cihazlar listelenir.
- Cihaz Listesi: Her cihaz kartında temel durum bilgisi (online/offline, son veri zamanı, özet alarm) gösterilir.
- Cihaz Ekle: Yeni cihaz ekleme akışına geçiş.

3. Cihaz Ekleme (QR ile Ekle)
Kullanıcı cihaz üzerindeki karekodu (QR) okutarak cihazı hesabına ekler.
- QR okutma
- Cihaz doğrulama
- Başarılı ekleme sonrası cihaz listesine dönüş

4. Cihaz Detay Ekranı
4.1. Alt Navigasyon (Tab Bar)
Cihaz detay ekranında alt kısımda aşağıdaki sekmeler bulunur:
- Home
- Notlar
- Finans
- Ayarlar
- Alt Kullanıcılar / Yetkiler
- Otomasyon
- Raporlar

4.2. Home (Cihaz Özet)
Bu sekme cihazın temel durumunu ve ölçümlerini gösterir.
a. Sulama Bilgileri
- Son sulama süresi
- Sulama süresi
- Sulama başlama/bitiş zamanı
b. Basınç (Pompa Çalışıyorsa)
- Pompa çalışırken anlık basınç değeri gösterilir.
c. Pompa Kontrol
- Pompa çalıştır / durdur (kullanıcının yetkisine bağlı)
d. Enerji Kalitesi
- Aktif / Reaktif durum takibi
- Enerji kalitesi kutusu üzerinden özet izleme
e. Şebeke Değerleri (3 Faz)
- 3 faz voltaj değerleri
- 3 faz akım değerleri

4.3. Notlar
Kullanıcı, ilgili cihaza özel notlar ekleyebilir ve düzenleyebilir.
- Not ekleme
- Not düzenleme
- Not silme
- Notların cihaz bazlı tutulması

4.4. Finans
Kullanıcı ilgili pompa/tarla için gelir-gider kayıtları oluşturabilir.
- Gelir kaydı ekleme
- Gider kaydı ekleme
- Kayıtların tarih ve açıklama ile listelenmesi

4.5. Ayarlar
Kullanıcı, cihazla ilgili temel ayarları yönetir.
- Basınç Ayarları (eşik/limit gibi senaryolara göre)
- Güvenlik Bildirim Ayarları (hangi olaylarda bildirim alınacağı)
- Otomatik Çalıştırma Ayarları (enerji kesintisi sonrası durma varsa)

4.6. Kullanıcılar / Yetkiler
Cihaz sahipleri alt kullanıcı ekleyebilir ve yetkilerini yönetebilir.
- Alt kullanıcı ekleme
- Yetki düzenleme
- Yetki kaldırma / kullanıcı çıkarma (varsa)

4.7. Otomasyon
Kullanıcı ileri tarihli pompa çalıştırma/durdurma komutları planlayabilir.
- İleri tarihli başlat komutu
- İleri tarihli durdur komutu
- Planların listelenmesi ve iptali (varsa)

4.8. Raporlar
Rapor sekmesi; cihazdan gelen ölçümlerin ve kullanıcının girdiği finans/not verilerinin zaman içinde anlamlandırılmasını sağlar. Tarih aralıkları ve grafik yoğunluğu, sahada hızlı kıyas yapılabilecek şekilde sade tutulur.
Raporlarda tarih seçimi gün/ay/yıl bazında değişebilir. Grafikler, kullanıcının hızlı kıyas yapabilmesi için sade tutulur.
4.8.1. Sulama Raporu
- Gün / Ay / Yıl bazında sulama süreleri
- Grafik üzerinden karşılaştırma

4.8.2. Tüketim Raporu
- Gün / Ay / Yıl bazında tüketim miktarları
- Grafik üzerinden trend izleme

4.8.3. Reaktif Raporu
- Gün / Ay bazında reaktif durum takibi
- Reaktif değerlerin grafiksel görünümü

4.8.4. Arıza Raporu
- Seçilen ay içinde hangi arızanın kaç defa oluştuğu
- Olay sayısı ve dağılımının özetlenmesi

4.8.5. Finans Raporu
- Finans sayfasında girilen gelir/gider verilerinin raporlanması
- Zamanlara ve detaylara göre listeleme
- Anlık kasa durumu
- Pie chart ile gelir-gider dağılımı

Bildirimler ve Offline Senaryolar
Saha şartlarında internet kesintisi ve cihazın offline olması olağandır. Uygulama bu nedenle:
- Son veri zamanını gösterir
- Offline durumda kullanıcıya net durum mesajı verir
- Yenile / tekrar dene gibi kullanıcıyı yönlendiren aksiyonlar sunar
- Kullanıcıya her zaman son veri zamanı ve cihazın çevrimdışı süresi net şekilde gösterilir.
Doğrulama ve Test Kontrol Listesi
- OTP akışı: SMS geliyor mu, doğru kodla giriş açılıyor mu?
- Cihaz listesi: cihazlar doğru geliyor mu, durum bilgileri mantıklı mı?
- Cihaz detay: ölçümler tutarlı mı, zaman damgaları doğru mu?
- Pompa kontrol: komutlar gidiyor mu, sonuç kullanıcıya doğru yansıyor mu?
- Otomasyon: ileri tarihli komut kurulabiliyor mu?
- Raporlar: tarih filtreleri ve grafikler doğru çalışıyor mu?
- Zayıf internet: uygulama donmadan durumu anlatabiliyor mu?