vedartm/rick-and-morty-info
Clean 아키텍처 + TDD + GraphQL + flutter_bloc + CodeCov + GitHooks + GitHub Actions (CI/CD)를 사용하여 제작되었으며, 마침내 💙로 완성
- Stars
- 524
- Forks
- 91
- 최근 푸시(UTC)
- 2021. 9. 23.
- 프로젝트 상태
- 활성
기술 주제
사용 중인 의존성
의존성 목록 24 개
- flutter
{"sdk":"flutter"} - pagination_view
^2.0.0 - ant_icons
^2.0.0-nullsafety.0 - cached_network_image
^3.0.0 - graphql_flutter
^5.0.0 - internet_connection_checker
^0.0.1+1 - json_serializable
^4.1.3 - freezed_annotation
^0.14.2 - functional_enum_annotation
^1.2.1 - get_it
^7.1.3 - injectable
^1.0.4 - flutter_bloc
^7.0.1 - hive
^2.0.4 - dartz
^0.10.0-nullsafety.2 - rxdart
^0.26.0 - path_provider
^2.0.2 - flutter_test개발 의존성
{"sdk":"flutter"} - freezed개발 의존성
^0.14.2 - functional_enum개발 의존성
^1.1.3 - injectable_generator개발 의존성
^1.4.1 - build_runner개발 의존성
^2.0.4 - effective_dart개발 의존성
^1.3.1 - bloc_test개발 의존성
^8.0.2 - mocktail개발 의존성
^0.1.4
순위
원본 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
- CI/CD with GitHub Actions
- Githooks to ensure clean commit and push
- Pre commit formats with
flutter format - Pre push checks the code with
flutter analyzeandflutter test
- Pre commit formats with
- Linting style with Effective Dart
- Test coverage with Codecov
- Dependency Injection with injectable and get_it
- Testing with mockito and bloc_test
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.dartare 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.