# Flutter - Authentication BLoC
Authentication Bloc for Flutter. ## Features - Wyatt Architecture - Entities: - Account : AccountModel -> Contains account information from provider - AccountWrapper : AccountWrapperModel -> Contains account and extra data. - Data Sources: - Local: - Cached Authentication Data : AuthenticationCacheDataSourceImpl -> Provides a cache implementation - Remote: - Remote Authentication Data : AuthenticationFirebaseDataSourceImpl -> Provides a proxy to FirebaseAuth - Repositories: - AuthenticationRepository : AuthenticationRepositoryImpl -> Provides all authentication methods - Features: - Authentication: - AuthenticationBuilder : widget to build reactive view from authentication state - AuthenticationCubit : tracks every auth changes, have sign out capability. - SignUp: - SignUpCubit: implementation of a FormDataCubit from `wyatt_form_bloc` for the sign up - SignIn: - SignUpCubit: implementation of a FormDataCubit from `wyatt_form_bloc` for the sign in - Consistent * Every class have same naming convention - Tested ## Getting started Simply add `wyatt_authentication_bloc` in `pubspec.yaml`, then ```dart import 'package:wyatt_authentication_bloc/wyatt_authentication_bloc.dart'; ``` ## Usage // TODO