A proposta desse exercício é construir uma API REST para compra de produtos utilizando a forma de pagamento cartão de crédito. A API deve possibilitar todo o gerenciamento de estoque e venda de produtos.
├─ api/
├─── config/
├────── core.php - Usado para configuração core
├────── database.php - Usado para conectar ao database
├─── objects/
├────── product.php - Propriedades e Métodos para as queries do produto.
├─── product/
├────── create.php - Cria o produto no database
├────── delete.php - Deleta o produto no database, de acordo com o produt_id
├────── read.php - Lê os produtos no database e os retorna em JSON
├────── read_one.php - Lê o produto no database de acordo com o product_id e trás os dados completos
├────── update.php - Atualiza a informação de um produto, de acordo com seu product_id
├─── purchase/
├────── purchase.php - Faz situação de compra
├─── routes/
├────── routes.php - Ajusta rotas da aplicação
├─ db/
├─── product_table.sql - Schema do banco de dados
├─ Dockerfile
├─ README.md
[POST] /api/products
{
"name" : "Computador",
"amount" : 450.0,
"qty_stock" : 5
}
[GET] /api/products
[GET] /api/product/product_id
[POST] /api/purchase
{
"product_id":1,
"quantity_purchased":1,
"card":{
"owner":"John Doe",
"card_number":"4111870010309393",
"date_expiration":"12/2018",
"flag":"VISA",
"cvv":"123"
}
}
[DELETE] /api/product/product_id
A solução possui integração com o Google Drive. Quando uma compra é realizada, é gerado um arquivo .xml com os dados do pedido, e são salvos na root do mesmo. Após isso, é enviado um email para o administrador do sistema (exemplo@gmail.com) com o link do drive para download.