Desenvolvimento de aplicações completas, incluindo frontend Web com React e backend com node.js.
O LaBook será uma rede social com o objetivo de promover a conexão e interação entre seus mais diversos usuários. Os usuários podem criar posts de dois tipos ("evento" ou "normal), comentá-los e curti-los também. O desenvolvedor do frontend acha que é bastante experiente; dessa forma, já preparou uma lista de todos os endpoints que serão necessários para o projeto:
-
- Cadastrar
-
- Logar
-
- Fazer amizade
-
- Desfazer Amizade
-
- Criar post
-
- Ver todo o Feed
-
- Ver apenas um tipo de post do Feed
Desafios:
-
- Curtir Post Essa requisição deve receber somente o id do post e retornar uma mensagem de sucesso ou erro. Lembre-se de que um usuário não pode curtir o mesmo post duas vezes.
-
- Descurtir Post Essa requisição deve receber somente o id do post e retornar uma mensagem de sucesso ou erro. Lembre-se de que um usuário não pode descurtir um post que não tenha curtido
-
- Comentar Post Recebendo o id do post e mensagem do comentário, o endpoint deve funcionar sem problemas. Um usuário pode, se quiser, comentar mais de uma vez o mesmo post.
-
- Implemente a funcionalidade que permita que o token de autenticação seja atualizado Também conhecido como "Refresh Token", você deve implementar um endpoint que permita que o Frontend autalize o "acess token", caso este expire
Para executar o projeto, será necessário instalar os seguintes programas:
Para iniciar o desenvolvimento, é necessário clonar o projeto do GitHub num diretório de sua preferência:
cd "Pasta do arquivo" git clone https://github.com/marinaisabels/backend-project.git
Para configurar o arquivo, é preciso instalar as depêndencias
- Node e Typesript
npm initnpm install typscript @types/node ts-node-dev - Banco de dados
npm install knex mysql @types/knex dotenv - Express
npm install express@4.17.0 @types/express@4.17.0 - UUID
npm install uuid @types/uuid - JWT
npm install jsonwebtoken @types/jsonwebtoken
As instruções são:
npm installpara instalar todas as dependências;npm run startpara rodar localmente o projetonpm run buildpara gerar uma versão possível de ser deployada com os arquivos transpilados para Javascript
Esse é um projeto de Backend feito utilizando NodeJS, Express, Typescript e MySQL. Além disso, ele segue uma arquitetura baseada em MVC, com 3 camadas simples:
- Controller: responsável pela comunicação com agentes externos (como o Frontend)
- Model: responsável pela representação das nossas entidades
- Business: responsável pela lógica de negócio
