amaliadwiy 165f423798 fix: cegah upload file duplikat pada form tambah dan edit pengumuman
Cek nama file sebelum menambahkan ke list, skip jika sudah ada.
Gunakan nama file (bukan URI) karena Android dapat menghasilkan URI berbeda
untuk file yang sama di setiap sesi picker.
2026-05-19 14:39:23 +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%