Connecting offline field records with plantation administration and payroll through Flutter, Go, and Next.js, with conflict handling and protected payroll finalization.
Sistem Kebun project presentation with application screens
The context
A workflow worth connecting.
Plantation teams need field records to remain useful even when connectivity is unreliable. Administrators also need traceable, reviewed data before turning attendance and activity records into payroll.
What the project covers
Work plans, worker assignments, attendance, and field activities
Persistent offline queues and version-based conflict handling
GeoJSON boundaries, PostGIS geometry, and device location sessions
Effective pay rates, adjustments, review, and protected final payroll snapshots
The connected workflow
01Plan work on the web
02Record attendance in Flutter
03Sync and review conflicts
04Finalize payroll
A simplified view of the workflow described in the project documentation.
Inside the implementation
Engineering decisions.
01
Keep field records consistent
Each queued operation retains its identity across retries. Local cache, changes, and synchronization cursors are persisted together; database transactions keep business changes, sync records, and audit entries consistent.
02
Make concurrent changes visible
Record versions detect conflicting edits instead of silently overwriting them. Managers can review conflicts and trace corrections through an audit history.
03
Protect payroll after review
Calculations use effective rates and versioned policies. Incomplete or changed inputs can prevent finalization, while database protection preserves the approved payroll snapshot.
Scope & validation
The source reports integrated web, mobile, and API validation against the same database. Physical-device GPS checks, acceptance of a complete payroll cycle, and production configuration remain further validation steps. No measured business impact is claimed.