Essa API Rest desenvolvida em Nest.js é responsável por gerenciar dispositivos IoT, permitindo a criação, leitura, atualização e remoção de dispositivos. Além disso, a API implementa um Websocket para emitir uma mensagem toda vez que um dispositivo for criado ou atualizado.
Os testes foram desenvolvidos utilizando o framework Jest e as validações com a biblioteca Joi. A API foi containerizada utilizando Docker, e o banco de dados utilizado foi o MongoDB com a biblioteca Mongoose.
- Nest.js - Framework para desenvolvimento de aplicações em Node.js.
- Mongoose - ODM para o banco de dados MongoDB.
- Jest - Biblioteca de testes em JavaScript.
- Docker - Plataforma para desenvolvimento, envio e execução de aplicações.
- Websocket - Protocolo que permite persistir conexões TCP entre o servidor e o cliente.
- Joi - Biblioteca para validação de dados.
Para rodar a API, você precisará ter o Docker instalado na sua máquina. Se preferir, também é possível rodar a aplicação sem ele, basta seguir as instruções na seção "Rodando sem Docker".
- Clone o repositório:
https://github.com/dev-luizf/device-manager.git
- Entre na pasta do projeto:
cd device-manager
- Crie um arquivo
.env
na raiz do projeto com as seguintes variáveis::
MONGO_URI="mongodb://localhost:27017/device-manager"
- Rode o Docker Compose:
npm run compose:up
- Acesse a API em
http://localhost:3001
.
Se você preferir não utilizar o Docker, siga as instruções abaixo.
- Clone o repositório:
https://github.com/dev-luizf/device-manager.git
- Entre na pasta do projeto:
cd device-manager
- Instale as dependências:
npm install
- Crie um arquivo
.env
na raiz do projeto com as seguintes variáveis:
MONGO_URI="mongodb://localhost:27017/device-manager"
- Inicie o servidor:
npm run start:dev
- Acesse a API em
http://localhost:3001
.
Retorna a lista de todos os dispositivos.
Retorna as informações de um dispositivo específico.
Cria um novo dispositivo.
Atualiza as informações de um dispositivo existente.
Exclui um dispositivo existente.
A API possui testes unitários escritos com a biblioteca Jest. Para roda-los, execute o seguinte comando:
npm run test