lazycatlabs/flutter_auth_app
帶有 TDD 洁淨架構的 Flutter 認證應用程式
- 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