Skip to content
This repository has been archived by the owner on Oct 1, 2023. It is now read-only.

Se trata de uma API feita com Hapi criada para gerenciar alunos e funcionar como uma API gateway para o outro projeto desenvolvido no curso. Proposta como projeto de conclusão de Node solicitado pelo professor Gustavo no treinamento da Gama Academy.

License

Notifications You must be signed in to change notification settings

FatalErrors-team/gama-alunos-node

Repository files navigation

Gama Alunos Node

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.

Ferramentas

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:

Hapi (20.0.0)

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.

Hapi-Swagger (14.1.0)

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.

Joi (17.x)

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.

Como executar?

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).

Instale as dependências

gamaalunos@gamaalunos-pc:$ yarn install

Crie seu .env

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:

Execute o projeto

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.

Devs

Em outras palavras, os carinhas que vão ser contratados

João Victor

Joabe Chaves

Vinicius Antonio

About

Se trata de uma API feita com Hapi criada para gerenciar alunos e funcionar como uma API gateway para o outro projeto desenvolvido no curso. Proposta como projeto de conclusão de Node solicitado pelo professor Gustavo no treinamento da Gama Academy.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published