This project is a comprehensive test of the Firebase Authentication features. the most used features provided by Firebase auth have been implemented and tested. The objective of this project is to demonstrate how to use each of these features in a real application.
- User Registration: Allows users to sign up using their email address and a password.
- User Login: Allows users to authenticate using their email address and a password.
- Password Recovery: Allows users to reset their password via a recovery email.
- User Profile Update: Allows users to update their profile information, such as name and profile picture.
- Session Management: Maintains and destroys user sessions.
This project has been built using the Flux architecture, a design pattern that makes it easier to manage data flow in front-end applications. Flux helps maintain a predictable and unidirectional data flow, which is essential for developing complex and scalable applications.
This project also incorporates the following technologies:
- State Management: Utilizes @reduxjs/toolkit for efficient and scalable state management.
- Navigation: Employs react-navigation for handling navigation within the application.
- Form Validation: Uses react-hook-form to validate and manage form inputs effectively.
- Unit Test: For unit testing this project use
testing-library/react-native
- Node.js >= 18
- Firebase CLI
- A Firebase account