LE06 - Login, Cadastro e Recuperação de Tzeets
Para cada dia em atraso será descontado 0.5 pontos da nota da atividade.
Descrição:
Nessa atividade nós finalmente vamos começar a interagir com o backend. O backend que iremos utilizar foi criado usando a ferramenta Strapi. Você não precisará alterar o código do backend, mas precisará executá-lo na sua máquina local. Para isso clone o repositório do backend encontrado no GitHub.
O backend já possui um usuário com tzeets no banco de dados. Para logar usando esse usuário use as seguintes informações:
| Login | Senha | Tipo de usuário |
|---|---|---|
| admin@mail.com | Admin123456 | Admin do Strapi |
| fulano@mail.com | 123456 | Usuário do Tzeeter |
Primeiramente a sua missão é implementar o login e proteger as URL que só podem ser acessadas por usuários logados.
Um usuário não logado, não pode ser acessar a página Home ou a página de Profile. No entanto, ele poderia acessar a página de login e de signup.
Quando um usuário conseguir logar, ele deve ser direcionado ao Home e nesse caso ele deve ser capaz de ver os seus Tzeets que estarão armazenados no banco de dados.
Ainda nessa atividade, devemos possibilitar que um novo usuário se increva no Tzeeter utilizando o formulário desenvolvido na ativiade anterior.
A seguir temos a lista de endpoints que serão necessários nessa atividade e a modelagem do banco de dados do Tzeeter.
| HTTP Method | URL | Descrição |
|---|---|---|
| POST | /auth/local/ | Autenticação |
| POST | /auth/register | Criação de um usuário |
| GET | /users/me | Recuperação do avatar |
| GET | /tzeets | Buscar tzeets de um usuário específico |

DICAS:
Confira o Swagger do nosso backend para descobrir o formato de requisição e de resposta refenrente a cada endpoint. Para isso abra o arquivo index.html contido na pasta Swagger.
- Para realizar o login é necessário enviar uma requisição POST para o endpoint
/auth/local/. Em caso de sucesso, um JSON que com as informações do usuário autenticado será enviado de volta.
- Atenção, este JSON não contém informaçõe de relacionamentos. Logo, ao logar, precisaremos de uma segunda requisção para recuperar: a lista de seguidores, a lista de quem estamos seguindo e a foto do usuário.
- Para recuperar todas as informações de um usuário, incluido a relações, uma requisção do tipo GET de deve ser enviada para o endpoint
/users/me. Aqui você precisá informar o campos que deseja popular.
⚠️ Executando o backend
Atenção
Depois de clonar o repositório do, precisamos adicionar algums chaves criptografadas (APP_KEYS) no arquivo de configuração
.env
Siga os seguintes passos:
- Copie o arquivo chamado
.env.examplee salve-o como.env - Gere as chaves através do comando
openssl rand -base64 16, cada execução gera uma chave. Gere quatro chaves pelo menos. - Copie essa chaves e atribua a variável
APP_KEYSseparando as chaves com vírgula -
Depois desses passos você poderá finalmente executar o Strapi. Para isso instale as dependências:
npm install # or yarn install -
Execute o backend:
npm run develop # or yarn develop