Presensa App adalah aplikasi Flutter untuk sistem presensi dengan Appwrite sebagai backend.
- Authentication: Login (Admin & Employee)
- State Management: Menggunakan Riverpod
- Appwrite Database: Penyimpanan data user dan role
- Localization: Mendukung multi bahasa (l10n)
- Struktur modular: Siap dikembangkan untuk fitur selanjutnya
- Clone repository
git clone <repo-url> cd presensa_app
- install dependencies
flutter pub get
- Jalankan project
flutter run
lib/
├── main.dart # Entry point aplikasi
└── src/
├── presensa.dart # Root widget aplikasi
├── constants/ # Konstanta global (warna, ukuran, enum, dsb)
├── core/ # Core logic: logger, provider global, mixin, exception
├── features/ # Fitur utama aplikasi (auth, home, dsb)
├── l10n/ # Localization (multi bahasa)
├── routes/ # Konfigurasi dan sub-routes aplikasi
├── utils/ # Utility/helper & extension function
└── widgets/ # Widget reusable & komponen UI
Aplikasi ini menggunakan Appwrite Cloud sebagai backend untuk autentikasi dan database.
- Database:
presensa_db - Tables (Collections):
companiesname(string)address(string)location(string, optional)
usersuserId(string, relasi ke Appwrite Users)role(string:admin|employee)companyId(string, relasi kecompanies)department(string, optional)phone(string, optional)
- Admin
- Membuat dan mengelola perusahaan
- Mengatur data karyawan
- Employee
- Hanya bisa login & mengakses fitur presensi
Seeder tersedia di folder script/ menggunakan Python + Appwrite SDK.
Fungsi:
- Membuat
Company - Membuat
Admin User - Menghubungkan Admin ke Company
- Masuk ke folder
script/cd script - Aktifkan virtual environment
source venv/bin/activate - Jalankan seeder
python seeder.py