Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

innowi_home_exercise

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.

About

A Flutter project designed to demonstrate my Flutter development skills. This project was created for Innowi Home Exercise.

Getting Started

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.

For Newbies

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.

Next Steps

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.

Changing the Theme

You can modify the theme using the AppTheme class.

Language Switching

To change the language, use the ChangeLanguage class.

Using the Freezed Package

If necessary, run this command:

dart run build_runner build

Running Code with Integrated Flavors

This 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:

For Debug Mode (Dev Environment):

flutter run --debug -t lib/ta_dev.dart --flavor taDev

For Debug Mode (Qa Environment):

flutter run --debug -t lib/ta_qa.dart --flavor taQa

For Debug Mode (Prod Environment):

flutter run --debug -t lib/ta_prod.dart --flavor taProd

For Profile Mode (Dev Environment):

flutter run --profile -t lib/ta_dev.dart --flavor taDev

For Profile Mode (Qa Environment):

flutter run --profile -t lib/ta_qa.dart --flavor taQa

For Profile Mode (Prod Environment):

flutter run --profile -t lib/ta_prod.dart --flavor taProd

For Release Mode (Dev Environment):

flutter run --release -t lib/ta_dev.dart --flavor taDev

For Release Mode (Qa Environment):

flutter run --release -t lib/ta_qa.dart --flavor taQa

For Release Mode (Prod Environment):

flutter run --release -t lib/ta_prod.dart --flavor taProd

For Building APK (Dev):

flutter build apk --flavor taDev -t lib/ta_dev.dart

For Building APK (Qa):

flutter build apk --flavor taQa -t lib/ta_qa.dart

For Building APK (Prod):

flutter build apk --flavor taProd -t lib/ta_prod.dart

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages