Visão geral • Recursos • Começando • Abrindo a API • Banco de dados • Possíveis melhorias
Aplicação construída durante o evento NLW Together, promovido por Rocketseat. Esse projeto visa a demonstração da utilização de uma API da NLW Valoriza, com propósito de consolidar os conhecimentos de back-end com Node.js e Typescript. A aplicação consiste no gerenciamento de elogios de usuários, ou seja, um usuário logado no sistema poderá enviar mensagens de elogios uns aos outros. A única restrição é que somente usuários administradores que podem cadastrar as tags de cada elogio a ser feito por algum usuário.
1 - Clone o repositório
git clone https://github.com/VictorMello1993/NLW6.git
2 - Abra VS Code e abra a pasta NLW6 como pasta raíz do projeto
3 - Abra o terminal e instale todas as dependências do projeto
npm install
Em seguida, abrir o servidor digitando o comando abaixo:
npm run dev
Ou, se preferir, se tiver yarn
instalado, executar o comando abaixo para instalar as dependências:
yarn
Em seguida, para abrir o servidor, digitar o comando abaixo:
yarn dev
Para abrir todas as rotas da API, clique no botão abaixo e importe o workspace sugerido.
Caso não tenha Insomnia instalado, baixe aqui
Para visualizar todas as tabelas geradas pela aplicação, baixe o Beekeeper Studio, software de gerenciamento de banco de dados. Neste projeto utilizamos SQLite, então para abrir a conexão com o banco de dados, basta procurar pelo arquivo database.sqlite. Teste para verificar se a conexão ocorrerá com êxito, e então, clique em Connect.
Pronto, a conexão já está aberta, e poderá realizar as consultas.
- Implementar requisições de obter usuário e tag pelo id, e elogios enviados e recebidos pelos usuários pelo id
- Implementar requisições de obter elogios por usuário remetente, destinatário e pelo id da tag
- Refatorar as rotas deixando-as isoladas em módulos por entidade
- Trocar SQLite por outro banco de dados à escolha (MySQL, SQLServer, MongoDB, etc)
- Verificar a possibilidade de implementar validações da API utilizando bibliotecas de terceiros
- Criar uma classe personalizada para tratamento de exceções
- Incluir testes unitários e de integração com Jest