Offline Digital Banking System (Web Client Portal + Web Admin Back Office + iOS/Android Apps) — Self-Hosted, No External Integrations

Job ID: 40156733

Budget: $1,500 – $5,000 USD

Freelancer.com Project Post — Prominence Bank Offline Core Banking Platform (Web Client Portal + Web Admin + iOS/Android)

We require a self-contained digital banking platform that runs entirely on-premise / air-gapped with zero external dependencies. The platform must work even if the server has no public internet access (no external APIs, cloud services, CDNs, hosted fonts, analytics, maps, payment gateways, SMS/email providers, push services, or third-party authentication).

We will provide the selected developer access to our current system to mirror screens, menus, and workflows.



1) Deliverables (Mandatory)
• Web Client Portal (browser-based)
• Web Admin Back Office (browser-based)
• iOS + Android mobile apps connected to the same system (Flutter or React Native preferred)
• Full source code (all modules) + build scripts
• SQL schema + migrations (PostgreSQL preferred)
• Docker/Docker-Compose one-command deployment on Ubuntu
• README with complete rebuild-from-scratch instructions
• Demo/seed data: at least 1 admin + 2 test customers + 3 accounts + sample ledger entries



2) Core Functional Requirement: “Looks connected, but processed internally”

The platform must present a normal digital banking experience to the client while we perform certain operations outside the system.

A) External Wire Transfers (Client-Initiated → Always Pending → Admin Updates)
• Client can initiate an External Wire Transfer request from the portal.
• The request appears to the client as PENDING by default while our team processes the wire transfer internally/off-platform.
• Admin later updates status (Approved / Processing / Completed / Rejected / Cancelled) and optionally attaches internal notes/documents.
• Client must not see that the platform is not connected to SWIFT/SEPA/rails.

B) Inbound Wire Funding Instructions (Client View, Admin-Editable)
• Client portal must include a page “Wire Funds To Your Account” with international wire instructions, compliance notes, and policies.
• The full content must be editable from the Admin Back Office and instantly reflected in the client portal without code changes.
• This page includes both SWIFT instructions and KTT policy content as part of the text shown to clients. 



3) Client Portal (Web) — Required Menus & Screens

Client portal must match our current navigation:

Top Menu
• Dashboard
• Manage Beneficiary
• Funds Transfer
• Requests & Claims
• Profile / Security (password change)

A) Dashboard / Accounts Overview
• List bank accounts with:
• Account name, account number, account type, status
• Available balance and other balance fields (e.g., “in transit” if enabled)
• Sections for Credit Cards / Bank Instruments / Loans (display even if empty)

B) Manage Beneficiary (Required Form + Logic)

The system must include “Prominence Bank” vs “Other Bank” beneficiary types with these required fields (mirroring our current page):
• Nickname (required)
• Account holder name (required)
• Account number (required)
• Account holder address (required)
• Set limit (required)
• Bank name (auto “Prominence Bank” when internal) / otherwise editable (required)
• Bank address (required)
• Bank SWIFT code (required)
• Bank officer name (optional)
• Bank officer email (optional)
• Bank officer telephone (optional)

Also include:
• Add New beneficiary
• View All beneficiaries
• Beneficiaries selectable on transfers

C) Funds Transfer (Required Types + OTP)

Client portal must implement the “Payments and Transfers” flow with OTP support. 

Transfer types required:
1. Within the bank
• “Transfer to another Prominence Bank Client”
• “Transfer between My Products” (between own accounts)
2. Other Bank
• Creates an external transfer request (Pending workflow as described above)

Transfer form must include:
• Select transaction type
• Product origin (source account)
• Beneficiary selection
• Fee and total calculation display
• Amount with min/max limit handling
• Remarks field
• OTP input + “Get OTP” function + Continue 
Time-delay rule:
• If first-time transfer to a beneficiary: apply 60-minute security delay; otherwise 30 minutes (configurable). 

D) Requests & Claims (Client-Initiated Requests)

Client dropdown must include at minimum:
• Request Cheque Book/Block
• Request Loan Application
• Request Credit Card
• Request Travel Notification
• Request Certificate of Deposit

