1. High-Level Architecture
The system is built on an Offline-First Architecture. This ensures the mobile app functions fully without internet, treating the local device database as the "primary" source for the user, which synchronizes with the cloud server whenever a connection is established.
2. Technology Stack (The "Engine")
Mobile App (Frontend):
Framework: Flutter (Google).
Why: Single codebase for Android & iOS, high performance on low-end devices, and excellent offline library support.
Local Database: SQLite (via Drift or Sqflite) or Hive (NoSQL).
Why: Stores user data, forms, and images locally on the phone.
Image Handling: Flutter Image Compress.
Why: Automatically shrinks photos (e.g., from 5MB to 200KB) before uploading to save mobile data bandwidth.
Backend (API & Logic):
Language: Node.js (using NestJS or Express) OR Python (Django/FastAPI).
Why: Handles concurrent requests efficiently and manages complex compensation logic easily.
Database: PostgreSQL (Relational DB).
Why: Best for structured data (beneficiaries, payments) and includes PostGIS for mapping/GPS features.
Cloud Infrastructure:
Server: AWS EC2 or DigitalOcean Droplet.
File Storage: AWS S3 or Google Cloud Storage (for storing beneficiary photos and documents).
Notification: Firebase Cloud Messaging (FCM) for push notifications.
Owner:AgriConnect
Category: Mobile App
Address:Bangladesh