115 lines
3.1 KiB
Markdown
115 lines
3.1 KiB
Markdown
# Desa+
|
|
|
|
Desa+ 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
|
|
|
|
- [React Native](https://reactnative.dev/) - Framework mobile cross-platform
|
|
- [Expo](https://expo.dev/) - Platform pengembangan aplikasi React Native
|
|
- [Firebase](https://firebase.google.com/) - Backend services (Authentication, Realtime Database, Cloud Messaging)
|
|
- [Redux Toolkit](https://redux-toolkit.js.org/) - State management
|
|
- [React Navigation](https://reactnavigation.org/) - Navigasi aplikasi
|
|
- [TypeScript](https://www.typescriptlang.org/) - Type safety
|
|
|
|
## Instalasi
|
|
|
|
1. Clone repository ini
|
|
```bash
|
|
git clone <repository-url>
|
|
cd mobile-darmasaba
|
|
```
|
|
|
|
2. Install dependencies
|
|
```bash
|
|
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
|
|
```bash
|
|
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
|
|
```bash
|
|
npm run android
|
|
```
|
|
|
|
### iOS
|
|
```bash
|
|
npm run ios
|
|
```
|
|
|
|
### Build Production
|
|
|
|
Untuk membuat build production Android:
|
|
```bash
|
|
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](LICENSE) untuk detail selengkapnya.
|
|
|
|
## Dukungan
|
|
|
|
Jika Anda menemukan masalah atau memiliki pertanyaan, silakan buka issue di repository ini.
|