Each request must have:
• Form fields + attachments
• Status tracking + history
• Messaging thread (client ↔ bank staff)

E) Profile & Security
• Change password screen (current/new/confirm)
• Optional offline TOTP 2FA enrollment (preferred)



4) Admin Back Office (Web) — Required Modules & Exact Menus

Admin portal must include and implement:
• Dashboard
• Admins
• Customers
• Accounts (Add New / View All / All Debit Cards / Hold Account Balance)
• Crypto Accounts
• Deposits
• Funds Transfer
• Banking Products
• Requests
• Loan
• Credit Card
• Settings (Fee Table / Admin Wallet Address / CoD Interest Rates / Wire Transfer)
• Generate OTP

A) Admins / RBAC
• Roles minimum: Super Admin, Operations, Compliance, Relationship Manager, Auditor (read-only)
• Granular permissions per module and per action

B) Customers
• Create/edit/suspend customers
• Attach documents (KYC/contracts)
• Risk flags + KYC status fields

C) Accounts (Critical)
• Account detail page /accounts/detail/{id} with:
• balances (current/available/held), status controls
• manual posting tools (credit/debit/fees/adjustments)
• holds/block funds tools
• internal transfer history
• product issuance history
• documents & statements
• compliance notes
• full audit trail

D) Funds Transfer (Admin Side)
• View all transfers
• Approve/decline internal transfers when maker/checker applies
• External wire transfer requests:
• view pending requests
• update status + attach internal notes/docs
• audit trail of every change

E) Banking Products (Document Issuance Workflows)

Must include:
• Certificate of Deposit
• Standby Letter of Credit
• Bank Guarantee
• Safe Keeping Receipt
• Bank Certify Checks
• Proof of Funds
• Block Funds
• Key Tested Telex
• Swift

Each product must support:
• Request form + required documents checklist
• Fee application
• Status flow: Draft → Submitted → Under Review → Approved → Issued → Delivered → Closed/Cancelled
• PDF generation using templates and archiving to account documents
• Full approvals + audit trail

F) Settings (Exact Submenus Required)
• Fee Table: fee rules (flat/%/tiers), effective dates, per product/transfer type
• Admin Wallet Address: internal wallet address registry (for reference/display)
• CoD Interest Rates: rate tables by currency/tenor/effective date
• Wire Transfer: editable content/templates for the client “Wire Funds To Your Account” page 

G) Generate OTP
• Offline OTP/TOTP for sensitive actions
• Must work without internet



5) Ledger & Audit (Non-Negotiable)
• Open-source ACID database (PostgreSQL preferred)
• Double-entry ledger preferred, or equivalent robust ledger with running balances
• No silent edits; use reversals/adjustments
• Unique references for transfers, postings, and product issuance
• Audit logs: who/what/when, before/after values, approvals, IP/session where available



6) Mobile Apps (iOS + Android) — Required

Apps must connect to the on-prem server and provide the core client portal functions:
• Login (+ optional offline TOTP)
• Account balances & transactions
• Manage beneficiaries
• Internal transfers + external wire transfer requests (pending workflow)
• Requests & claims + status tracking
• Access wire funding instructions page content
• Profile/security (password change)

No reliance on external push services is required; in-app notifications are sufficient.



7) Deployment Requirements
• Docker or Docker-Compose, one-command bring-up on Ubuntu
• Runs fully offline (air-gapped)
• Provide:
• docker-compose.yml
• environment templates (.env.example)
• migration scripts
• admin bootstrap steps (create first admin)
• backup/restore procedure



8) Acceptance Criteria
• Fresh Ubuntu server → single command deploy → working system
• Server offline → everything continues working
• Test client:
• creates beneficiary
• initiates internal transfer (OTP)
• initiates external wire transfer request (shows Pending)
• views wire funding instructions page
• Admin:
• sees requests instantly
• updates wire status and client sees update
• generates/export reports and audit logs
• issues banking product PDFs and archives them



9) Bid Requirements
• Confirm: 100% offline, no external dependencies
• Proposed stack (backend/frontend/db/mobile)
• Similar projects delivered (proof/screenshots)
• Timeline & milestones
• Warranty/bug-fix period
• Confirmation of full source code handover and usage rights