Skip to content

jeancarloshs/apiProvisionamento

Repository files navigation

apiProvisionamento

Essa API foi desenvolvida para utilizar com o sistema de provisionamento, utilizando Node.js.

Funcionalidades

  • Create
  • Read
  • Update
  • Delete

Variáveis de Ambiente

Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env

SUPABASE_URL = DATABASE URL

SUPABASE_HOSTNAME = postgres

SUPABASE_DBUSER = postgres

SUPABASE_PASSWORD = DATABASE PASSWORD

SUPABASE_PORT = DATABASE PORT

SECRET = JWT SECRET

Rodando localmente

Clone o projeto

  git clone https://github.com/jeancarloshs/apiProvisionamento.git

Entre no diretório do projeto

  cd apiProvisionamento

Instale as dependências

  npm install

Inicie o servidor

  npm run dev

URL para testes

  127.0.0.1:3000

Documentação da API

Autenticar na API para trazer o token

  POST /login
Parâmetro Tipo Descrição
email string Obrigatório. O EMAIL do usuario para autenticar
password string Obrigatório. O PASSWORD do usuario para autenticar

Para fazer qualquer consulta na API precisa passar o Token Bearer

Parâmetro Tipo Descrição
token string Obrigatório. A chave da sua API

Retorna todos os Usuarios

  GET /listaUsuarios

Retorna um Usuario

  GET /listaUsuario/:id
Parâmetro Tipo Descrição
id string Obrigatório. O ID do item que você quer

Retorna todos os Clientes

  GET /listaClientes

Pesquisa um Cliente

  GET /buscaCliente
Parâmetro Tipo Descrição
nomeCliente string Obrigatório. O nomeCliente que você quer pesquisar

Pesquisa pelos serviços do Tecnico de Rua

  GET /buscaServicoTecnico
Parâmetro Tipo Descrição
tecnicoRua string Obrigatório. O tecnicoRua que você quer pesquisar os serviços realizados

Pesquisa pelos serviços do Tecnico de Interno

  GET /buscaServicoSuporte
Parâmetro Tipo Descrição
tecnicoSup string Obrigatório. O tecnicoSup que você quer pesquisar os serviços realizados

Pesquisa o historico de instalação do Equipamento pelo numero de serie

  GET /buscaSerialNumber/:id
Parâmetro Tipo Descrição
id string Obrigatório. O ID do item que você quer

Pesquisa o historico de instalação do Equipamento pelo patrimonio

  GET /buscaPatrimonio/:id
Parâmetro Tipo Descrição
id string Obrigatório. O ID do item que você quer

Pesquisa o historico de instalação do Equipamento pelo patrimonio

  GET /buscaTipoDeServico
Parâmetro Tipo Descrição
tipoDeAtivacao string Obrigatório. O tipoDeAtivacao que você quer

Retorna a lista de arquivos salvas no DB

  GET /listaArquivos

Retorna todos os Serviços

  GET /listaServicos

Salva no DB o Provisionamento do cliente

  POST /provisionaClientes
Parâmetro Tipo Descrição
nomeCliente string Obrigatório. O nomeCliente que você quer
enderecoCliente string Obrigatório. O enderecoCliente que você quer
tecnicoRua string Obrigatório. O tecnicoRua que você quer
numeroDeSerie string Obrigatório. O numeroDeSerie que você quer
posicionamento string Obrigatório. O posicionamento que você quer
tecnicoSup string Obrigatório. O tecnicoSup que você quer
tipoDeServico string Obrigatório. O tipoDeServico que você quer

Cadastra um novo usuario no DB

  POST /inserirUsuario
Parâmetro Tipo Descrição
nomeFuncionario string Obrigatório. O nomeFuncionario que você quer
cargoFuncionario string Obrigatório. O cargoFuncionario que você quer
emailFuncionario string Obrigatório. O emailFuncionario que você quer
senhaFuncionario string Obrigatório. O senhaFuncionario que você quer
admin bool Obrigatório. O admin que você quer
permissaoDoColaborador string Obrigatório. O permissaoDoColaborador que você quer
status int Obrigatório. O status que você quer

Atualiza um Usuario no DB

  POST /atualizarUsuario/:id
Parâmetro Tipo Descrição
nomeFuncionario string Obrigatório. O nomeFuncionario que você quer
cargoFuncionario string Obrigatório. O cargoFuncionario que você quer
emailFuncionario string Obrigatório. O emailFuncionario que você quer
senhaFuncionario string Obrigatório. O senhaFuncionario que você quer
admin bool Obrigatório. O admin que você quer
permissaoDoColaborador string Obrigatório. O permissaoDoColaborador que você quer
status int Obrigatório. O status que você quer

Cadastra um novo Serviço no DB

  POST /criarTipoDeServico
Parâmetro Tipo Descrição
tipoDeServico string Obrigatório. O tipoDeServico que você quer

Atualiza um Serviço no DB

  POST /atualizaTipoDeServico/:id
Parâmetro Tipo Descrição
tipoDeServico string Obrigatório. O tipoDeServico que você quer

Cadastra um novo Arquivo no DB

  POST /inserirArquivo
Parâmetro Tipo Descrição
nomeArquivo string Obrigatório. O nomeArquivo que você quer
urlArquivo string Obrigatório. O urlArquivo que você quer

Atualiza um Arquivo no DB

  POST /atualizarArquivo/:id
Parâmetro Tipo Descrição
nomeArquivo string Obrigatório. O nomeArquivo que você quer
urlArquivo string Obrigatório. O urlArquivo que você quer

Remove um Cliente no DB

  DELETE /removeCliente/:id

Remove um Usuario no DB

  DELETE /deletarUsuario/:id

Remove um Serviço no DB

  DELETE /deletarTipoDeServico/:id

Remove um Arquivo no DB

  DELETE /deletarArquivo/:id

Stack utilizada

Front-end: React, NextJS, TailwindCSS

Back-end: Node, Express, Sequelize

Aprendizados

O que você aprendeu construindo esse projeto? Quais desafios você enfrentou e como você superou-os?

Esse projeto foi a segunda API em Node.JS que criei do zero, utilizei um pouco da base do primeiro projeto para iniciar este, porem inseri novas funcionalidades, como por exemplo o JWT e esse projeto está sendo utilizado no dia-a-dia pela equipe da empresa, então sempre que precisa de alguma funcionalidade nova ou correção o pessoal me aciona para poder atender a necessidade.

Melhorias

Que melhorias você fez no seu código? Ex: refatorações, melhorias de performance, acessibilidade, etc

Além das refatorações, estou pensando em fazer a integração com a OLT da Nokia, para que a equipe não precise ficar acessando o equipamento toda vez que for ativar algum cliente

Usado por

Esse projeto é usado pelas seguintes empresas:

  • Naxos Telecom Comercio E Servicos Eireli

Autores

🔗 Links

linkedin

Licença

MIT