Skip to content
View abdelrahmanghanem's full-sized avatar

Block or report abdelrahmanghanem

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
abdelrahmanghanem/README.md

πŸ‘‹ Hi, I'm Abdelrahman Ghanem

Flutter Developer | Mobile Engineer πŸš€

Building clean, scalable, and high-performance mobile applications using Flutter & Dart.


πŸ§‘β€πŸ’» About Me

  • πŸ’™ Flutter Developer with strong experience in Clean Architecture
  • πŸ“± Building Android, iOS & Web apps
  • πŸ”₯ Focused on performance, maintainability, and clean code
  • 🧠 Always learning and improving my engineering skills
  • πŸ‡ͺπŸ‡¬ Based in Egypt

πŸ› οΈ Tech Stack

πŸš€ Mobile

Flutter Dart

🧱 Architecture & State Management

  • Clean Architecture
  • MVVM / Feature-based structure
  • Provider / Riverpod / Bloc
  • Repository Pattern

🌐 Backend & Services

Firebase

  • REST APIs (Dio)
  • Firebase (Auth, Firestore, FCM)
  • In-App Purchases
  • Deep Linking

πŸ—„οΈ Local Storage

  • SharedPreferences
  • Hive
  • SQLite

βš™οΈ Tools

Git VSCode Android Studio Postman


πŸ“¦ Example Code Style

Future<Either<Failure, T>> execute<T>(
  Future<T> Function() call,
) async {
  if (!await networkInfo.isConnected) {
    return Left(DataSource.noInternetConnection.failure);
  }

  try {
    final result = await call();
    return Right(result);
  } catch (e) {
    return Left(ErrorHandler.handle(e).failure);
  }
}

Pinned Loading

  1. Pakeages/main_button Pakeages/main_button Public

    is a versatile Flutter package for creating highly customizable buttons with options for loading indicators, disabled states, and flexible content.

    Dart 1 1

  2. Pakeages/main_text_field Pakeages/main_text_field Public

    is a Flutter widget providing advanced customization for text input fields, ideal for developers needing flexible styling, validation, icons, and input control.

    Dart 1 1

  3. Pakeages/main_auth Pakeages/main_auth Public

    This package provides a customizable Login and Sign-Up screen for Flutter applications. It allows easy integration of login forms, social login buttons, and customization of titles, styles, and lay…

    Dart 2 1

  4. Pakeages/smart_localize Pakeages/smart_localize Public

    SmartLocalize is a Flutter localization package that efficiently handles translations by dynamically loading language resources based on the app's locale, with robust fallback support.

    Dart 1 1

  5. Pakeages/main_widgets Pakeages/main_widgets Public

    The MainScreen widget efficiently manages loading, empty, and data display states, with built-in refresh functionality. It simplifies state handling and reduces boilerplate code in Flutter apps

    Dart 1