QuickSale é o Projeto Interdisciplinar de Conclusão do Curso de Desenvolvimento de Software com foco back-end da Cubos Academy que visa simular uma aplicação de frente de caixa. Atualmente, o projeto oferece os seguintes endpoints:
Listar categorias:
GET
/categorias
Exemplo de requisição
// Sem conteúdo no corpo (body) da requisição
Cadastrar usuário:
POST
/usuario
Exemplo de requisição
{
"nome": "José",
"email": "jose@email.com",
"senha": "123456"
}
Efetuar login do usuário:
POST
/login
Exemplo de requisição
{
"email": "jose@email.com",
"senha": "123456"
}
Editar perfil do usuário logado:
PUT
/usuario
Exemplo de requisição
{
"nome": "José da Silva",
"email": "josesilva@email.com",
"senha": "abc456"
}
Detalhar perfil do usuário logado:
GET
/usuario
Exemplo de requisição
// Sem conteúdo no corpo (body) da requisição
Cadastrar produto
POST
/produto
Exemplo de requisição
{
"descricao": "Barra de chocolate",
"quantidade_estoque": 120,
"valor": 800, // em centavos
"categoria_id": 4
}
Editar produto
PUT
/produto/:id
Exemplo de requisição
{
"descricao": "Chocolate em pó",
"quantidade_estoque": 120,
"valor": 1200,
"categoria_id": 4
}
Listar produtos
GET
/produto
Exemplo de requisição
//Sem conteúdo no corpo (body) da requisição
Listar produtos por categoria
GET
/produto?categoria_id
Exemplo de requisição
//Sem conteúdo no corpo (body) da requisição
Detalhar produto
GET
/produto/:id
Exemplo de requisição
//Sem conteúdo no corpo (body) da requisição
Deletar produto
DELETE
/produto/:id
Exemplo de requisição
//Sem conteúdo no corpo (body) da requisição
Cadastrar cliente
POST
/cliente
Exemplo de requisição
{
"nome": "Maria",
"email": "maria@email.com",
"cpf": "11122233344",
"cep": "13181779"
}
Editar dados do cliente
PUT
/cliente/:id
Exemplo de requisição
{
"nome": "Maria Sousa",
"email": "mariasousa@email.com",
"cpf": "11122233444",
"cep": "13181779"
}
Listar clientes
GET
/cliente
Exemplo de requisição
// Sem conteúdo no corpo (body) da requisição
Cadastrar pedido
POST
/pedido
Exemplo de requisição
{
"cliente_id": 1,
"observacao": "Em caso de ausência recomendo deixar com algum vizinho",
"pedido_produtos": [
{
"produto_id": 1,
"quantidade_produto": 10
},
{
"produto_id": 2,
"quantidade_produto": 20
}
]
}
Listar pedidos
GET
/pedido
Exemplo de requisição
// Sem conteúdo no corpo (body) da requisição
O projeto QuickSale segue a metodologia ágil SCRUM e faz uso da plataforma Trello para o gerenciamento de tarefas e sprints. O desenvolvimento é dividido em sprints e tem uma duração total de aproximadamente 3 semanas. Ressaltamos que tanto o README quanto o código do projeto estão em constante evolução e podem sofrer alterações ao longo do tempo.
Para testar a aplicação, recomendamos o uso de uma ferramenta de teste de API, como o Insomnia. Você pode fazer as requisições diretamente para a seguinte URL:
Ou você pode realizar os testes com a extensão REST Client do VSCode. Para isso, basta seguir os passos abaixo.
Certifique-se de que a extensão REST Client esteja instalada: Se você não tem a extensão REST Client instalada no Visual Studio Code, você pode instalá-la a partir do Marketplace do VS Code.
Abra um dos os arquivos de teste api-deploy.http
ou api-localhost.http
:
Certifique-se de iniciar o servidor caso escolha a opção localhost
rodando o seguinte comando no terminal:
npm run start
Acompanhe as respostas:
@token
, @id
, @idProduct
, etc., podem ser usadas para referenciar valores em solicitações subsequentes. Elas são definidas com o prefixo "@".Observação:
Lembre-se de utilizar os endpoints mencionados acima de acordo com a descrição das funcionalidades.