💡 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
email
esenha
que 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
email
esenha
. - 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á
autenticado
eautorizado
para 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
light
paradark
para 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.