AIC Amal Admin | iOS & Android FInancial Management App
Overview
AIC Amal Admin — Flutter Mobile App
Official admin dashboard app for the AIC Amal donation platform of Akode Islamic Centre.
Built with Flutter & Firebase, connecting securely to a Next.js backend via a RESTful API to provide real-time financial oversight for administrators.
📌 Project Overview
AIC Amal Admin is a cross-platform mobile application designed exclusively for administrators of the AIC Amal donation system. It provides a clean, finance-app–inspired interface for managing donations, tracking donor activity, monitoring subscription plans, and reconciling Razorpay settlements — all from a secure, phone-authenticated session.
The app acts as a mobile control center that mirrors the functionality of the AIC Amal web admin dashboard, optimized for on-the-go access. Admins can view live financial data, drill into individual transactions, download donor receipts as PDFs, and perform full settlement reconciliation across multiple Razorpay accounts.
✨ Features
🏠 Dashboard
- Live balance card with timeframe selector (Today / Yesterday / Last Week / Last Month / Last Year / Lifetime)
- Balance visibility toggle for privacy in public spaces
- Recent Transactions list with pull-to-refresh, color-coded by status (completed / failed)
- Personalized admin greeting with dynamic avatar fetched from the backend
💳 Transactions & Donations
- Full paginated list of all donations with search & date filtering
- Detailed transaction view: donor info, amount, payment method, category, status, timestamps
- PDF receipt download and in-app PDF viewer via
flutter_pdfview - Tap-through navigation from the dashboard to individual transaction details
👥 Donor Management
- Searchable, paginated donor directory with analytics per donor
- Donor detail view: full donation history, total contributed, contact information
- Subscription status per donor
🔄 Subscriptions
- Subscription overview with aggregated analytics (active, paused, cancelled counts)
- Tabbed subscription list: All / Active / Cancelled
- Individual subscription detail: plan, amount, frequency, donor, status, next billing date
📊 Reports & Settlements
- Settlement analytics card with recent settlement data
- Multi-account settlement support: switch between Razorpay sub-accounts
- Paginated settlement list with
load morepagination - Settlement reconciliation: line-by-line breakdown of each settlement batch
- Total settled amount calculation across all accounts
- Donation category breakdown via the Categories screen
- Account management screen for switching Razorpay contexts
⚙️ Settings & Profile
- Admin profile display (name, email, avatar)
- App version information
- Help & Support screen with contact info
- Legal/terms screen
- Secure sign-out
🔐 Authentication
- Firebase Authentication with phone number OTP (secure SMS verification)
- Firebase App Check (App Attest on iOS) to prevent API abuse
- Auth-state stream ensures the correct screen is always shown on launch
🛠 Tech Stack
| Layer | Technology |
|---|---|
| Framework | Flutter 3 (Dart SDK ^3.12.2) |
| State Management | Provider (ChangeNotifier pattern) |
| Authentication | Firebase Auth (Phone / OTP) |
| Security | Firebase App Check (App Attest) |
| Backend API | Custom Next.js REST API (https://aicamal.app/api) |
| HTTP Client | http package |
flutter_pdfview + open_filex | |
| File Sharing | share_plus |
| File System | path_provider |
| URL Handling | url_launcher |
| Internationalization | intl (date & number formatting) |
| Design System | Material 3, Inter font |
| Payments Gateway | Razorpay (via backend settlement API) |
| CI Assets | flutter_launcher_icons |
Technologies Used
Project Gallery
Project Details
Want to build something similar?
I'm currently available for new projects and collaborations.
Let's Talk