O CashFlowControl é uma API RESTful desenvolvida em C# .NET 8 para auxiliar comerciantes no controle de seu fluxo de caixa diário. A API permite o registro de transações (débitos e créditos) e fornece um relatório consolidado diário do saldo.
- SQL Server: Você precisará de um servidor SQL Server em execução para armazenar os dados.
- .NET 8 SDK: Certifique-se de ter o .NET 8 SDK instalado em sua máquina. Você pode baixá-lo em: https://dotnet.microsoft.com/pt-br/download/dotnet/8.0
-
Crie o banco de dados:
- Execute o script SQL localizado em
/scriptsno seu servidor SQL Server para criar a estrutura do banco de dados.
- Execute o script SQL localizado em
-
Configure a string de conexão:
- Abra o arquivo
appsettings.jsonlocalizado em/src/DMoreno.CashFlowControl.bff. - Substitua o valor da chave
ConnectionStrings:CashFlowControlDbSqlServerpela string de conexão do seu banco de dados recém-criado.
- Abra o arquivo
-
Abra um terminal: Navegue até o diretório do projeto principal (
/src/DMoreno.CashFlowControl.bff). -
Execute o comando:
dotnet run
A aplicação iniciará e exibirá a URL em que está sendo executada (ex:
Now listening on: https://localhost:7201).
Você tem duas opções para interagir com a API:
Opção 1: Navegador
- Abra a URL da aplicação no seu navegador.
- Acesse a documentação da API em:
/swagger/index.html. - Utilize a interface do Swagger para testar os endpoints, seguindo as instruções da documentação.
Opção 2: Postman/Insomnia
- Importe a collection do Postman localizada em
/collection/CashFlowControl.postman_collection.json. - Atualize a URL base em todos os endpoints para a URL em que sua aplicação está sendo executada (a que você obteve na etapa "Executando a aplicação").
- Utilize o Postman ou Insomnia para enviar requisições para os endpoints da API.
Observações:
- Este projeto segue as melhores práticas RESTful para o design de APIs.
- A documentação da API no Swagger fornece informações detalhadas sobre os endpoints, parâmetros e exemplos de uso.
- Sinta-se à vontade para explorar o código-fonte e os testes unitários para entender melhor a implementação.
Contribuindo:
Contribuições são bem-vindas! Se você encontrar algum problema ou tiver sugestões de melhoria, por favor, abra uma issue ou envie um pull request.