https://github.com/natsalete/firebase-auth
A modern Android app that implements a complete user authentication system using Firebase Authentication. The app supports registration and login with email/password, as well as Google login, following Android development best practices.
https://github.com/natsalete/firebase-auth
android android-application android-studio authentication email-authentication firebase firebase-auth google-signin kotlin material-design mobile-app mobile-development oauth
Last synced: 4 months ago
JSON representation
A modern Android app that implements a complete user authentication system using Firebase Authentication. The app supports registration and login with email/password, as well as Google login, following Android development best practices.
- Host: GitHub
- URL: https://github.com/natsalete/firebase-auth
- Owner: natsalete
- License: mit
- Created: 2025-09-21T04:12:33.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-09-21T04:51:00.000Z (4 months ago)
- Last Synced: 2025-09-21T06:18:35.893Z (4 months ago)
- Topics: android, android-application, android-studio, authentication, email-authentication, firebase, firebase-auth, google-signin, kotlin, material-design, mobile-app, mobile-development, oauth
- Language: Kotlin
- Homepage:
- Size: 120 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
🇧🇷 Versão em Português
# Firebase Authentication App





Um aplicativo Android moderno que implementa um sistema completo de autenticação de usuários utilizando Firebase Authentication. O app suporta registro e login com email/senha, além de login com Google, seguindo as melhores práticas de desenvolvimento Android.
## ✨ Funcionalidades
- **📧 Autenticação com Email/Senha**: Registro e login tradicional
- **🔐 Login com Google**: Integração com Google Sign-In
- **👤 Gerenciamento de Usuário**: Exibição de informações do usuário
- **🔒 Sessão Persistente**: Mantém o usuário logado entre sessões
- **📱 Interface Moderna**: Design seguindo Material Design Guidelines
- **⚡ Feedback em Tempo Real**: Validação de formulários e mensagens de erro
- **📨 Verificação de Email**: Envio automático de email de verificação
## 🛠️ Tecnologias Utilizadas
- **Kotlin** - Linguagem de programação principal
- **Android SDK** - Framework de desenvolvimento Android
- **Firebase Authentication** - Serviço de autenticação
- **Firebase Analytics** - Análise de uso do app
- **Google Play Services** - Para login com Google
- **Material Design Components** - Componentes de UI modernos
- **View Binding** - Binding seguro de views
- **Vector Drawables** - Ícones vetoriais escalonáveis
## 📋 Pré-requisitos
- Android Studio Arctic Fox ou superior
- JDK 8 ou superior
- Android API Level 21 (Android 5.0) ou superior
- Conta no Firebase Console
- Conta no Google Cloud Console (para login com Google)
## 🚀 Configuração do Projeto
### 1. Clonar o Repositório
```bash
git clone https://github.com/natsalete/Firebase-Auth.git
cd firebase-auth-app
```
### 2. Configurar Firebase
1. Acesse o [Firebase Console](https://console.firebase.google.com/)
2. Crie um novo projeto ou selecione um existente
3. Adicione um app Android ao projeto
4. Registre o app com o package name: `com.example.firebaseauth`
5. Baixe o arquivo `google-services.json`
6. Coloque o arquivo na pasta `app/` do projeto
### 3. Habilitar Métodos de Autenticação
No Firebase Console:
1. Vá para **Authentication** > **Sign-in method**
2. Habilite **Email/Password**
3. Habilite **Google** (configure o support email)
### 4. Configurar Google Sign-In
1. No [Google Cloud Console](https://console.cloud.google.com/):
- Vá para **APIs & Services** > **Credentials**
- Crie credenciais OAuth 2.0 para Android
- Use o SHA-1 do seu keystore de debug
2. Para obter o SHA-1 de debug:
```bash
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
```
## 🔧 Instalação
1. Abra o projeto no Android Studio
2. Sync o projeto com Gradle Files
3. Configure o arquivo `google-services.json` (veja seção de configuração)
4. Execute o app no emulador ou dispositivo físico
## 🎯 Como Usar
### Primeiro Uso
1. Execute o aplicativo
2. Tela de login será exibida
3. Toque em "Cadastre-se" para criar uma nova conta
4. Preencha email e senha (mínimo 6 caracteres)
5. Confirme a senha
6. Toque em "Criar Conta"
### Login
1. Na tela de login, insira email e senha
2. Toque em "Entrar" ou
3. Use "Entrar com Google" para login social
### Tela Principal
- Exibe informações do usuário logado
- Mostra status de verificação do email
- Botão de logout disponível
## 🛡️ Segurança
- **Validação de Entrada**: Todos os campos são validados
- **Senhas Seguras**: Mínimo de 6 caracteres obrigatório
- **Autenticação Firebase**: Gerenciamento seguro de credenciais
- **Verificação de Email**: Confirmação de email opcional
- **Logout Completo**: Limpa sessões do Firebase e Google
## 🎨 Design
O aplicativo segue as diretrizes do Material Design:
- **Cores Consistentes**: Paleta de cores harmoniosa
- **Typography**: Hierarquia visual clara
- **Componentes**: TextInputLayout, MaterialButton, MaterialCardView
- **Ícones**: Vector drawables adaptativos
- **Feedback Visual**: Estados de loading e erro
## 📱 Capturas de Tela
## 🚀 Funcionalidades Futuras
- [ ] Reset de senha
- [ ] Login com Facebook
- [ ] Perfil de usuário editável
- [ ] Tema escuro
- [ ] Biometria
- [ ] Multi-idiomas
## 🤝 Contribuindo
1. Fork o projeto
2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
3. Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
4. Push para a branch (`git push origin feature/AmazingFeature`)
5. Abra um Pull Request
## 📄 Licença
Este projeto está sob a licença MIT. Veja o arquivo [LICENSE](LICENSE) para detalhes.
## 👨💻 Autor
**Seu Nome**
- GitHub: [@natsalete](https://github.com/natsalete)
- LinkedIn: [Natalia Salete](https://www.linkedin.com/in/natalia-salete-rodrigues/)
- Email: natsalete20@gmail.com
## 🙏 Agradecimentos
- Firebase Team pelo excelente serviço de autenticação
- Material Design Team pelas diretrizes de UI
- Android Developers Community
---
⭐ Se este projeto foi útil, considere dar uma star no repositório!
## 📚 Recursos Adicionais
- [Documentação Firebase Auth](https://firebase.google.com/docs/auth)
- [Material Design Guidelines](https://material.io/design)
- [Android Developer Guides](https://developer.android.com/guide)
# Firebase Authentication App





A modern Android app that implements a complete user authentication system using Firebase Authentication. The app supports registration and login with email/password, as well as Google login, following Android development best practices.
## ✨ Features
- **📧 Email/Password Authentication**: Traditional registration and login
- **🔐 Google Login**: Integration with Google Sign-In
- **👤 User Management**: Display user information
- **🔒 Persistent Session**: Keeps the user logged in between sessions
- **📱 Modern Interface**: Design following Material Design Guidelines
- **⚡ Real-Time Feedback**: Form validation and error messages
- **📨 Email Verification**: Automatically sends verification emails
## 🛠️ Technologies Used
- **Kotlin** - Core programming language
- **Android SDK** - Android development framework
- **Firebase Authentication** - Authentication service
- **Firebase Analytics** - App usage analytics
- **Google Play Services** - For Google login
- **Material Design Components** - Modern UI components
- **View Binding** - Secure view binding
- **Vector Drawables** - Scalable vector icons
## 📋 Prerequisites
- Android Studio Arctic Fox or higher
- JDK 8 or higher
- Android API Level 21 (Android 5.0) or higher
- Firebase Console account
- Google Cloud Console account (for Google login)
## 🚀 Project Setup
### 1. Clone the Repository
```bash
git clone https://github.com/natsalete/Firebase-Auth.git
cd firebase-auth-app
```
### 2. Configure Firebase
1. Access the [Firebase Console](https://console.firebase.google.com/)
2. Create a new project or select an existing one
3. Add an Android app to the project
4. Register the app with the package name: `com.example.firebaseauth`
5. Download the file `google-services.json`
6. Place the file in the project's `app/` folder
### 3. Enable Authentication Methods
In the Firebase Console:
1. Go to **Authentication** > **Sign-in method**
2. Enable **Email/Password**
3. Enable **Google** (configure the email support)
### 4. Configure Google Sign-In
1. In the [Google Cloud Console](https://console.cloud.google.com/):
- Go to **APIs & Services** > **Credentials**
- Create OAuth 2.0 credentials for Android
- Use the SHA-1 from your debug keystore
2. To get the debug SHA-1:
```bash
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
```
## 🔧 Installation
1. Open the project in Android Studio
2. Sync the project with Gradle Files
3. Configure the `google-services.json` file (see configuration section)
4. Run the app on the emulator or physical device
## 🎯 How to Use
### First Time
1. Run the app
2. The login screen will appear
3. Tap "Sign Up" to create a new account
4. Enter your email address and password (minimum 6 characters)
5. Confirm your password
6. Tap "Create Account"
### Login
1. On the login screen, enter your email address and password
2. Tap "Sign In" or
3. Use "Sign In with Google" for social login
### Main Screen
- Displays logged-in user information
- Shows email verification status
- Logout button available
## 🛡️ Security
- **Input Validation**: All fields are validated
- **Secure Passwords**: Minimum 6 characters required
- **Firebase Authentication**: Secure credential management
- **Email Verification**: Optional email confirmation
- **Full Logout**: Clears Firebase and Google sessions
## 🎨 Design
The app follows Material Design guidelines:
- **Consistent Colors**: Harmonious color palette
- **Typography**: Clear visual hierarchy
- **Components**: TextInputLayout, MaterialButton, MaterialCardView
- **Icons**: Adaptive vector drawables
- **Visual Feedback**: Loading and error states
## 📱 Screenshots