Aplikasi cuaca pintar dengan monitoring anomali suhu, kualitas udara, dan tips kesehatan berbasis React Native.
- 🌡️ Data Cuaca Real-time - OpenWeather API dengan bahasa Indonesia
- 📊 Deteksi Anomali Suhu - Gelombang panas/dingin otomatis
- 🌬️ Monitor Kualitas Udara - AQI dan tingkat polusi
- ☀️ Indeks UV - Peringatan paparan sinar UV
- 💡 Tips Kesehatan - Saran aktivitas berdasarkan cuaca
- 🚨 Alert Pintar - Notifikasi hanya kondisi berbahaya
- 🗺️ Peta Interaktif - Google Maps untuk eksplorasi cuaca
- ❤️ Lokasi Favorit - Simpan dan pantau tempat kesukaan
- React Native + Expo SDK 53
- TypeScript untuk type safety
- Firebase (Database, Auth, Notifications)
- OpenWeather API untuk data cuaca
- Google Maps untuk peta interaktif
CuacaX/
├── app/(tabs)/ # Halaman utama
│ ├── index.tsx # Beranda - tampilan cuaca utama
│ ├── explore.tsx # Peta - eksplorasi lokasi
│ ├── favorites.tsx # Favorit - lokasi tersimpan
│ └── settings.tsx # Pengaturan - notifikasi & preferensi
│
├── components/ # Komponen UI
│ ├── WeatherCard.tsx # Kartu cuaca utama
│ ├── AlertsCard.tsx # Peringatan cuaca
│ ├── AirQualityCard.tsx # Kualitas udara & UV
│ ├── HealthTipsCard.tsx # Tips kesehatan
│ ├── WeatherMap.tsx # Peta Google Maps
│ └── ui/ # Komponen dasar UI
│
├── services/ # Logika bisnis
│ ├── weatherService.ts # API cuaca & forecast
│ ├── alertService.ts # Sistem peringatan
│ ├── notificationService.ts # Push notifications
│ ├── databaseService.ts # Penyimpanan data
│ └── authService.ts # Autentikasi user
│
├── types/weather.ts # TypeScript interfaces
├── contexts/ # React Context (lokasi)
└── lib/firebase.ts # Konfigurasi Firebase
# Clone repository
git clone https://github.com/DifaaNug/CuacaX.git
cd CuacaX
# Install dependencies
npm install
# Jalankan aplikasi
npx expo startBuat file .env:
EXPO_PUBLIC_OPENWEATHER_API_KEY=your_openweather_api_key
EXPO_PUBLIC_GOOGLE_MAPS_API_KEY=your_google_maps_api_key
EXPO_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key
EXPO_PUBLIC_FIREBASE_PROJECT_ID=your_firebase_project_id
# ... (Firebase config lainnya)- Lokasi → GPS atau pilihan user
- WeatherService → Ambil data cuaca real-time
- AlertService → Analisis kondisi berbahaya
- UI Components → Tampilkan informasi
- NotificationService → Kirim alert jika perlu
- Anomali Suhu: Deteksi gelombang panas (>35°C) atau dingin (<10°C)
- Kualitas Udara: Alert jika AQI ≥ 4 (tidak sehat)
- UV Index: Peringatan paparan UV tinggi
- Hanya Hari Ini: Alert tidak menumpuk, fokus kondisi aktual
- Semua teks dalam bahasa Indonesia
- Format tanggal lokal (Senin, Selasa, dst.)
- Tips kesehatan sesuai iklim tropis
- Fallback ke Jakarta jika GPS gagal
# Android
npx expo run:android
# iOS
npx expo run:ios
# Web (preview)
npx expo start --web# Android APK
eas build --platform android
# iOS App Store
eas build --platform iosCuacaX - Cuaca pintar untuk hidup lebih sehat 🌤️💚