amaliadwiy 6d0203cc7d fix: hindari refetch saat mount pada halaman list pengumuman
Gunakan useRef untuk skip efek di render pertama sehingga refetch
hanya dipanggil saat state update berubah (setelah CRUD), bukan
setiap kali halaman dibuka.
2026-05-19 14:41:39 +08:00
2026-04-20 17:05:40 +08:00
2026-03-09 14:17:36 +08:00
2026-02-14 15:43:38 +08:00
2026-05-11 17:18:47 +08:00
2025-02-24 15:41:34 +08:00
2025-09-23 12:15:58 +08:00
2025-09-09 16:40:26 +08:00
2025-08-15 17:20:23 +08:00
2025-09-03 16:49:40 +08:00
2026-02-14 10:58:53 +08:00
2026-03-10 15:19:40 +08:00
2026-02-09 17:49:25 +08:00
2025-08-08 11:26:09 +08:00
2026-02-06 17:47:22 +08:00
2026-01-29 11:57:58 +08:00
2026-03-09 16:43:04 +08:00
2025-07-23 17:31:28 +08:00

Desa+

Desa+ (Desa Plus) adalah aplikasi mobile berbasis React Native yang dikembangkan dengan Expo untuk membantu pengelolaan dan komunikasi di lingkungan desa/kelurahan. Aplikasi ini menyediakan berbagai fitur untuk memudahkan administrasi desa, komunikasi antar warga, dan pengelolaan informasi penting.

Fitur Utama

  • 📢 Pengumuman dan informasi desa
  • 💬 Forum diskusi komunitas
  • 📅 Kalender kegiatan desa
  • 📄 Dokumentasi dan arsip desa
  • 📊 Pengelolaan proyek dan tugas desa
  • 👥 Manajemen anggota dan struktur organisasi
  • 📱 Notifikasi push untuk informasi penting
  • 🎯 Fitur verifikasi dan otentikasi

Teknologi yang Digunakan

Instalasi

  1. Clone repository ini

    git clone <repository-url>
    cd mobile-darmasaba
    
  2. Install dependencies

    npm install
    
  3. Konfigurasi environment variables Buat file .env di root direktori dan tambahkan variabel berikut:

    URL_API=<api-endpoint>
    URL_OTP=<otp-service-endpoint>
    URL_STORAGE=<storage-endpoint>
    URL_FIREBASE_DB=<firebase-database-url>
    PASS_ENC=<encryption-password>
    WA_SERVER_TOKEN=<whatsapp-server-token>
    IOS_GOOGLE_SERVICES_FILE=<path-to-ios-google-services>
    
  4. Jalankan aplikasi

    npx expo start
    

Struktur Proyek

├── app/                    # File-file halaman utama
├── components/            # Komponen reusable
│   ├── announcement/      # Komponen pengumuman
│   ├── auth/             # Komponen otentikasi
│   ├── discussion/       # Komponen forum diskusi
│   ├── document/         # Komponen dokumentasi
│   ├── project/          # Komponen pengelolaan proyek
│   └── ...
├── assets/               # Gambar dan aset statis
├── constants/            # Konstanta global
├── lib/                  # Library dan utilitas
└── ...

Platform Support

Aplikasi ini didukung untuk:

  • Android
  • iOS
  • Web (belum dioptimalkan)

Development

Untuk menjalankan aplikasi di masing-masing platform:

Android

npm run android

iOS

npm run ios

Build Production

Untuk membuat build production Android:

npm run build:android

Kontribusi

  1. Fork repository ini
  2. Buat branch fitur baru (git checkout -b fitur/NamaFitur)
  3. Commit perubahan Anda (git commit -m 'Tambahkan fitur NamaFitur')
  4. Push ke branch (git push origin fitur/NamaFitur)
  5. Buat pull request

Lisensi

Proyek ini dilisensikan di bawah lisensi MIT - lihat file LICENSE untuk detail selengkapnya.

Dukungan

Jika Anda menemukan masalah atau memiliki pertanyaan, silakan buka issue di repository ini.

Description
No description provided
Readme 14 MiB
Languages
TypeScript 98.4%
Kotlin 0.6%
JavaScript 0.4%
Ruby 0.3%
Swift 0.3%