- Iniciar a aplicação
docker-compose up --build
. - Criar o banco de dados
docker-compose exec php php artisan migrate --seed
. - Iniciar o Laravel Horizon
docker-compose exec -d php php artisan horizon
. - Opcional:
docker-compose exec php composer install
para instalar as dependências do Laravel.docker-compose exec php cp .env.example .env
para criar o arquivo.env
(obrigatório).docker-compose exec php artisan key:generate
para gerar oAPP_KEY
(obrigatório).
O projecto foi construido utilizando o framework Laravel. Abaixo os endpoints e exemplos de respostas:
GET /api/users
Exemplo:
curl http://localhost:8000/api/users
[
{
"id": 2,
"name": "Sr. Fábio Azevedo",
"email": "[email protected]",
"document": "060.372.981-90",
"logist": false,
"balance": 7603
},
{
"id": 4,
"name": "Sr. Estêvão George Barreto",
"email": "[email protected]",
"document": "518.949.137-44",
"logist": false,
"balance": 1599.8
},
{
"id": 5,
"name": "Srta. Norma Chaves Jr.",
"email": "[email protected]",
"document": "269.377.702-00",
"logist": false,
"balance": 1968.6
},
]
GET /api/users/:id
Exemplo:
curl http://localhost:8000/api/users/1
{
"id": 1,
"name": "Melissa Cordeiro Sobrinho",
"email": "[email protected]",
"document": "123.858.160-91",
"logist": true,
"balance": 7002.2
}
POST /api/users
Exemplo:
curl -X POST http://localhost:8000/api/users -H "Content-Type: application/json" -d '{"name":"Diogo Siva","email":"[email protected]","document":"539.064.320-84","password":"secret"}'
{
"status":"created",
"data":{
"id":7,
"name":"Diogo Siva",
"email":"[email protected]",
"document":"539.064.320-84",
"logist": false,
"balance": 0
}
}
PUT /api/users/:id
Exemplo:
curl -X PUT http://localhost:8000/api/users/7 -H "Content-Type: application/json" -d '{"name":"Diogo Silva"}'
{
"status":"updated",
"data":{
"id":7,
"name":"Diogo Silva",
"email":"[email protected]",
"document":"539.064.320-84",
"logist": true,
"balance": 7002.2
}
}
DELETE /api/users/:id
Exemplo:
curl -X DELETE http://localhost:8000/api/users/7
{
"status":"deleted",
"data":{
"id":7,
"name":"Diogo Silva",
"email":"[email protected]",
"document":"539.064.320-84",
"logist": true,
"balance": 7002.2
}
}
GET /api/transactions/:id
Exemplo:
curl http://localhost:8000/api/transactions/7
[
{
"id": 2,
"value": 15,
"date": "18/04/2021 às 19:07:59",
"payer": 1,
"payee": 7
},
{
"id": 1,
"value": 15,
"date": "19/04/2021 às 18:07:59",
"payer": 1,
"payee": 7
}
]
POST /api/transactions
Exemplo:
curl -X POST http://localhost:8000/api/transactions -H "Content-Type: application/json" -d '{"value":100.0,"payee":4,"payer":15}'
{
"status": "success",
"data": {
"value" : 100.00,
"payer" : 4,
"payee" : 15
}
}
LinkedIn: Thiago Prates