Skip to content

lazycatlabs/flutter_auth_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

We stand with Palestine


Flutter App Auth 📱

codecov

LinkedIn

This app has Auth Functions like Login, Register, and Show pagination data.

The API using apimock from lazycatlabs.


This app also implementing Flutter Clean Architecture with TDD.

maestro-record.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



Buy me coffee if you love my works ☕️

buymeacoffe      ko-fi      paypal saweria



About

Flutter auth app with TDD Clean Architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages