Skip to content

A simple app to demonstrate MVVM Clean Architecture with Restful apis, Graphql and Riverpod.

License

Notifications You must be signed in to change notification settings

amrahmed242/flutter-clean-architecture-template

Repository files navigation

flutter_mvvm_clean_architecture

Flutter MVVM clean architecture Template

A time saving template to demonstrate MVVM Clean Architecture with basic project structure using Restful apis, Graphql and Riverpod to get started rather than creating all the folders/files with every new project.

🧗🏼‍♂️ Milestones

  • MVVM Design Pattern using Riverpod.
  • Multiple App flavors (LOCAL-STATGING-PRODUCTION)for testing links.
  • Common components like buttons, text inputs, etc
  • Routing and navigation layer.
  • use functional programming for propper error handling article.
  • Data presistance layer through Hive DB.
  • Widget shourtcuts and shimmer effects links.
  • CI/CD via Github actions or codemagic.
  • Notifications.
  • Responsive Framework.
  • Out of the box extensions.
  • SharedPrefrences.
  • Localizations.
  • Native Splash Screen flutter_native_splash.
  • Crash Reportsfirebase_crashlytics OR sentry_flutter.
  • Toasts which are globally accessible.
  • Connectivity check. //#internet_connection_checker
  • Restful api client
  • Graphql client
  • requests interceptors.
  • In-App update
  • Structured test directory by every feature.
  • Unit testing for domain layer.
  • Widget testing for UI layer.

📦 Packages

  • shared_preferences: ^2.0.7
  • cupertino_icons: ^1.0.2
  • awesome_extensions: ^1.0.7
  • auto_size_text: ^3.0.0
  • google_fonts: ^2.1.0
  • cached_network_image: ^3.2.0
  • hive: ^2.0.5
  • dio: ^4.0.4
  • graphql: ^5.0.0
  • shared_preferences: ^2.0.11
  • hooks_riverpod: ^1.0.3
  • date_format: ^2.0.4
  • url_launcher: ^6.0.17
  • equatable: ^2.0.3
  • mime: ^1.0.1
  • logger: ^1.1.0

🔻 Getting started

Open CMD/Terminal and run the following commands:

git clone https://github.com/amrahmed242/flutter-clean-architecture-template.git

cd flutter_app

flutter packages get

flutter run

🔑 License

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

🧑 Author

Amr Ahmed

LinkedIn Link You can also follow my GitHub Profile to stay updated about my latest projects: GitHub Follow If you liked the repo then kindly support it by giving it a star ⭐!

Copyright (c) 2021 AmrAhmed.

About

A simple app to demonstrate MVVM Clean Architecture with Restful apis, Graphql and Riverpod.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published