Skip to content

Flutter apps to demonstrate clean architecture and flutter best practices.

Notifications You must be signed in to change notification settings

pranay-mm/rick_morty_flutter

Repository files navigation

Banner

Rick & Morty - Flutter

A Flutter clean-architecture project that uses Riverpod and Retrofit with best practices. Includes e2e integration tests, widget tests and unit tests. This project usage rick morty opensource api.

👨‍💻 Tech stack

Tools Link
🤖 State Management flutter_riverpod
💚 Service Locator get_it
🏛 Navigation Flutter Navigator
📄 Serialization json_serializable
🚀 Test riverpod_test flutter_test
🖊️ Mock mockito
🌐 Networking Retrofit(Dio)
💾 Database Floor
🔡 Localization intl

⚒️ Architecture

The Rick & Morty Flutter app adheres to Clean Architecture principles. The project architecture has been inspired from Praxis Flutter.

Supported Platforms

Android iOS macOS Windows Linux Web
🚧 🚧 🚧

🖥️ Screens

OnBoarding Login Characters list
Characters Info Favourites list Settings

Setup git hooks

  1. Execute the following commands to establish a Git hook that will automatically format the code, analyze it, and run tests.

    1. git config core.hooksPath .githooks/ : point git hooks path for project
    2. chmod ug+x .githooks/* : update permission for hooks file

How to run the project? ✅

To generate code for freez, json serialization and mockito

flutter packages pub run build_runner build --delete-conflicting-outputs

How to run tests? ✅

Integration tests

flutter test integration_tests/ui_tests.dart

Unit tests

flutter test 

Find this project useful ? ❤️

  • Support it by clicking the ⭐️ button on the upper right of this page. ✌️

Contribution 🙌

Fork repo and Open new PR. You are most welcome to contribute to this project!

License

MIT License

Copyright (c) 2023 Pranay Patel

Permission is hereby granted, free of charge, to any person obtaining a 
copy of this software and associated documentation files (the "Software"), 
to deal in the Software without restriction, including without limitation 
the rights to use, copy, modify, merge, publish, distribute, sublicense, 
and/or sell copies of the Software, and to permit persons to whom the 
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included 
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

Flutter apps to demonstrate clean architecture and flutter best practices.

Resources

Stars

Watchers

Forks

Packages

No packages published