Flutter App Essentials Auth

Flutter App Essentials Auth is a comprehensive package that aims to accelerate app development by providing essential authentication features and utilities. It includes authentication management, API integration, exception handling, and more. With Flutter App Essentials, developers can jumpstart their projects and focus on building great user experiences.

Features

  • Auth Repository: A repository for managing user authentication, including sign-in, sign-up, password reset, and user profile management.
  • User Manager: A utility for managing user-related data and interactions, such as user preferences, profile updates, and access control.
  • Token Manager: A secure token management system for handling user authentication tokens and refreshing expired tokens.
  • API Layers: Abstracted layers for handling API requests and responses, including authentication headers and error handling.
  • Concise main.dart File: A streamlined main.dart file with boilerplate code, app initialization, and routing setup.
  • Authentication Logic: Pre-implemented authentication logic for handling login, registration, session management, and user state.
  • Exception Handler: A centralized exception handling mechanism for catching and handling errors in a unified way.
  • Snackbar Handler: A utility for displaying snackbars and toast messages, providing a consistent user feedback mechanism.

Installation

To use App Essentials Auth in your Flutter project, add the following dependency to your pubspec.yaml file:

dependencies:
  app_essentials_auth: ^1.0.0

Getting started

TODO: List prerequisites and provide or point to information on how to start using the package.

Usage


import 'package:flutter/material.dart';
import 'package:app_essentials/app_essentials.dart';

void main() {
  AppEssentials().main();
}

Contribution

Contributions are welcome! If you find any issues or have suggestions for improvement, please create a new issue or submit a pull request on the GitHub repository.

License

This project is licensed under the MIT License.

Libraries

app/data/config/api_constants
app_essentials_auth
app/routes/app_pages
app/data/config/asset_constants
core/interfaces/api_services/auth_api_service
core/interfaces/repositories/auth_repository
app/data/repositories/auth_repository
app/data/api_services/auth_service
app/data/model/change_password/change_password_request_model
app/modules/auth/create_password/bindings/create_password_binding
app/modules/auth/create_password/controllers/create_password_controller
app/modules/auth/create_password/views/create_password_view
app/modules/auth/forget_passsword/bindings/forget_passsword_binding
app/modules/auth/forget_passsword/controllers/forget_passsword_controller
app/modules/auth/forget_passsword/views/forget_passsword_view
app/modules/home/bindings/home_binding
app/modules/home/controllers/home_controller
app/modules/home/views/home_view
app/modules/auth/onboarding/bindings/onboarding_binding
app/modules/auth/onboarding/controllers/onboarding_controller
app/modules/auth/onboarding/views/onboarding_view
app/modules/auth/sign_up/controllers/post_sign_up_controller
app/modules/auth/sign_up/views/post_sign_up_view
app/data/model/resend_otp/resend_otp_request_model
app/data/model/reset_password/reset_pass_request_model
app/modules/auth/sign_in/bindings/sign_in_binding
app/modules/auth/sign_in/controllers/sign_in_controller
app/data/model/sign_up/sign_in_request_model
app/data/model/sign_in/sign_in_request_model
app/modules/auth/sign_in/views/sign_in_view
app/modules/auth/sign_up/bindings/sign_up_binding
app/modules/auth/sign_up/controllers/sign_up_controller
app/data/model/sign_up/sign_up_response_model
app/modules/auth/sign_up/views/sign_up_view
app/modules/splash/bindings/splash_binding
app/modules/splash/controllers/splash_controller
app/modules/splash/views/splash_view
app/modules/auth/verify_otp/bindings/verify_otp_binding
app/modules/auth/verify_otp/controllers/verify_otp_controller
app/data/model/verify_otp/verify_otp_request_model
app/data/model/verify_otp/verify_otp_response_model
app/modules/auth/verify_otp/views/verify_otp_view