Skip to content

HiiMartins/hair_control

Repository files navigation

HairControl

🚧 Projeto em construção 🚧

É uma api REST, construída em Elixir com o objetivo de auxliar na administração de um salão de cabeleiro

Para iniciar seu server:

  • Instale as dependências com: mix deps.get
  • Crie e migre seu bando de dados com: mix ecto.setup
  • Inicie Phoenix endpoint com: mix phx.server ou inside IEx com: iex -S mix phx.server

Agora você pode visitar localhost:4000 do seu navegador.

Chamadas para API

Funcionáros

Inserção de um funcinário

[POST] api/employees

Exemplo da requisão
{
	"email": "[email protected]",
	"password": "123456",
	"name": "NAME",
	"cpf": "12345678900"
}
Exemplo da resposta
{
  "message": "Employee created!",
	"employee": {
		"cpf": "12345678912",
		"email": "[email protected]",
		"id": "UUID",
		"inserted_at": "2022-07-04T20:35:16",
		"name": "NAME"
	}
}

Realização de login do funcionário

[POST] /api/employees/signin

Exemplo da requisição de login

{
	"email": "EMAIL",
	"password": "PASSWORD"
}
Exemplo da resposta de sucesso no login

{
	"token": "TOKEN_JWT"
}

Atualizar o Registro de um funcionário

[PUT] /api/employees/:id

Exemplo de requisão alterando o nome

{
	"name": "UPDATE_NAME"
}
Exemplo da resposta
{
  "message": "Employee created!",
	"employee": {
		"cpf": "12345678912",
		"email": "[email protected]",
		"id": "UUID",
		"inserted_at": "2022-07-04T20:35:16",
		"name": "UPDATE_NAME"
	}
}

Buscar dados de um Funcionário

[GET] /api/employees/:id

Listar todos os Funcinários

[GET] /api/employees

Atualizar os dados de um Funcionário

[PUT] /api/employees

Excluir funcionário da base de dados

[DELETE] /api/employees/:id

Clientes

Inserção de Clientes

[POST] /api/clients

Exemplo de requisão

{
	"name": "NAME",
	"cpf": "12345678900",
	"rg": "123456780",
	"address": "RUA, N°",
	"district": "BAIRRO",
	"phone": "(xx) xxxxx-xxxx"
}
Exemplo da resposta de Sucesso

{
  "message": "Client created!",
	"client": {
		"cpf": "12345678900",
		"id": "UUID",
		"inserted_at": "2022-07-03T04:05:31",
		"name": "NAME",
		"phone": "(xx) xxxxx-xxxx",
		"rg": "123456780"
	}
}

Atualizar o Registro de um cliente

[PUT] /api/clients/:id

Exemplo de requisão alterando o nome

{
	"name": "UPDATE_NAME"
}
Exemplo da resposta de sucesso
{
  "message": "Client updated!",
	"client": {
		"cpf": "12345678900",
		"id": "UUID",
		"inserted_at": "2022-07-03T04:05:31",
		"name": "UPDATE_NAME",
		"phone": "(xx) xxxxx-xxxx",
		"rg": "123456780"
	}
}

Buscar os dados de um cliente

[GET] /api/clients/:id

Exemplo da resposta, passando um id que corresponde a um cliente. 

{
	"id": "UUID",
	"inserted_at": "2022-07-03T04:05:31",
	"name": "NAME",
	"phone": "(xx) xxxxx-xxxx"
}

Listar todos o clientes

[GET] /api/clients

Exemplo da resposta, quando não houver clientes cadastrados

[]
Exemplo da resposta, quando houver clientes cadastrados

[
	{
		"id": "UUID",
		"inserted_at": "2022-07-03T04:05:31",
		"name": "NAME",
		"phone": "(xx) xxxxx-xxxx"
	},
	{
		"id": "UUID",
		"inserted_at": "2022-07-03T04:05:31",
		"name": "NAME",
		"phone": "(xx) xxxxx-xxxx"
	},
	{
		"id": "UUID",
		"inserted_at": "2022-07-03T04:05:31",
		"name": "NAME",
		"phone": "(xx) xxxxx-xxxx"
	}
	...
]

Deletar um cliente

[DELETE] api/clients/:id

Exemplo da resposta, passando um id válido.

{
	"message": "The client CLIENT_NAME was deleted with sucess!"
}

Serviços

Inserção de um serviço no Banco

[POST] /api/services

Exemplo da requisão
{
	"title": "TITLE_SERVICE",
	"price": 20.00
}
Exemplo da resposta
{
	"message": "Service created!",
	"service": {
		"id": "UUID",
		"inserted_at": "2022-07-03T04:05:56",
		"price": 20.0,
		"title": "TITLE_SERICE"
	}
}

Venda

Cadastrando uma venda

[POST] /api/sales

Exemplo da requisição

{
	"payment_method": "PAYMENT_METHOD", // "dinheiro", "cartão", "fiado".
	"employee_id": "EMPLOYEE_UUID",
	"service_id": "SERVICE_UUID",
	"client_id": "CLIENT_UUID"
}
Exemplo da resposta
{
	"messagge": "Sale created!",
	"sale": {
		"client_id": "CLIENT_UUID",
		"employee_id": "EMPLOYEE_ID",
		"id": "UUID",
		"inserterd_at": "2022-07-04T20:36:55",
		"service_id": "SERVICE_UUID"
	}
}

Buscar dados de uma venda

[GET] /api/sales/:id

Listar todas as vendas

[GET] /api/sales

Excluir venda da base de dados

[DELETE] /api/sales/:id

Folha de Pagamento

Cadastrar um Pagamento de um funcionário

[POST] /api/employees/payroll

Buscar dados de uma venda

[GET] /api/employees/payroll/:id

Listar todas as vendas

[GET] /api/employees/payroll

Excluir venda da base de dados

[DELETE] /api/employees/payroll/:id


Learn more about Phoenix and Elixir

About

api de gestão de um salão de cabeleireiro.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published