Criado por mim, com Laravel/PHP, para fins de aprendizado e uso pessoal.
Este é o repositório do backend do projeto Contta, desenvolvido com Laravel/PHP. A interação é realizada por meio de requisições HTTP nos diversos verbos (get, post, delete, patch) e as respostas são devolvidas em JSON. A autenticação (nos endpoints que exigem) é feita via Json Web Token.
O projeto está estruturado seguindo a arquitetura MVC, e as requisições SQL dos models utilizam o Eloquent do Laravel.
- Laravel/PHP;
- Json Web Token;
- MySQL.
Frontend desenvolvido em React: veja o repositório aqui.
- Endpoints para obter (GET) transações, saldos, contas, categorias, dados de orçamento e outras informações via HTTP request;
- Endpoints para criar (POST) transações, contas, categorias e outras informações via HTTP request;
- Endpoints para editar (PATCH) transações, contas e categorias via HTTP request;
- Endpoints para apagar (DELETE) transações, contas e categorias via HTTP request;
- Os endpoints utilizam autenticação via Json Web Token;
- Interação com banco de dados MySQL via Laravel Eloquent.
Endpoint GET para obter transações em um determinado mês:
{
"message":"Trabnsações obtidas de 2023-12-01 até 2023-12-31"
"transactions": [
{
"id":231,
"transaction_date":"2023-12-01",
"payment_date":"2023-12-01",
"type":"R",
"value":631507,
"description":"Salário",
"category_id":43,
"account_id":5,
"user_id":1,
"preview":1,
"usual":0,
"budget_control":0,
"transfer_key":null,
"installments_key":"616744967697",
"installment":11,
"created_at":"2023-01-23T20:59:29.000000Z",
"updated_at":"2023-07-31T22:40:35.000000Z",
"account":{
"id":5,
"name":"Banco do Brasil",
"type":"Conta Bancária",
"initial_balance":3883,
"show":1,
"created_at":"2023-01-23T02:42:25.000000Z",
"updated_at":"2023-01-24T02:18:58.000000Z"
},
"category":{
"id":43,
"name":"Salário",
"group_id":8,
"created_at":"2023-01-23T02:40:00.000000Z",
"updated_at":"2023-01-23T02:40:00.000000Z"
},
}
]
}
Endpoint GET para buscar lista de contas:
{
"message":"Contas recuperadas com sucesso"
"accounts":[
{
"id":1,
"name":"Itaucard Visa",
"type":"Cartão de crédito",
"initial_balance":0,
"show":1,
"created_at":"2023-01-22T23:41:37.000000Z",
"updated_at":"2023-03-22T23:14:27.000000Z"
},
{
"id":2,
"name":"Banco do Brasil",
"type":"Conta bancária",
"initial_balance":3883,
"show":1,
"created_at":"2023-01-22T23:41:49.000000Z",
"updated_at":"2023-07-14T20:36:02.000000Z"
}
]
}
Endpoint POST registrar uma nova transação:
{
"message":"Transação registrada com sucesso",
"transactions":[
{
"transaction_date":"2023-10-02",
"payment_date":"2023-10-02",
"type":"D","value":-12560,
"description":"Compras",
"category_id":null,
"account_id":1,
"user_id":1,
"preview":false,
"usual":false,
"budget_control":false,
"installments_key":null,
"installment":1,
"updated_at":"2023-10-02T18:17:23.000000Z",
"created_at":"2023-10-02T18:17:23.000000Z","id":2008
}
]
}