π https://alobuuls.github.io/angular-firebase-auth/
Note
An Angular 16 application that implements a complete authentication workflow using Firebase Authentication and AngularFire.
The project demonstrates user registration, login, password recovery, email verification, protected areas, centralized Firebase error handling, loading states, and modern Angular development practices.
Before running the project, make sure you have installed:
- π¦ Node.js:
v16.14.x β v18.x(recommended: v18.10.0 LTS) - π¦ npm:
v8+ π °οΈ Angular CLI:v16.x- π₯ Firebase Project
nvm install 18
nvm use 18Run the following commands in your terminal:
node -v
npm -v
ng versiongit clone git@github.com:alobuuls/angular-firebase-auth.git
cd angular-firebase-authnpm installCreate or update:
src/app/environments/environments.tsAdd your Firebase configuration:
export const environment = {
production: false,
firebase: {
apiKey: '',
authDomain: '',
projectId: '',
storageBucket: '',
messagingSenderId: '',
appId: '',
},
};Enable the following provider:
- Email / Password Authentication
From:
Firebase Console
β Authentication
β Sign-in method
Start the development server:
ng serveThen open:
http://localhost:4200
The application follows a component-based architecture with centralized Firebase error management and authentication workflows.
Responsible for:
- User registration
- User login
- Password recovery
- Email verification
- User interaction flows
Responsible for:
- Firebase error translation
- Error message centralization
- User-friendly notifications
Responsible for:
- Loading state visualization
- Reusable spinner implementation
- User feedback during requests
Responsible for:
- Authenticated user area
- Protected content
- Session management
- π User Login
- π User Registration
- π§ Email Verification
- π Password Recovery
- πͺ Logout Functionality
- π₯ Firebase Authentication Integration
- βοΈ Firebase Error Handling
- β³ Loading States
- π Reactive Forms
- β Angular Form Validations
- π Toastr Notifications
- π AngularFire Integration
| Technology | Purpose |
|---|---|
| Angular 16 | Front-End Framework |
| TypeScript | Application Logic |
| Firebase Authentication | User Authentication |
| AngularFire | Firebase Integration |
| Reactive Forms | Form Management |
| Angular Router | Navigation |
| ngx-toastr | Notifications |
| RxJS | Reactive Programming |
angular-firebase-auth/
βββ src/
β
βββ app/
β βββ components/
β β βββ login/
β β βββ register/
β β βββ password-recover/
β β βββ verify-email/
β β βββ dashboard/
β β
β βββ services/
β β βββ firebase-code-error.service.ts
β β
β βββ shared-loading/
β β βββ shared-loading.component.ts
β β βββ shared-loading.component.html
β β
β βββ utils/
β β βββ firebase-code-error.ts
β β
β βββ environments/
β β βββ environments.ts
β β βββ environments.prod.ts
β β
β βββ app-routing.module.ts
β βββ app.component.ts
β βββ app.module.ts
β
βββ firebase.json
βββ angular.json
βββ package.json
βββ README.md
- Reactive Forms
- Separation of Concerns
- Centralized Error Handling
- Reusable Components
- Service-based Architecture
- Environment Configuration
- Loading State Management
- Strong Typing with TypeScript
- Modular Project Structure
- Firebase Integration Best Practices
Practice and strengthen Angular authentication concepts through the implementation of a real-world Firebase Authentication workflow.
Key concepts covered:
- Firebase Authentication
- AngularFire
- Reactive Forms
- Password Recovery
- Email Verification
- Error Handling
- Loading States
- Notifications
- TypeScript Best Practices
- Front-End Architecture
This project is intended for educational and portfolio purposes.
Created by Alondra Francisco.