My name is Abdul Muneeb Akram and i am mobile Application Developer from the past 6 years. For further more details please check the following links.
A Flutter project designed to demonstrate my Flutter development skills. This project was created for Innowi Home Exercise.
I developed this entire project using Flutter Flavors and a monorepo architecture, showcasing my proficiency in modern development practices. By employing Clean Architecture and Bloc/Cubit state management, I ensured that the codebase is modular, scalable, and maintainable.
All the monorepos in this project were carefully created by me, designed to be reusable across diverse projects—whether large or small. These monorepos not only streamline the setup process for new projects but are also highly customizable, enabling seamless adaptability to specific project requirements.
My approach reflects a strong commitment to adhering to best practices, ensuring the project is robust and sustainable in the long term. This project demonstrates my expertise in building reusable, flexible, and efficient infrastructure, with a clear focus on scalability and adaptability.
By integrating my knowledge of Flutter, state management tools, and architectural patterns, I’ve established a foundation that facilitates rapid development without compromising quality or future scalability. This work highlights my ability to set up infrastructure for corporate-level apps and reinforces my focus on delivering reliable, future-proof solutions.
Here are a few resources to help you get started if this is your first Flutter project:
For help with Flutter development, refer to the official documentation, which includes tutorials, samples, mobile development guidance, and a complete API reference.
This app is created for Android and iOS platforms. Below, I’ll explain the folder structure and functionality:
- assets: Contains animations, app icons, images, and language files.
- env: Contains environment configurations for flavors (dev, qa, prod).
- lib: Contains the application code with Clean Architecture implemented.
- packages: Contains reusable plugins and packages for the entire project.
- packagesAppSpecific: Contains plugins and packages specific to this app.
You can modify the theme using the AppTheme class.
To change the language, use the ChangeLanguage class.
If necessary, run this command:
dart run build_runner buildThis project includes three flavors: dev, qa, and prod. You can run the project with the following commands or configure it in Android Studio under Run / Debug Configurations:
flutter run --debug -t lib/ta_dev.dart --flavor taDevflutter run --debug -t lib/ta_qa.dart --flavor taQaflutter run --debug -t lib/ta_prod.dart --flavor taProdflutter run --profile -t lib/ta_dev.dart --flavor taDevflutter run --profile -t lib/ta_qa.dart --flavor taQaflutter run --profile -t lib/ta_prod.dart --flavor taProdflutter run --release -t lib/ta_dev.dart --flavor taDevflutter run --release -t lib/ta_qa.dart --flavor taQaflutter run --release -t lib/ta_prod.dart --flavor taProdflutter build apk --flavor taDev -t lib/ta_dev.dartflutter build apk --flavor taQa -t lib/ta_qa.dartflutter build apk --flavor taProd -t lib/ta_prod.dart