Estou criando um Sistema de fluxo de caixa para mim, controlar minha finanças e abandonar as tabelas de excel
- Introdução
- Requisitos e Desenvolvimento
- Como Instalar
- Como Usar
- Considerações Finais
- Licença
Essa API foi desenvolvida de por conta própria, para gestão financeira minha pessoal, baseada uma planilha antiga minha. Com ele posso classificar alguns de meus gastos e ganhos diários.
Desenvolvimento
Requisitos
Usuário
Criar usuário com login e suas Operações de CRUD.
Manter usuário com controle de acesso selecionando o permissões de prévilegios.
Fluxo de caixa
Possível realizar as operações básica de CRUD e nós mesmo e possível selecionar classificações de dados personalizadas conforme critério que administrador queira. Você verá posteriormente:
Classificações
Será possível também criar como foi dito acima, tipos de classificações personalizadas. Todas eles serão atrelados ao id item do fluxo de caixa:
Exemplo: Classificação Elementos
[
{
"idelementos": 1,
"descricao_elementos": ""
},
{
"idelementos": 5,
"descricao_elementos": "Ativo"
}
]
Exemplo: Fluxo de caixa:
[
{
"id_item_fluxo": 1,
"dia_item_fluxo": 16,
"mes_item_fluxo": 7,
"ano_item_fluxo": 2022,
"hora_item_fluxo": "12:40:59",
"descricao_elementos": "",
"descricao_subelementos": "",
"descricao_tipos": "",
"descricao_subtipos": "",
"descricao_minitipos": "",
"descricao_nanotipos": "",
"descricao_item_fluxo": "Saldo Anterior",
"valor_item_fluxo": "0.00",
"saldo_atual": "0.00"
},
{
"id_item_fluxo": 2,
"dia_item_fluxo": 22,
"mes_item_fluxo": 7,
"ano_item_fluxo": 2022,
"hora_item_fluxo": "18:31:27",
"descricao_elementos": "",
"descricao_subelementos": "",
"descricao_tipos": "",
"descricao_subtipos": "",
"descricao_minitipos": "",
"descricao_nanotipos": "",
"descricao_item_fluxo": "Ganhei na loteria",
"valor_item_fluxo": "100.00",
"saldo_atual": "100.00"
},
Usarem o Mysql workbeanch em nosso tutorial
1.Tenha um NODEjs e Mysql 8.0 instalado.
-
Clone o projeto.
-
Importe o dump do banco de dados. Localizado no caminho abaixo:
Model\dblfluxosnodb20220902.sql
- Nomeie um Schema da importação conforme o seu critério com a imagem:
-
Entre no Diretorio no CMD ou em Outro terminal de comando.
-
Em seguida volte na pasta raiz
-
ATENÇÃO Após isso digite o npm install se caso o dotenv nao for instalado dentro da pasta raiz do projeto.
-
Após isso crie um .env na pasta raiz e configure apontando para sua base de dados. Conforme abaixo ou como sua preferencia :
Exemplo nao preenchido no arquivo .env.example:
PORT_SERVIDOR=
USERDB=
PORTDB=
HOSTDB=
DATABASE=
PASSWORD=
TOKEN_SECRET=
Exemplo preenchido .env:
PORT_SERVIDOR=3000
USERDB="root"
PORTDB=3306
HOSTDB="127.0.0.1"
DATABASE="db_controllerfluxo"
PASSWORD="admin"
TOKEN_SECRET="joao"
8.Após volte para pasta raiz e digite seguinte comando abaixo:
npm start
- TCHAM RAMMM Rodando !
- Use uma API de teste do seu agrado. Ex:Postman, ou Insommia.
- Importe o arquivo HAR. Path: /api/api-fluxos-v1-har
Iniciar:
Clique aqui para acessar a documentação completa da API ou fazer um teste caso queira na API em producão..
https://fluxos-api.vercel.app/v1
Clique aqui para acessar a documentacão
-
Faça login rota inicial. Exemplo: http://localhost:3000/v1/login ou https://fluxos-api.vercel.app/v1/login
-
Busque o token de acesso na chave do Json Resposta : “tokenUser”
-
Coloque no cabeçalho
-
E siga as rotas.
-
Rota principal fluxo de caixa pode cadastrar um item e classificá-lo conforme o id a aplicação.
Classificações:
Poderá Inserir, deletar, criar, editar qualquer uma dessas. Igual na API:
- Elementos
- Subelementos
- Tipos
- Subtipos
- Minitipos
- Nanotipos
Bom... Isso é somente a API da aplicação. O Front será desenvolvido em outra breve.. Valeu por passar aqui! 😉Um abração de Ursoo 🐻! Volte sempre!
Feito com 🤭 por Joao Guilherme 👋🏽 Entre em contato!