Egyptian Banks

A Flutter package providing comprehensive data about banks operating in Egypt with full bilingual support (Arabic and English).

Features

  • Complete list of 40+ banks operating in Egypt
  • Bilingual support (Arabic & English)
  • Bank logo images included
  • Search functionality
  • Cached data loading for performance
  • Simple, intuitive API

Screenshots

English Arabic
English Arabic

Installation

Add this to your package's pubspec.yaml file:

dependencies:
  egyptian_banks:
    git:
      url: https://github.com/abdalmuneim/egyptian_banks.git

Then run:

flutter pub get

Usage

Basic Usage

import 'package:egyptian_banks/egyptian_banks.dart';

// Create an instance
final egyptianBanks = EgyptianBanks();

// Get all banks in English (default)
final banks = await egyptianBanks.getAllBanks();
for (final bank in banks) {
  print(bank.nameEn);
}

// Get all banks in Arabic
final banksAr = await egyptianBanks.getAllBanks(language: 'ar');
for (final bank in banksAr) {
  print(bank.nameAr);
}

Get Bank by ID

final bank = await egyptianBanks.getBankById(29);
if (bank != null) {
  print(bank.nameEn);  // National Bank of Egypt
  print(bank.nameAr);  // البنك الأهلي المصري
}

Search Banks

// Search in English
final results = await egyptianBanks.searchBanks('National');

// Search in Arabic
final resultsAr = await egyptianBanks.searchBanks('الأهلي', language: 'ar');

Get Banks with Logos

final banksWithLogos = await egyptianBanks.getBanksWithImages();
// Using the bank's image path
if (bank.hasImage) {
  Image.asset(bank.image);
}

API Reference

EgyptianBanks Class

Method Return Type Description
getAllBanks({String language = 'en'}) Future<List<Bank>> Returns all banks sorted by name
getBankById(int id) Future<Bank?> Returns a bank by ID or null
searchBanks(String query, {String language = 'en'}) Future<List<Bank>> Searches banks by name
getBanksWithImages() Future<List<Bank>> Returns banks that have logos
getBankCount() Future<int> Returns total number of banks
clearCache() void Clears the internal cache

Bank Model

Property Type Description
id int Unique identifier
nameEn String Bank name in English
nameAr String Bank name in Arabic
image String Asset path to bank logo
hasImage bool Whether the bank has a logo
Method Return Type Description
getName({String language = 'en'}) String Returns name in specified language
toJson() Map<String, dynamic> Converts to JSON map

Included Banks

The package includes data for major banks operating in Egypt:

  • National Bank of Egypt (البنك الأهلي المصري)
  • Banque Misr (بنك مصر)
  • CIB - Commercial International Bank (البنك التجاري الدولي)
  • Banque du Caire (بنك القاهرة)
  • QNB - Qatar National Bank (بنك قطر الوطني)
  • HSBC Bank Egypt (بنك إتش إس بي سي مصر)
  • And 35+ more...

License

This project is licensed under the MIT License - see the LICENSE file for details.

Libraries

egyptian_banks
A Flutter package providing Egyptian bank data with bilingual support.