FieldLog – Saha Görev ve Konum Yönetimi
Merhaba, bu staj döneminde üzerinde çalışmanı istediğim proje "FieldLog" adını verdiğimiz bir saha takip uygulaması. Bu proje; modern mobil uygulama geliştirmede çok kritik olan harita yönetimi, yerel veri depolama ve çevrimdışı çalışma (offline mode) mantığını kavramanı sağlayacak.
Senden beklentim, projeyi sadece "çalıştırman" değil; kodun temizliği, state yönetimi ve kullanıcı deneyimine de kafa yorman.
1. Projenin Amacı
Saha çalışanlarının harita üzerinde kendilerine atanan görevleri görmesi, yeni görev noktaları eklemesi ve internetin çekmediği durumlarda dahi bu verileri kaybetmeden cihazda saklayabilmesi.
2. Teknik Gereksinimler
- Framework:React Native (CLI veya Expo)
- State Management:Zustand veya Redux Toolkit
- Database:SQLite
- Maps:react-native-maps
- Location:expo-location veya react-native-geolocation-service
3. Uygulama Özellikleri (MVP)
Harita Katmanı
- Uygulama açıldığında harita kullanıcının mevcut konumuna odaklanmalı.
- Harita üzerinde uzun basılan (long press) koordinata bir "Görev Ekle" modalı açılmalı.
- Kayıtlı görevler harita üzerinde Marker (işaretçi) olarak görünmeli.
Görev Yönetimi & SQLite
- Her görev; id, baslik, aciklama, lat, long ve status alanlarına sahip olmalı.
- Tüm bu veriler SQLite üzerinde tutulmalı.
- Uygulama kapatılıp açıldığında veriler haritaya tekrar yüklenmeli.
State Yönetimi
Veritabanından çekilen veriler uygulama içinde bir Global Store'da (Zustand/Redux) tutulmalı. Haritadaki bir değişim anında listede de güncellenmeli.
Offline Mode Stratejisi
NetInfo ile bağlantı kontrolü yapılmalı. İnternet yoksa veriler "Taslak" olarak işaretlenmeli ve bağlantı geldiğinde senkronizasyon simüle edilmeli.
4. Geliştirme Süreci (4 Hafta)
Proje kurulumu, harita entegrasyonu ve konum takibi.
SQLite şeması ve CRUD işlemlerinin yazılması.
Global State (Zustand) ve harita-liste senkronizasyonu.
UI/UX iyileştirmeleri ve offline mod kontrolleri.
5. Teslimat ve Kod Kalitesi
Versiyon Kontrol
GitHub/GitLab üzerinde düzenli ve anlamlı commit mesajları.
Mimari
Component yapısını olabildiğince parçalayarak (reusable) yazım.
Disiplin
Önce dökümantasyon incelemesi, ardından mentor desteği.
Başarılar Dilerim!
Herhangi bir sorunda her zaman ulaşabilirsin. Kolay gelsin!