Skip to content

cegj/contta-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Laravel PHP MySQL JSON JSON WEB TOKEN

Contta v2-beta (backend)

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.

Stack

  • Laravel/PHP;
  • Json Web Token;
  • MySQL.

Frontend desenvolvido em React: veja o repositório aqui.

Recursos

  1. Endpoints para obter (GET) transações, saldos, contas, categorias, dados de orçamento e outras informações via HTTP request;
  2. Endpoints para criar (POST) transações, contas, categorias e outras informações via HTTP request;
  3. Endpoints para editar (PATCH) transações, contas e categorias via HTTP request;
  4. Endpoints para apagar (DELETE) transações, contas e categorias via HTTP request;
  5. Os endpoints utilizam autenticação via Json Web Token;
  6. Interação com banco de dados MySQL via Laravel Eloquent.

Exemplo de respostas

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
        }
    ]
}

Imagens e links para navegação (do frontend)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published