Skip to content

Latest commit

 

History

95 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

We stand with Palestine


Flutter App Auth 📱

codecov

LinkedIn

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.

maestro-recording.mp4

Pre-requisites 📐

Technology Recommended Version Installation Guide
Flutter v3.24.x Flutter Official Docs
Dart v3.5.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 ✅

  • BLoC State Management
  • Clean Architecture with TDD
    • Unit Test
    • Widget Test
    • BLoC test
  • Theme Configuration: System, Light, Dark
  • Multi-Language: English, Bahasa
  • Login, Register Example
  • Pagination Example
  • Autofill Username and Password
  • Integration Test
  • Implement multi-flavor
  • Auto routing based on login status
  • 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



About

Flutter auth app with TDD Clean Architecture

Resources

Stars

270 stars

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages