bilalelsayed97 / ali-fouad-task

Flutter mobile app task.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ali Fouad Test

- ✅ Implemented the UI design, ensuring perfect similarity
     between the design and the implementation
- ✅ implemented GetX - my first time using it (was great)
- ✅ GetStorage for caching
- ✅ Dio and Http packages used both of them.
- ✅ MVC and Binding.
- ✅ Singelton Design Pattern for service storage instance.
- ✅ clean and reusable code.
- ✅ showing error & success alerts with GetX 
- ✅ Thoroughly documented the codebase for clarity and ease of understanding.

what if i had more time ?

- ⭐️ I would utilize Screen Util to make the UI adaptive and responsive, a technique I have
   employed numerous times before.
- ⭐️ I would enhance security by implementing measures to safeguard user tokens and private 
     data, thus making the app more secure.
- ⭐️ I would prioritize writing unit and widget tests to ensure robustness and reliability.
- ⭐️ I would ensure accessibility for individuals with hearing impairments, making the app
     more user-friendly for everyone.

Folder Structure

  • Binding
  • Controllers
  • Model
  • Views
.
├── core                                                    //common views & utility & constants
│   ├── constants
│   │   └── endpoints.dart
│   ├── storage_service.dart
│   ├── utility
│   │   ├── assets_data.dart
│   │   ├── colors_data.dart
│   │   ├── helper.dart
│   │   ├── strings_data.dart
│   │   └── themes.dart
│   └── views
│       ├── app_widget.dart
│       ├── loading_indicator.dart
│       ├── routes
│       │   └── routes.dart
│       └── snakbars.dart
├── features
│   ├── auth
│   │   ├── landing
│   │   │   └── views
│   │   │       └── landing_view.dart
│   │   ├── login
│   │   │   ├── controllers
│   │   │   │   └── login_controller.dart
│   │   │   └── views
│   │   │       └── login_view.dart
│   │   └── register
│   │       ├── controllers
│   │       │   └── register_controller.dart
│   │       └── views
│   │           └── register_view.dart
│   ├── binding                                            //Binding - Dependency injection
│   │   └── app_binding.dart
│   ├── change_password
│   │   ├── controllers
│   │   │   └── change_pass_controller.dart
│   │   └── views
│   │       └── change_pass_view.dart
│   ├── core                                                //common models & views & controllers
│   │   ├── models
│   │   │   └── user_model.dart
│   │   └── views
│   │       └── widgets
│   │           ├── logo_with_title.dart
│   │           ├── main_button.dart
│   │           └── text_field.dart
│   ├── home
│   │   ├── controllers
│   │   │   ├── delete_user_controller.dart
│   │   │   └── home_controller.dart
│   │   └── views
│   │       ├── home_view.dart
│   │       └── widgets
│   │           ├── home_item.dart
│   │           └── info_item.dart
│   ├── splash
│   │   └── views
│   │       └── splash_view.dart
│   └── update_user
│       ├── controllers
│       │   └── update_user_controller.dart
│       └── views
│           └── update_view.dart
└── main.dart

1 2 3 4) 5 6 7

About

Flutter mobile app task.


Languages

Language:Dart 55.3%Language:C++ 20.3%Language:CMake 17.2%Language:Ruby 2.5%Language:Swift 1.7%Language:HTML 1.6%Language:C 1.3%Language:Kotlin 0.1%Language:Objective-C 0.0%