Code Monkey home page Code Monkey logo

financial-control's Introduction

Finanças-Pessoas-1

Descrição do Projeto

Olá, este é um projeto de controle financeiro proposta pela Itez Innovation e desenvolvido por mim. Esta api segue o padrão REST. Todos os requisitos foram trabalhados.

Links úteis.

Documentação da API - Controle financeiro
Imagem Dockerfile da aplicação

Como usar a API

Pré-requisitos

Para usar esta API é preciso instalar as seguintes ferramentas:

Para editar o código eu recomendo:

Para testar as rotas você pode usar:

Rodando o Back End (servidor)

# Clone este repositório
 git clone https://github.com/MathLopes1/financial-control.git

# Acesse a pasta do projeto 
 cd financial_control

# crie um arquivo .env seguindo o modelo do arquivo .env.exemplo e preencha os campos.

# Instale as dependências
 npm i

# Faça o build da aplicação para JavaScript
npm rum build
           
# Execute a aplicação em modo de Produção
npm run start

# Execute a aplicação em modo de desenvolvimento
npm run dev:server

# Execute os testes            
npm run test            
            
# O servidor iniciará na porta: 3000 

📝 Rotas do projeto:

Rotas de usuario: localhost:3000/api/v1/user

Rota de login: localhost:3000/api/v1/user/login

Rotas de ganhos: localhost:3000/api/v1/gain

Rotas de gastos: localhost:3000/api/v1/spend

Rotas de conta: localhost:3000/api/v1/account

👨‍💼 ROTAS DE USUARIO

REQUEST - (POST)

Para cadastrar usuarios.

POST - localhost:3000/api/v1/user

Exemplo de body:

{
    "email": "[email protected]",
    "senha": "040236",
    "habilitado": "sim"
}

REQUEST - (POST)

Para criar o token de autenticação

POST - localhost:3000/api/v1/user/login

Exemplo de query:

{
    "email": "[email protected]",
    "senha": "040236"
}

REQUEST - (GET)

Para fazer logout

POST - localhost:3000/api/v1/user/logout

👩‍💻 ROTAS DE GANHOS

REQUEST - (POST)

Para cadastrar ganhos

POST - ` localhost:3000/api/v1/gain

Exemplo de body:

{
    "total_ganhos": 10000.80
}

REQUEST - (GET)

Para listar todos os ganhos

GET - localhost:3000/api/v1/gain

REQUEST - (PUT)

Para atualizar um ganho

PUT - `localhost:3000/api/v1/user/:id

Exemplo de body:

{
    "total_ganhos": 800.00
}

REQUEST - (DELETE)

Para deletar um usuario

DELETE - localhost:3000/api/v1/user:id

👨‍💼 ROTA DE GASTOS

REQUEST - (POST)

Para cadastrar um gastos.

POST - localhost:3000/api/v1/spend

Exemplo de body:

{
    "entretenimento": 1000.00,
    "alimentacao": 80.00,
    "educacao": 56.95,
    "saude": 102.10,
    "transporte": 80.90
}

REQUEST - (GET)

Para listar todos os gastos.

GET - localhost:3000/api/v1/spend

REQUEST - (PUT)

Para atualizar um gasto.

PUT - localhost:3000/api/v1/spend/:id

Exemplo de body:

{
    "entretenimento": 1000.00,
    "alimentacao": 80.00,
}

REQUEST - (DELETE)

Para deletar um gasto.

DELETE - localhost:3000/api/v1/spend/:id

💼 ROTA DE CONTA

REQUEST - (POST)

Para cadastrar uma conta.

POST - localhost:3000/api/v1/account

Exemplo de body:

{
    "nome": "Matheus Lopes",
    "cpf": "30117377031",
    "data_nascimento": "07/02/2000",
    "usuario_id": "6ec6c26f-e58f-4571-ac73-81df30b11222",
    "ganhos_id": "27cd2d23-f374-4943-84f7-2687b7229ab4",
    "gastos_id": "70e2379c-4d07-445b-bd04-87cc15cf2e64"
}

REQUEST - (GET)

Para listar todas as contas.

GET - localhost:3000/api/v1/account Exemplo de retorno:

[
  {
    "id": "bef8d57b-a66c-49fc-a09e-c32ba4866967",
    "nome": "Matheus Lopes",
    "cpf": "30117377031",
    "data_nascimento": "07/02/2000",
    "usuario_id": "6ec6c26f-e58f-4571-ac73-81df30b11222",
    "ganhos_id": "27cd2d23-f374-4943-84f7-2687b7229ab4",
    "gastos_id": "70e2379c-4d07-445b-bd04-87cc15cf2e64",
    "created_at": "2022-05-03T17:52:13.464Z"
  }
]

REQUEST - (GET)

Para gerar um extrato financeiro de uma conta.

GET - localhost:3000/api/v1/account/extract/:id Exemplo de retorno:

{
  "FinancialStatementStatement": {
    "id": "64fc985f-7648-4d3a-8ff9-b41daf817ead",
    "nome": "Matheus Lopes",
    "cpf": "30117377031",
    "data_nascimento": "07/02/2000",
    "user": {
      "id": "9fc1436d-29cd-4865-abaf-23b37fd2ec13",
      "email": "[email protected]",
      "senha": "$2b$08$6Ejr9NTx0eAG/j9eU1FxaOGaMoW8rlyQds0TG7Aoc2/IyvDLCwwtm",
      "habilitado": "sim"
    },
    "gain": {
      "id": "27cd2d23-f374-4943-84f7-2687b7229ab4",
      "total_ganhos": 500.9
    },
    "spend": {
      "id": "70e2379c-4d07-445b-bd04-87cc15cf2e64",
      "entretenimento": 489.55,
      "alimentacao": 78.89,
      "educacao": 189.963,
      "saude": 456.96,
      "transporte": 696.48
    },
    "Total": -1410.9430000000002
  }
}

REQUEST - (PUT)

Para atualizar uma conta.

PUT - localhost:3000/api/v1/account/:id

Exemplo de body:

{
   "nome": "Matheus Lopes da Silva",
}

REQUEST - (DELETE)

Para deletar uma conta.

DELETE - localhost:3000/api/v1/account/:id

🛠 Tecnologias

As seguintes ferramentas foram usadas na construção do projeto:

👨‍💻 Autor

💻Matheus Lopes

Developer



📝 LICENÇA

Esse repositório está licenciado pela MIT LICENSE. Para mais informações detalhadas, leia o arquivo LICENSE contido nesse repositório.

financial-control's People

Contributors

mathlopes1 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.