bloc_test
bloc을 테스트하기 쉽게 만들어주는 테스트 라이브러리입니다. bloc 상태 관리 패키지와 함께 사용하도록 설계되었습니다.
기능이 완전한 Flutter 앱 - FindSeat (BLoC + Json API + 단위 테스트 + Firebase Auth)
bloc을 테스트하기 쉽게 만들어주는 테스트 라이브러리입니다. bloc 상태 관리 패키지와 함께 사용하도록 설계되었습니다.
BLoC(Business Logic Component) 디자인 패턴을 쉽게 구현할 수 있도록 도와주는 Flutter 위젯입니다. bloc 상태 관리 패키지와 함께 사용하도록 설계되었습니다.
소스 코드를 정적 분석하여 추론할 수 없는 개발자의 의도를 표현하는 데 사용되는 주석입니다.
Firebase Auth용 플러터 플러그인으로, 비밀번호, 전화번호 및 Google, Facebook, Twitter 등의 신원 제공자를 사용한 인증을 가능하게 합니다.
다중 Firebase 앱에 연결할 수 있는 Firebase Core용 Flutter 플러그인입니다.
iOS 및 Android 애플리케이션에 Google Maps를 통합하기 위한 Flutter 플러그인입니다.
Google 계정으로 로그인하는 데 사용되는 안전한 인증 시스템인 Google Sign-In용 Flutter 플러그인입니다.
RxDart는 비동기 프로그래밍을 위한 인기 있는 ReactiveX API의 구현으로, 네이티브 Dart Streams API를 활용합니다.
v4.0.0패키지는 Flutter 프로젝트에 샤이머 효과를 쉽게 추가할 수 있는 방법을 제공합니다
v5.1.2무한 스크롤과 사용자 정의 자식 위젯을 지원하는 카루셀 슬라이더 위젯입니다.
retrofit.dart 는 source_gen 을 사용하고 Chopper 및 Retrofit 에서 영감을 받은 dio 클라이언트 생성기입니다.
retrofit generator는 source_gen을 사용하여 생성된 dio 클라이언트로, Chopper과 Retrofit에서 영감을 받았습니다.
{"sdk":"flutter"}^0.1.2^2.0.1^4.0.0^4.0.0^0.14.1any^8.0.0^2.0.0^0.27.3{"sdk":"flutter"}^2.0.0^1.1.6^4.0.03.0.1^2.0.21.0.3^2.1.12.0.0+2^2.0.0^1.1.1^1.1.1^5.0.4^1.1.4^7.0.1^4.0.0^2.1.0^2.0.0any—8.0.1아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
Banner
I’m Android Developer and I’m working in a software company in Vietnam. I have experience in both kind project: outsourcing project and product project. I decided to study Flutter, because I believe it’s promised in future. As experienced developer, I care about clean architecture, testing, performance and maintainability that why I keep searching for an example of completed application. Unfortunately, community now full of project such as speedcode, UI challenges, … it’s just small pieces of real world application. In fact, most of the project doesn’t have fancy UI like that. That why I build this project by myself and now share it to the community, I hope you can get something from it then apply to your work.
The first version of project (v1.0) is just about UI + simple logic. In this version v2.0, I applied BloC pattern by using Flutter Bloc to project and also have unit tests for it. I also built simple Mock API for the app, it just static json file uploaded to a my private hosting. I hope I have time to do cache local data by SQLite but I have not, so hope next version will be soon available.
In Home screen, it just simply load then show data to UI. What you can try
Home_1
Home_2
AllShows_1
AllShows_2
AllShows_3
ShowInfo_1
ShowInfo_2
BookTimeSlot_1
BookTimeSlot_2
BookSeatType
BookSeatSlot
MakePayment_1
MakePayment_2
MakePayment_3
Login
Register
https://integer.sgp1.digitaloceanspaces.com/findseat
| API | Usage |
|---|---|
| /home.json | Return data for Home screen |
| /all_shows_by_type.json | Return data for All Shows screen |
| /booking_time_slot_by_cine.json | Return data for Book Time Slot screen |
| /book_seat_slot_by_time_slot.json | Return data for Book Seat Slot screen |
| Plugin | Usage |
|---|---|
| retrofit | For working with restful API, generated model |
| json_annotation | Same as above (SAA) |
| dio | SAA |
| build_runner | SAA |
| flutter_bloc | For build app architecture |
| carousel_slider | Use for section banner in Home screen |
| freezed | Working with State of bloc |
| equatable | SAA |
| meta | SAA |
| intl | Format date time and other formats |
| youtube_player_flutter | Display trailer from Youtube link |
| shared_preferences | For caching user’s session |
| flutter_svg | Display svg icon |
| google_maps_flutter | Display address of cine |
| dotted_border | Display dot border of offer ticket in Show details screen |
| shimmer | Animate image place holder |
| stripe_payment | Use in booking feature |
| firebase_core | For register account and login using Firebase |
| google_sign_in | SAA |
| firebase_auth | SAA |
| test | Try to use unit testing, most of the cases come from Bloc |
| bloc_test | SAA |
flutter doctor -v
[√] Flutter (Channel stable, 2.8.1, on Microsoft Windows [Version 10.0.19043.1586], locale en-US)
• Flutter version 2.8.1 at C:\src\flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 77d935af4d (3 months ago), 2021-12-16 08:37:33 -0800
• Engine revision 890a5fca2e
• Dart version 2.15.1
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at C:\Users\ASUS\AppData\Local\Android\sdk
X cmdline-tools component is missing
Run `path/to/sdkmanager --install "cmdline-tools;latest"`
See https://developer.android.com/studio/command-line for more details.
X Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[√] Chrome - develop for the web
• Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 3.1)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 29.0.1
• Dart plugin version 173.4700
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
[√] Android Studio (version 3.5)
• Android Studio at C:\Program Files\Android\android-studio
• Flutter plugin version 42.1.1
• Dart plugin version 191.8593
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
[√] Android Studio (version 3.6)
• Android Studio at C:\Program Files\Android\AS33
• Flutter plugin version 49.0.1
• Dart plugin version 192.8052
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
[√] IntelliJ IDEA Community Edition (version 2020.3)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.1
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
[√] IntelliJ IDEA Ultimate Edition (version 2021.1)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA 2021.1
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
[√] VS Code (version 1.65.0)
• VS Code at C:\Users\ASUS\AppData\Local\Programs\Microsoft VS Code
• Flutter extension can be installed from:
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[√] Connected device (3 available)
• sdk gphone x86 (mobile) • emulator-5554 • android-x86 • Android 11 (API 30) (emulator)
• Chrome (web) • chrome • web-javascript • Google Chrome 99.0.4844.74
• Edge (web) • edge • web-javascript • Microsoft Edge 98.0.1108.62
! Doctor found issues in 1 category.
Before run project, execute commands:
flutter cleanflutter pub getflutter pub run build_runner build or flutter pub run build_runner build --delete-conflicting-outputsflutter run (if needed)