Coder Social home page Coder Social logo

productcrud-tdd-ddd's Introduction

API de CRUD de Produtos

Este projeto é uma API CRUD para gerenciamento de produtos. Foi desenvolvido seguindo os princípios do Desenvolvimento Guiado por Testes (TDD) e está estruturado usando a arquitetura de Design Dirigido pelo Domínio (DDD). O projeto utiliza o MapStruct para mapeamento de objetos, garantindo uma conversão perfeita entre entidades e DTOs. Além disso, impõe padrões de codificação através do uso do Checkstyle.

Recursos

  • Funcionalidade CRUD completa para produtos.
  • Práticas de TDD.
  • Arquitetura DDD.
  • Mapeamento de objetos com MapStruct.
  • Consistência de código com Checkstyle.
  • Contêinerização com Docker.

Pré-requisitos

Antes de executar este projeto, você precisará de:

  • Docker
  • Docker Compose

Início Rápido

Para colocar o projeto em funcionamento na sua máquina local, siga estes passos:

  1. Clone o repositório:
git clone [https://github.com/Marcos653/ProductCrud-TDD-DDD]
cd [ProductCrud-TDD-DDD]
  1. Inicie a aplicação usando o Docker Compose:
docker-compose up --build

Este comando construirá a imagem Docker para o products-service e iniciará os serviços definidos no arquivo docker-compose.yml.

  1. Acesse a aplicação em http://localhost:8080.

Banco de Dados

A aplicação está configurada para usar o PostgreSQL. A configuração do Docker Compose inclui um serviço postgre-db que executa o PostgreSQL e inicializa o banco de dados products.

Desenvolvimento

Para executar o Checkstyle para análise de código:

mvn checkstyle:check

Para executar testes e verificar a aplicação:

mvn clean test

Para informações detalhadas sobre os endpoints fornecidos e como usá-los, consulte a documentação da API em http://localhost:8080/swagger-ui.html.

Contribuindo

Sinta-se à vontade para fazer fork do repositório, fazer alterações e enviar pull requests. Por favor, certifique-se de que seus commits seguem o formato convencional de commits e que todos os testes estão passando.

Licença

Este projeto é de código aberto sob a licença MIT.

productcrud-tdd-ddd's People

Contributors

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