Facens - Engenharia da Computação


O objetivo deste projeto é criar um projeto .net utilizando os conceitos de DDD (Domain Driven Design) é um conjunto de princípios com foco no domínio, exploração de modelos de forma criativa e definir e falar linguagem ubíqua, baseado no contexto delimitado.

Explicando, domínio é o coração do negócio em que estamos mexendo, baseado em um conjunto de ideias, conhecimento e processos do negócio, sendo possível comparar com as próprias Entites, onde possuem uma quantidade de regras que são essenciais a operação. Portanto, a Entidade do DDD e a Entidade do Clean Architecture estão na camada do Domínio/Entidade em ambas.

Já a camada de aplicação seria o Use Case do Clean Architecture. De acordo com o Uncle Bob seriam as features principais da aplicação. Já no DDD representaria a camada de comandos como criação, receber, atualizar, etc.

A linguagem ubíqua é a uma linguagem acordada e utilizada no dia a dia, para facilitar a comunicação da equipe e até mesmo com o cliente.

A camada de interface é a camada onde é feita a conversão de dados para a forma mais conveniente para envio ou armazenamento no banco de dados.

A camada de Frameworks/Drivers é a camada onde ocorre o envio das informações seja para web ou para o banco de dados.


Detalhes do Projeto

Você deve ter instalado o .net 6.0 SDK

Passo 1

Clone o Projeto

git clone https://github.com/michelmicheloti/Crud_with_DDD_layers.git
Passo 2

Uma boa prática quando você acaba de clonar um projeto é limpar os arquivos de cache e dependências.

dotnet clean
Passo 3

Baixe as dependências do projeto.

dotnet restore
Passo 4

Entre no diretório da Aplicação.

cd Application
Passo 5

Rode o projeto.

dotnet run

Se não aconteceu nenhum erro na hora da compilação, abra o navegador e pegar a url gerada e acrescentar /swagger para visualizar todas as requisições da API.

https://localhost:7122/swagger/

Instruções para os Testes

Passo 1

Para criar o projeto de teste, crie com um nome similar ao que sera testado e acrescente .Tests

dotnet new xunit -o Project.Tests
Passo 2

Adicione o projeto de testes na solução do projeto

dotnet sln add ./Project.Tests
Passo 3

Adicione a referencia do projeto em seu projeto de teste

dotnet add ./Project.Tests/Project.Tests.csproj reference ./Project/Project.csproj

Alunos - Desenvolvedores

Dillinger is currently extended with the following plugins. Instructions on how to use them in your own application are linked below.

RA Nome Github User
180057 Alex Sander https://github.com/AllexFelicio
180016 Fernando Dias Motta https://github.com/fernando2dias
180831 Guilherme Hoffman https://github.com/guilhermehoffmann27
180998 Marcelo Zaguette https://github.com/m-zaguette
181003 Michel Michelotti https://github.com/michelmicheloti
180184 Vinicius Bonatti https://github.com/vbonatti

Professora Andreia Leles

Disciplina: Engenharia de Software