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