Instalação
Desenvolvimento
API
Para desenvolver esta aplicação, baixe este repositório usando o comando:
git clone https://github.com/puzzle-technical/puzzle-service-api.git
Depois disto, entre no diretório e instale as dependências com o comando:
npm install
Para iniciar um servidor com Node.js e testar a aplicação, use o comando:
npm start
Este comando é um script que inicia o servidor com o arquivo "server.js" como ponto de entrada.
Para utilizar a api, é necessário usar as rotas disponíveis. Abaixo estão as rotas disponíveis para cada classe.
Param | Tipo | Required | Descrição |
---|---|---|---|
idUser | int | (automático) | id do usuário |
cpf | int | true | cpf do usuário |
tipoUser [1] | ENUM | false | tipo do usuario |
status [2] | ENUM | false | status do usuario |
nome | string | true | nome do usuário |
string | true | email do usuário | |
celular | string | true | celular do usuário |
dataNasc | string 'yyyy-mm-dd' | true | data de nascimento do usuário |
logradouro | string | true | logradouro do usuário |
numero | string | true | numero do usuário |
complemento | string | false | complemento do usuário |
bairro | string | true | bairro do usuário |
cidade | string | true | cidade do usuário |
uf | string | true | uf do usuário |
cep | string | true | cep do usuário |
avaliacao | float | false | avaliação do usuário |
senha | string | true | senha do usuário |
[1] tipoUser: ('client', 'provider') default value: 'client' [2] status: ('pendente', 'ativo', 'suspenso', 'inativo') default value: 'pendente'
-
Find all
- Rota: /api/users
- Método: GET
- Retorno: Lista de todos os usuários
- Rota: /api/users
-
Find by id
- Rota: /api/users/:idUser
- Método: GET
- Retorno: Usuário com este id
- Parâmetros da rota:
- idUser - Id do usuário em questão
- Rota: /api/users/:idUser
-
Create
- Rota: /api/users/create
- Método: POST
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da requisição:
- User - Objeto com os campos necessários para criar o usuário
- Rota: /api/users/create
-
Update
- Rota: /api/users/update/:idUser
- Método: PUT
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da rota:
- idUser - Id do usuário em questão
- Parâmetros da requisição:
- User - Objeto com os campos que deseja alterar
- Rota: /api/users/update/:idUser
-
Delete
- Rota: /api/users/delete/:idUser
- Método: DELETE
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da rota:
- idUser - Id do usuário em questão
- Rota: /api/users/delete/:idUser
-
Find by subcategory
- Rota: /api/users/bySubcategory/:idSubcategory
- Método: GET
- Retorno: Lista de prestadores com esta categoria
- Parâmetros da rota:
- idSubcategory - Id da categoria em questão
- Rota: /api/users/bySubcategory/:idSubcategory
-
Add a Category
- Rota: /api/providers/addCategory
- Método: POST
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da requisição:
- idProvider - Id do prestador em questão
- idCategory - Id da categoria em questão
- Rota: /api/providers/addCategory
-
Remove a Category
- Rota: /api/providers/:idProvider/removeCategory/:idCategory
- Método: DELETE
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da rota:
- idProvider - Id do prestador em questão
- idCategory - Id da categoria em questão
- Rota: /api/providers/:idProvider/removeCategory/:idCategory
-
Get Categories
- Rota: /api/providers/:idProvider/getCategories
- Método: GET
- Retorno: Lista das categorias do prestador
- Parâmetros da requisição:
- idProvider - Id do prestador em questão
- Rota: /api/providers/:idProvider/getCategories
Param | Tipo | Required | Descrição |
---|---|---|---|
idCategory | int | (automático) | id da categoria |
nome | string | true | nome da categoria |
-
Find all
- Rota: /api/categories
- Método: GET
- Retorno: Lista de todas as categorias
- Rota: /api/categories
-
Find by id
- Rota: /api/categories?idCategory=
- Método: GET
- Retorno: Categoria com este id
- Parâmetros da query:
- idCategory - Id da categoria em questão
- Rota: /api/categories?idCategory=
-
Create
- Rota: /api/categories/create
- Método: POST
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da requisição:
- Category - Objeto com os campos necessários para criar a categoria
- Rota: /api/categories/create
-
Update
- Rota: /api/categories/update/:idCategory
- Método: PUT
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da rota:
- idCategory - Id da categoria em questão
- Parâmetros da requisição:
- Category - Objeto com os campos que deseja alterar
- Rota: /api/categories/update/:idCategory
-
Delete
- Rota: /api/categories/delete/:idCategory
- Método: DELETE
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da rota:
- idCategory - Id da categoria em questão
- Rota: /api/categories/delete/:idCategory
Param | Tipo | Required | Descrição |
---|---|---|---|
idService | int | (automático) | id do serviço |
nome | string | true | nome do serviço |
descricao | string | true | descricao do serviço |
localizacao | string | true | localização do serviço |
dataPublic | string 'yyyy-mm-dd' | true | data da publicação do serviço |
idUser | int | true | id do usuário que criou o serviço |
-
Find all
- Rota: /api/services
- Método: GET
- Retorno: Lista de todos os serviços
- Rota: /api/services
-
Find by id
- Rota: /api/services?idService=
- Método: GET
- Retorno: Serviço com este id
- Parâmetros da query:
- idService - Id do serviço em questão
- Rota: /api/services?idService=
-
Create
- Rota: /api/services/create
- Método: POST
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da requisição:
- Service - Objeto com os campos necessários para criar o serviço
- Rota: /api/services/create
-
Update
- Rota: /api/services/update/:idService
- Método: PUT
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da rota:
- idService - Id do serviço em questão
- Parâmetros da requisição:
- Service - Objeto com os campos que deseja alterar
- Rota: /api/services/update/:idService
-
Delete
- Rota: /api/services/delete/:idService
- Método: DELETE
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da rota:
- idService - Id do serviço em questão
- Rota: /api/services/delete/:idService
-
Add a Category
- Rota: /api/services/addCategory
- Método: POST
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da requisição:
- idService - Id do serviço em questão
- idCategory - Id da categoria em questão
- Rota: /api/services/addCategory
-
Remove a Category
- Rota: /api/services/:idService/removeCategory/:idCategory
- Método: DELETE
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da rota:
- idService - Id do serviço em questão
- idCategory - Id da categoria em questão
- Rota: /api/services/:idService/removeCategory/:idCategory
-
Get Categories
- Rota: /api/services/:idService/getCategories
- Método: GET
- Retorno: Lista das categorias do serviço
- Parâmetros da requisição:
- idService - Id do serviço em questão
- Rota: /api/services/:idService/getCategories
Param | Tipo | Required | Descrição |
---|---|---|---|
idBudget | int | (automático) | id do orçamento |
descricao | string | true | descrição do orçamento |
dataFinal | string 'yyyy-mm-dd' | true | data final do orçamento |
idService | int | true | id do serviço deste orçamento |
idProvider | int | true | id do prestador deste orçamento |
-
Find all
- Rota: /api/budgets
- Método: GET
- Retorno: Lista de todas os orçamentos
- Rota: /api/budgets
-
Find by id
- Rota: /api/budgets?idBudget=
- Método: GET
- Retorno: Orçamento com este id
- Parâmetros da query:
- idBudget - Id do orçamento em questão
- Rota: /api/budgets?idBudget=
-
Create
- Rota: /api/budgets/create
- Método: POST
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da requisição:
- Category - Objeto com os campos necessários para criar o orçamento
- Rota: /api/budgets/create
-
Update
- Rota: /api/budgets/update/:idBudget
- Método: PUT
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da rota:
- idBudget - Id do orçamento em questão
- Parâmetros da requisição:
- Category - Objeto com os campos que deseja alterar
- Rota: /api/budgets/update/:idBudget
-
Delete
- Rota: /api/budgets/delete/:idBudget
- Método: DELETE
- Retorno: Mensagem de sucesso ou erro
- Parâmetros da rota:
- idBudget - Id do orçamento em questão
- Rota: /api/budgets/delete/:idBudget