
🚀 https://auth-form-next-js.vercel.app 🚀
Essa é uma aplicação FullStack com formulários seguros para o cadastro, login de usuários e envio de emails, desenvolvida utilizando o framework NextJS 13 e integrando com APIs de um backend próprio.
👤 Cauã Soares
💼 https://www.linkedin.com/in/ocauasoares
-
API para as funcionalidades de cadastro, login e autenticação de usuários
🔒 https://github.com/ocsoares/Auth-Form-NextJS-API -
API para a funcionalidade de enviar email
📧 https://github.com/ocsoares/Send-Email-Microservice-RabbitMQ
Esse projeto foi desenvolvido para utilizar formulários seguros para a autenticação de usuários e envio de emails, integrando com APIs robustas e aplicando a segurança com JWT (JSON Web Token).
- TypeScript
- NextJS
- MaterialUI
- Next Auth
- Zod
- React Hook Form
- Lodash
- JWT
- Clean Code
- SOLID
- Clean Architecture
- Integração com APIs desenvolvidas especificamente para esse projeto
- Formulários para cadastro, login de usuários e envio de emails, protegendo e validando a entrada desses formulários com a biblioteca Zod
- Mostra os erros nos campos do formulário para o usuário
- Prevenção de ataques Brute Force
- Opção de login social com contas do Google e do GitHub, utilizando autorização OAuth 2.0
- Opção de "Lembrar-me" que oferece um JWT com tempo de expiração maior para a sessão do usuário durar mais tempo
- Autenticação e proteção da rota de enviar email apenas para usuários logados
- Fornecimento e checagem de JWT para o usuário logado, para todas as opções de login disponível
- Alertas personalizados
Pré-requisitos: Typescript e NodeJS
# clonar o repositório
git clone https://github.com/ocsoares/Auth-Form-NextJS/
# instalar as bibliotecas
npm install
# criar um arquivo .env.local na pasta raiz do projeto
# configurar esse .env.local baseado no arquivo .env.example
# transpilar os arquivos do projeto para .js
npm run build
# executar o projeto
npm start