Welcome to the Angular Authentication Application repository! This application provides a comprehensive solution for user authentication, including sign-in, sign-up, authentication guards, and password recovery functionalities.
View live preview here.
- Sign-in: Allow users to authenticate themselves with their credentials.
- Sign-up: Enable new users to create accounts securely.
- Authentication Guard: Protect routes that require authentication to access.
- Forgot Password: Provide a mechanism for users to reset their passwords if forgotten.
- Angular: Front-end framework for building dynamic and interactive user interfaces.
- Firebase: Backend-as-a-Service platform for user authentication and database storage.
- Angular Material: UI component library for Angular applications, providing pre-built UI components for a consistent design.
- RxJS: Reactive Extensions for JavaScript, used for handling asynchronous operations and data streams.
- Clone the repository to your local machine.
- Install dependencies using
npm install
. - Set up Firebase Authentication:
- Create a Firebase project on the Firebase Console.
- Enable Email/Password authentication method.
- Set up Firebase configuration in the Angular environment files (
environment.ts
andenvironment.prod.ts
).
- Run the development server using
ng serve
. - Access the application in your web browser at
http://localhost:4200
.
- src/app/components: Contains Angular components for the login, sign-up, and password reset forms.
- src/app/services: Contains Angular services for user authentication, HTTP requests, and Firebase integration.
- src/app/guards: Contains Angular guards for route protection based on user authentication status.
Contributions are welcome! If you'd like to contribute to the project, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with descriptive messages.
- Push your changes to your fork.
- Submit a pull request to the main repository.
This project is licensed under the MIT License - see the LICENSE file for details.