A simple app to demonstrate Clean Architecture with GraphQL and flutter_bloc

  BLoC, GraphQL

Introduction: Made with Clean architecture + TDD + GraphQL + flutter_bloc + CodeCov + GitHooks + GitHub Actions (CI/CD) and finally with Flutter

Rick and Morty Info

A simple app to demonstrate Clean Architecture with GraphQL and flutter_bloc

Motivation

In Martin Fowler’s words,

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” (Refactoring: Improving the Design of Existing Code, 1999, p. 22)

With this idea in mind, I wanted to demonstrate how we can make a simple app in production grade (and I hope I made my case).

“Production level” implementations

Screenshots

Screen 1
Screen 2
Screen 3

Installation

  • Check if you are in the beta channel of flutter SDK and the version v1.15.17 or higher (I appologize for using beta version). Instruction to change flutter channel.
  • Clone the repogit clone https://github.com/excogitatr/rick-and-morty-info.git
  • And then we can use the normal build and run procedureflutter pub get flutter run
  • Some files like *.freezed.dart*.g.dart*.iconfig.dart are auto generated. If there is any issue from these files just run this command to regenerate them.flutter pub run build_runner watch –delete-conflicting-outputs

Thanks to

  • unclebob (For the infamous Clean Architecture)
  • resocoder (Followed his style in Clean architecture)
  • felangel (For his amazing state management solution)
  • Axel Fuhrmann (For the Rick and Morty GraphQL API)
  • Authors of all the packages I have used, who made our lives easier.

Getting Started

For help getting started with Flutter, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Dowload Architecture with GraphQL and flutter_bloc source code on GitHub

https://github.com/excogitatr/rick-and-morty-info