LE07 - Login e Recuperação de Tzeets

Prazo: 11/12/2022 Para cada dia em atraso será descontado 0.5 pontos da nota da atividade.

Envio:

Enviar, através do formulário, o link para o repositório no github com a implementação da atividade descrita a seguir.

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.

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
GET /users/me Recuperação do avatar
GET /tzeets Buscar tzeets de um usuário específico

Modelagem do banco da lista 07

DICAS:

  • 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. Para mais detalhes, consulte a documentação do strapi

⚠️ Executando o backend

Depois de clonar o repositório do, precisamos adicionar algums chaves criptografadas (APP_KEYS) no arquivo de configuração .env

Siga os seguintes passos:

  1. Copie o arquivo chamado .env.example e salve-o como .env
  2. Gere as chaves através do comando openssl rand -base64 16, cada execução gera uma chave. Gere quatro chaves pelo menos.
  3. Copie essa chaves e atribua a variável APP_KEYS separando as chaves com vírgula
  4. Depois desses passos você poderá finalmente executar o Strapi. Para isso instale as dependências:

     npm install
     # or 
     yarn install
    
  5. Execute o backend:

     npm run develop
     # or
     yarn develop