FLUTTER ECOSYSTEM

vedartm/rick-and-morty-info

使用 Clean 架构 + TDD + GraphQL + flutter_bloc + CodeCov + GitHooks + GitHub Actions (CI/CD),最终以 💙 完成

rick-and-morty-info 项目封面
Stars
524
Forks
91
最近推送(UTC)
2021年9月23日
项目状态
未归档
Venkat Vedartham GitHub avatar
GITHUB User

Venkat Vedartham ↗

Developer

Doshi App LimitedLondon官方网站 ↗
语言DartRubyShellObjective-CJava

技术话题

使用的依赖

依赖清单 24 项

所在榜单

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

展开 / 收起项目 README

Rick and Morty Info

Actions Status Actions Status codecov Flutter version style: effective dart License: MIT

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 v2.0.1 or higher. Instruction to change flutter channel.
  • Clone the repo
    git clone https://github.com/excogitatr/rick-and-morty-info.git
    
  • And then we can use the normal build and run procedure
    flutter 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.