Gama-alunos-node é um projeto proposto pelo professor Gustavo Gondim como desafio final do curso de Node. Nele, deveríamos implementar um modelo de API de alunos baseado no projeto de Java também realizado no treinamento. A ideia é que além de conter as ações de um CRUD normal, o sistema ainda tivesse um relação direta com servidor Java. Assim funcionaria como uma API Gateway que permitiria persistência poliglota.
Como desenvolvedores, usamos o VsCode com os plugins do eslint, prettier e editorconfig com a finalidade de manter um código mais limpo e organizado para todos na equipe (É, Gustavo, eu sou fanático por um código lindo, ou melhor, limpo). Além disso, definimos entre nós algumas convenções que seriam adotadas tanto em código como nos commits.
No que se refere a questão de arquitetura do sistema utilizamos os seguintes módulos:
Nossa opção como servidor http, primordialmente por ter sido uma das tecnologias ensinadas no curso, mas também por ser um framework completo com um conjunto de plugins que resolve os problemas de maneira fácil.
Pacote utilizado para documentar os endpoints da API, assim como também definimos no projeto de Java. Serve, por exemplo, para guiar o usuário da API quais tipos de dados ele pode ou deve passar em cada request. Isso é extremamente relevante dentro do meio do Javascript que é uma linguagem de tipagem dinâmica e fraca que aceita qualquer argumento como parâmetro.
Usado para facilitar a validação dos objetos recebidos no body. Tem uma integração praticamente automática com o Swagger, então foi um dos pontos que ajudou muito no que se refere a documentar também.
Antes de tudo, você precisa ter o node instalado, é claro, e o yarn. Caso ainda não possua o yarn é só executar o comando: npm install yarn --global
. Após isso, verifique se a instalação ocorreu normalmente com yarn --version
. Se por algum motivo, as coisas não ocorreram bem, tente executar o comando como superusuário (root).
gamaalunos@gamaalunos-pc:$ yarn install
Basta criar um arquivo .env
na raiz do projeto. Você pode seguir o arquivo de exemplo (.env.example
) para configurar as variáveis necessárias:
gamaalunos@gamaalunos-pc:$ yarn start
Esse comando start chama um script definido no package que irá iniciar o servidor com o nodemon, não sendo preciso realizar o reboot do sistema a cada alteração.
João Victor |
Joabe Chaves |
Vinicius Antonio |