lazycatlabs/flutter_auth_app
TDD 클린 아키텍처를 갖춘 플러터 인증 앱
- Stars
- 270
- Forks
- 78
- 최근 푸시(UTC)
- 2026. 9. 14.
- 프로젝트 상태
- 활성
언어DartSwiftPythonKotlinObjective-C
사용 중인 의존성
의존성 목록 33 개
- flutter
{"sdk":"flutter"} - flutter_localizations
{"sdk":"flutter"} - cupertino_icons
^1.0.9 - flutter_svg
^2.3.0 - dartz
^0.10.1 - dio
^5.11.0 - hive_ce
^2.19.3 - hive_ce_flutter
^2.3.4 - get_it
^9.2.1 - flutter_bloc
^9.1.1 - oktoast
^3.4.0 - flutter_screenutil
^5.9.3 - cached_network_image
^3.4.1 - logger
^2.7.0 - firebase_core
^4.14.0 - firebase_analytics
^12.5.0 - firebase_crashlytics
^5.3.0 - go_router
^17.5.0 - freezed_annotation
^3.1.0 - json_annotation
^4.12.0 - flutter_native_splash
^2.4.8 - intl
^0.20.2 - flutter_test개발 의존성
{"sdk":"flutter"} - flutter_launcher_icons개발 의존성
^0.14.4 - lint개발 의존성
^2.8.0 - flutter_lints개발 의존성
^6.0.0 - bloc_test개발 의존성
^10.0.0 - build_runner개발 의존성
^2.15.1 - http_mock_adapter개발 의존성
^0.6.1 - mockito개발 의존성
5.6.4 - freezed개발 의존성
^3.2.5 - json_serializable개발 의존성
^6.14.1 - hive_ce_generator개발 의존성
1.11.1
순위
원본 README
아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
README 펼치기 / 접기
Flutter App Auth 📱
codecov
LinkedIn
https://img.shields.io/badge/UpWork-6FDA44?logo=Upwork&logoColor=white
This app has Auth Functions like Login, Register, and Show pagination data.
Authentication uses LazyAuth, while the paginated Dashboard user list uses DummyJSON.
This app also implementing Flutter Clean Architecture with TDD.
https://github.com/user-attachments/assets/f994e992-9161-46c3-8f0b-cd582c56bea2
Pre-requisites 📐
| Technology | Recommended Version | Installation Guide |
|---|---|---|
| Flutter | v3.44.x | Flutter Official Docs |
| Dart | v3.12.x | Installed automatically with Flutter |
Get Started 🚀
- Clone this project
flutter pub get
- Run to generate localization files
flutter gen-l10n
- Run to generate freezes files
flutter pub run build_runner build --delete-conflicting-outputs
- Run for staging or
flutter run --flavor stg -t lib/main.dart --dart-define-from-file .env.stg.json
- Run for production
flutter run --flavor prd -t lib/main.dart --dart-define-from-file .env.prd.json
- Test Coverage, we ignore some folders and files which is not necessary to test coverage because it are generated file
- Note: on macOS, you need to have lcov installed on your system (
brew install lcov) to use this:
flutter test -j8 --coverage;lcov --remove coverage/lcov.info 'lib/core/localization/generated/' 'lib/core/resources/*' 'lib/utils/services/firebase/*' '**/*.g.dart' -o coverage/new_lcov.info ;genhtml coverage/new_lcov.info -o coverage/html
- To generate a launcher icon based on Flavor
dart run flutter_launcher_icons
- To generate native splash screen
dart run flutter_native_splash:create --flavors stg,prd
- To generate mock class
dart pub run build_runner build
Feature ✅
- [x] BLoC State Management
- [x] Clean Architecture with TDD
- [x] Unit Test
- [x] Widget Test
- [x] BLoC test
- [x] Theme Configuration:
System, Light, Dark - [x] Multi-Language:
English, Bahasa - [x] Login, Register Example
- [x] Pagination Example
- [x] Autofill Username and Password
- [x] Integration Test
- [x] Implement multi-flavor
- [x] Auto routing based on login status
- [x] Implement Go Router
TODO 📝
- [ ] Login with Biometric / FaceID
Maestro Test 🧪
- Install Maestro on your machine Maestro
- Run this command to run the test
maestro test maestro-stg/main.yaml #or maestro test maestro-prd/main.yaml
Architecture Proposal by Resocoder
architecture-proposal
💡Tips
- Flutter native splashscreen: The brand image in Android > 12 the frame size is 5:2, if the width is 500px, the height should be 500/2,5 = 200px
📜 GNU General Public License v3.0
Buy me coffee if you love my works ☕️
buymeacoffe ko-fi paypal saweria