A ideia desse projeto é simular uma comunidade, onde todos os membros cadastrados podem consumir, criar, atualizar e deletar publicações de texto. Também por em pratica o fluxo de autenticação em APIs.
Importante!
- Leia a documentação da API para conhecer seus endpoints e como trabalhar em cada um deles.
-
Construa uma página de cadastro, com um formulário que receba esses dados:
{ "username": "username", // Um nome de usuário único de até 12 digitos. "email": "[email protected]", // Um e-mail único para cada usuário. "avatarUrl": "https://github.com/wence-.png", // O link de uma imagem para o avatar do usuário. "password": "123" // com, pelo menos: 6 dígitos, 1 letra maiúscula e 1 número. }
-
Construa uma página de login, com um formulário que recebe um email e uma senha. O usuário só poderá ser redirecionado a pagina principal do seu projeto se o login for bem sucedido, retornando um token e o id do usuário.
-
Construa uma pagina principal, onde o usuário autenticado pode escrever um post e ler todos os posts existentes na API.
-
O dono do post deverá ter a opção de atualizar ou deletar esse recurso. APENAS o dono pode modificar ou excluir, nenhum outro usuário deve conseguir fazer isso. Na API já existe uma validação para isso, mas garanta que essa funcionalidade fique intuitiva no front-end.
-
As páginas precisam estar separadas, cada uma estruturada em um arquivo HTML e com arquivos JS separados.
-
Faça a versão mobile da aplicação.
-
Aplique os conceitos de POO e Local Storage.
Aviso!
- Não esqueça que alguns endpoints necessitam de autenticação para a requisição ser bem sucedida, veja na documentação quais exigem isso.
- Caso tenha dúvidas, reveja as atividadas 'Manipulando Token'.
Faça o push do código para o seu repositório GitHub e implemente-o GitHub pages. Coloque seu repositório como Privado e adicione em Configurações > Colaboradores e Times o time team-m2-correcoes. No Canvas, por favor, envie sua url do GitHub Pages: (ex: https://nomedeusuario.github.io/oregon-trail-inheritance) e envie o link do seu repositório nos comentários.