# Attendance Mobile Client (Flutter)

Client ini terhubung ke API Laravel:
- `POST /api/v1/attendance/login`
- `GET /api/v1/attendance/request-data`
- `POST /api/v1/attendance/checkin`
- `POST /api/v1/attendance/checkout`
- `GET /api/v1/attendance/report`

## Run

```bash
cd attendance_mobile_client
flutter pub get
flutter run
```

## Setup di App

1. Isi `Base URL` (contoh emulator Android: `http://10.0.2.2:8000`).
2. Isi `API Key` dari menu web `master-api-key`.
3. Isi `Employee Code` atau `Finger ID`.
4. Isi `Site Code` sesuai data `master-location-gps`.
5. Isi lat/lng lalu `Check-in` atau `Check-out`.

## Offline Queue

Jika kirim gagal (offline), payload disimpan ke SQLite lokal (`offline_events`).
Gunakan tombol `Sync Queue` saat online untuk kirim ulang otomatis.

## Face Photo

Tombol `Take Face Photo` menggunakan kamera perangkat (image_picker).
Foto dikirim ke API sebagai multipart field `face_image`.
