O Simplauth é uma aplicação de autenticação que oferece login com e-mail e senha, bem como login social com Google e Apple. A aplicação inclui páginas de login, registro e perfil do usuário.
Design feito no Figma
- Login com E-mail e Senha:
- Formulário com campos de e-mail e senha.
- Validação de campos obrigatórios.
- Botão de login para autenticação.
- Opção para "Esqueci minha senha", redirecionando para recuperação de senha.
- Opção para "Registrar-se", redirecionando para cadastro na plataforma.
- Login com Google:
- Integração com OAuth 2.0 do Google para autenticação.
- Login com Apple:
- Integração com Sign in with Apple para autenticação.
- Mensagens de Erro:
- Exibição de mensagens para credenciais inválidas ou outros problemas durante o login.
- Formulário de Registro:
- Campos para e-mail, senha, confirmação de senha, nome, telefone e profissão do usuário.
- Validação de senha forte e correspondência de confirmação de senha.
- Botão para submeter o formulário e criar uma nova conta.
- Registro com Google:
- Integração com OAuth 2.0 do Google para registro.
- Registro com Apple:
- Integração com Sign in with Apple para registro.
- Verificação de E-mail:
- Envio de e-mail de verificação após o registro.
- Link de confirmação no e-mail para ativar a conta.
- Exibição de Dados do Usuário:
- Visualização do nome, e-mail, telefone, profissão e foto do perfil.
- Edição de Perfil:
- Opção para editar informações do perfil, como nome, telefone, profissão e foto.
- Alteração de senha com verificação da senha antiga.
- Logout:
- Botão de logout para encerrar a sessão do usuário.
- Segurança:
- Armazenamento de senhas usando hashing seguro (bcrypt).
- Implementação de autenticação JWT (JSON Web Token) para manter a sessão do usuário.
- Desempenho:
- Resposta rápida da API, garantindo a autenticação eficiente dos usuários.
- Usabilidade:
- Interface de usuário intuitiva e responsiva, adaptável a dispositivos móveis.
- Feedback claro para ações do usuário, como login, registro e edição de perfil.
- Manutenibilidade:
- Código bem organizado e documentado, facilitando futuras manutenções e atualizações.
- Escalabilidade:
- Estrutura preparada para aumento do número de usuários e requisições.
- TypeScript - Linguagem de Programação
- NestJS - Framework para Aplicações Backend Node.js
- Next.js - Framework React para Aplicações Web
- Sqlite - Banco de Dados Relacional
- Prisma - ORM para Node.js
- Tailwind CSS - Biblioteca de Estilização
- Framework: NestJS
- Autenticação: Passport.js com estratégias JWT, Google e Apple OAuth
- Banco de Dados: Sqlite com Prisma ORM
- Variáveis de Ambiente: Configuração com dotenv
- Sistema de Testes: Jest para testes unitários e E2E
- Validação de Dados: Class-validator e Zod
- Documentação: Swagger para documentação da API
- Hashing de Senhas: bcrypt para segurança de senhas
- Framework: Next.js
- Estilização: Tailwind CSS
- Autenticação: Redux
- Roteamento: Roteamento nativo do Next.js
- ORM: Prisma para manipulação de dados
- Migrations: Prisma Migrate para controle de versões do banco de dados