Giter VIP home page Giter VIP logo

fluxo-caixa's Introduction

Desafio Fluxo de Caixa

Desenvolvimento de uma simples API REST para controle de Fluxo de Caixa.

Recursos

  • Cadastro, alteração e exclusão de Produto
  • Listagem de Produtos
  • Cadastro, alteração e exclusão de Lançamento
  • Listagem de Lançamentos
  • Visualização de Saldo

Características

  • CRUD
  • API REST
  • Validation
  • Exception
  • Enum

Requisitos

  • Java JDK 17
  • Apache Maven >= 3.8.6
  • MySql 8
  • Docker (Opcional)

Tecnologias

  • Java
  • JPA
  • Maven
  • Spring
  • Lombok
  • Model Mapper
  • H2
  • Swagger
  • JUnit
  • Mockito
  • Docker

Instalação

Docker

Para rodar o projeto via Docker-Compose, basta executar o comando:

$ docker-compose up

Aguarde baixar as dependências e carregar todo o projeto, esse processo é demorado.
Caso conclua e não rode pela primeira vez, tente novamente executando o mesmo comando.

Aguarde carregar todo o serviço web.
Após concluído, digite o endereço abaixo em seu navegador.

http://localhost:8000

Para encerrar tudo digite:

$ docker-compose down

OBS: É necessário ter o Docker e docker-compose instalado. Caso não tenha instalado o Docker ou dê alguma falha na instalação, tente com os comandos abaixo.

MySql

Crie um banco de dados com o nome "fluxocaixa" no seu Mysql.
Abra o arquivo .env e efetue a configuração correta para conexão do seu banco de dados.

$ mysql -u<seu usuário> -p<sua senha>

mysql> create database `fluxocaixa`;

Maven

Para rodar o projeto com Maven, é necessário ter a versão 3.8.6 instalada.
Além disso, é preciso ter o Java 17 e o MySql 8 instalado.

Tendo tudo instalado e rodando localmente, basta executar o seguinte comando:

$ git clone https://github.com/danilomeneghel/fluxo-caixa.git
$ cd fluxo-caixa
$ mvn clean spring-boot:run -Dspring-boot.run.profiles=dev

Swagger

Documentação da API REST:

http://localhost:8000/swagger-ui.html

Testes

Para realizar os testes unitários, execute o seguinte comando no terminal:

$ cd fluxo-caixa
$ mvn test

Diagrama ER

Screenshots

Licença

Projeto licenciado sob The MIT License (MIT).

Desenvolvido por
Danilo Meneghel
[email protected]
http://danilomeneghel.github.io/

fluxo-caixa's People

Contributors

danilomeneghel avatar

Watchers

 avatar  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.