💡 Aplicação de autenticação segura baseada em tokens JWT (JSON Web Tokens) que oferece uma experiência de login fluida e segura para os usuários.
- Screenshots
- Como Usar
- Instalação
- Fluxos do Sistema
- Tecnologias Utilizadas
- Contribuição
- Autor
- Licença
| Tela de Login | Tela de Boas Vindas | 
|---|---|
|  |  | 
| Visualize o Layout no Figma | Visualize o Layout no Figma | 
- Acesse a aplicação, no seu ambiente, e insira o emailesenhaque disponibilizei para testar o funcionamento do sistema.
email: [email protected]
password: 123456
Clique em entrar e pronto :)
- 
Clone o repositório para sua máquina local usando o seguinte comando: git clone https://github.com/matheusgomesdevelop/nextjs-auth-jwt.git 
- 
Navegue até o diretório do projeto: cd nextjs-auth-jwt 
- 
Crie um arquivo .env na raiz do projeto e configure a variavel de ambiente com a URL da API. - NEXT_PUBLIC_STRAPI_API_URL=https://nextjs-auth-jwt-backend-new.onrender.com/api
 
- 
Inicie um servidor local para visualizar o portfólio. yarn dev ou yarn start 
- 
Abra o navegador e visualize o portfolio na porta 3000 🎉 
Entenda algumas características por trás do funcionamento do sistema.
- O usuário acessa o sistema e informa o emailesenha.
- O sistema valida se as informações correspondem aos padrôes de validação.
- Se os dados estiverem incorretos, o sistema informa o usuário para corrigi-los.
- Se os dados estiverem corretos, o sistema informa o usuário do sucesso, e é feito o login.
Algumas validações importantes do sistema:
- O sistema valida se o usuário está autenticadoeautorizadopara acessar páginas internas.
- Caso não esteja autenticado e autorizado, o sistema informa o usuário e o redireciona para a página de 401, e pede que ele faça o login.
- Por padrão, o usuario é autenticado no sessionStorage, e caso ele feche o browser ele terá que logar novamente.
- O usuário tem a opção de manter_logado, que faz com que ele não precise se logar novamente.
- manter_logado, armazena o token do usuário no localStorage de no cookie, até que a duração do token expire.
- Obs: na minha regra de negócio coloquei para expirar o token em 365 dias, adapte para o seu cenário !
- Caso o usuario esteja na opção manter_logado, quando ele acessar o sistema, ele automaticamente será redirecionado para a tela principal, sem precisar informar o email e password novamente.
- O usuário poderá mudar a cor do tema, de lightparadarkpara facilitar a visualização do sistema e não forçar os olhos.
- Figma
- Untitled UI
- Clean Code
- Clean Architecture
- BDD/TDD
- Atomic Design
- Arquitetura Hexagonal
- BEM
- REST API
- JWT
- React.js
- Formik
- yup
- PrimeReact
- HTML5
- CSS3
- TypeScript
- Next.js 13
- Git/Github
- Jest e React Testing Library
- Vercel
- Render
- Jira
- Confluence
Sinta-se a vontade para contribuir enviando um pull request.
MIT License.