Git Product home page Git Product logo

nerdstore's Introduction

NerdStore

Projeto de acompanhamento do curso Modelagem de Domínios Ricos ministrado pelo Professor Eduardo Pires. Neste curso pudemos trabalhar uma das várias abordagens do DDD com a criação de um projeto, um ecommerce para venda de produtos nerd passando pelas etapas de cadastro do produto, venda e pagamento. Para cada etapa foi criado um contexto dividindo as responsabilidades com isso temos o contexto de Catalogo, Vendas e Pagamentos cada um isolado em uma Class Library e para o compartilhamento de objetos comuns criamos uma outra chamada Core dessa forma temos uma estrutura de camadas, já para a camada de apresentação temos um projeto asp.net core mvc como nossa aplicação cliente responsável por realizar a exibição dos dados e o input de novos. Para a troca de informações entre as diferentes camadas foi usando o Mediatr assim mantendo o baixo acoplamento de código. A validação dos dados ficou por conta da lib FluentValidation e com o auxílio de eventos de domínio notifica as areás interessadas.

No contexto de Pagamentos foi implementanda uma camada AntiCurruption para simular a comunicação com o Gateway do PayPal e entregando para a camada de Pagamentos um objeto "traduzido" com as informações do pagamento.

O acesso a dados ficou por conta do Entity Framework que acessava a uma base de dados hospedada em um contâiner Docker.

Criando o projeto para trabalhar no vscode via CLI.

Comandos para a criação dos projetos

nerdstore's People

Contributors

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