Sobre • Funcionalidades • Como executar • Tecnologias • Contribuidores • Licença
📋 O Sistema de Inventário é uma ferramente criada como etapa de conclusão do curso Raro Academy, proporcionado pela RaroLabs.
A aplicação visa mitigar os problemas de controle dos equipamentos da empresa que são enviados a seus colaboradores para realizarem suas atividades laborais.
Com o sistema, a empresa poderá acompanhar agora quais equipamentos foram enviados para cada colaborador, o tempo de uso, o tempo para reposição, o tempo de retorno deste equipamento para manutenção na sede da empresa, entre outras informações.
O diagrama elaborado para realização desse projeto pode ser acessado através desse link A documentação da api pode ser encontrada no swagger neste link
-
O Administrador pode criar, atualizar,deletar um usuário do sistema:
-
O Usuário faz login no sistema e se autentica.
-
O Usuário pode criar, editar, atualizar e deletar um colaborador no banco de dados:
- cadastra nome do colaborador;
- cadastra e-mail (único);
- cadastra telefone (único);
- e o endereço que o colaborador deverá receber os equipamentos;
- a aplicação buscará, via api externa, os dados do CEP informado e retornará o endreço completo do colaborador;
-
O Usuário pode criar, atualizar um novo tipo de equipamento, que servirá como um rótulo e controle do equipamento:
- cadastra o tipo do equipamento;
- cadastra o seu modelo (único);
- cadastra os parametros desse tipo:
- cadastra o tempo medio de envio;
- cadastra o tempo medio de consumo;
- cadastra o tempo médio de resposição;
- cadastra a quantidade critica;
- um log automático de entrada é gerado na tabela de movimentação
- a quantidade critica é comparada a quantidade que vem como 0 por default, essa é acrescida a medida que se cria Equipamentos. Um API externa, Sendgrid, é responsavel por enviar um email a todos adminstradores caso a quantidade chegue a ser critica.
-
O Usuário pode criar, atualizar e deletar um novo equipamento:
- cadastra o lote: string;
- cadastra o descricao: string;
- cadastra o numero de serie(único);
- cadastra a data de aquisicao;
- cadastra o id do tipo de equipamento;
- um log automático de entrada é gerado na tabela de movimentação para esse equipamento e a quantidade do tipo Equipamento é acrescida em 1;
-
O Usuário pode deletar o equipamento
- um log automático de saida é gerado na tabela de movimentação para esse equipamento e a quantidade do tipo Equipamento é decrescida em 1;
-
O Usuário pode atribuir um equipamento a um colaborador
-
cadastra uma movimentacao de envio do usuario para colaborador, a quantidade do tipo Equipamento é decrescida em 1;
-
O Usuário pode receber um equipamento do colaborador
-
cadastra uma movimentacao de devolucao do usuario para colaborador, a quantidade do tipo Equipamento é acrescida em 1;
-
O Usuário pode criar, atualizar e remover uma movimentação
- filtra as movimentações por equipamento, por colaborador ou por tipo de movimentação
- movimentação pode ser atualizada com a data de chegada do Equipamento em caso de envio e devolução
Este projeto está implementado somente no Backend, no momento, rodando na pasta
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js. Além disto é bom ter um editor para trabalhar com o código como VSCode
# Clone este repositório
$ git clone git@github.com:Joaopdev/Inventario-Raro.git
# Vá para a pasta server
$ cd server
# Instale as dependências
$ npm install
# Execute a aplicação em modo de desenvolvimento
$ npm run dev
# O servidor inciará na porta:3000 - acesse http://localhost:3000
As seguintes ferramentas foram usadas na construção do projeto:
Server (NodeJS + TypeScript)
- Axios
- CORS
- dotENV
- Express
- Faker
- JWT
- MariaDB
- Morgan
- MySQL
- Node-Fetch
- Reflect-Metadata
- Sendgrid
- Ts-node
- TypeDi
- TypeOrm
Veja o arquivo package.json
-
API: VIA CEP API
-
API: Sendgrid
-
Teste de API: Insomnia
Este projeto esta sobe a licença MIT.
