Apresentação Projeto Quiron

Gleryston Matos
4 min readApr 12, 2020

Apresentação do projeto quiron tem como objetivo descrever a arquitetura e as bibliotecas utilizadas no desenvolvimento do projeto para possibilitar a utilização do mesmo como base para futuros projetos.

O projeto consiste em uma solução dividida em 6 projetos.

  • Api: Projeto referente a web api da aplicação.
  • Domain: Projeto onde estão as entidades e interfaces da aplicação.
  • Service: Projeto onde estão as classes de serviço da aplicação.
  • CrossCutting: Projeto que cotem os aspectos comuns da aplicação.
  • Data: Projeto de acesso a dados da aplicação.
  • NUnitTest: Projeto referente aos testes unitários da aplicação.

Projeto Quiron.Api

O projeto de api da solução é um projeto do tipo ASP.Net Core Web Application, os demais projetos da solução são do tipo Class Libary.

O projeto está localizado dentro da pasta presentation e abriga os controllers, configurações e os middleware customizados da aplicação.

Na pasta configurações temos as configurações do OData, que foi utilizado para permitir montar consultas dinamicamente as entidades da api e as configurações do swagger que foi utilizado para gerar a documentação da api.

Na pasta controller estão localizados os controllers da aplicação e na pasta middleware custon está o middleware responsável pelo tratamento das exceções da api.

Projeto Quiron.Domain

Projeto está localizado dentro da pasta domain e abriga as classes dos dto’s, entities, exception e as interfaces referentes aos repositórios e aos serviços da aplicação.

Na pasta dto estão as classes referentes aos dto’s da aplicação, que são utilizados para não expor os objetos relacionais diretamente para quem estiver consumindo a api.

Na pasta entities estão as classes que são os objetos relacionais que serão mapeados com banco de dados.

Na pasta exception estão as classes de exceção personalizada e o modelo que é retornado pela api caso ocorra algum erro para quem estiver consumindo a api.

Na pasta interfaces temos a pasta comum a onde estão os modelos de interface padrão dos repositórios e dos serviços, temos a pasta data que contém as interfaces dos repositórios e a pasta services que contém as interfaces dos serviços da api.

Projeto Quiron.Service

Projeto está localizado dentro da pasta application e abriga as os serviços e as configurações do Auto Mapper.

Projeto Quiron.CrossCutting

Projeto está localizado dentro da pasta infra e abriga as classes referentes a injeção de dependência da aplicação.

Projeto Quiron.Data

Projeto também está localizado dentro da pasta infra e abriga as pastas comum, configuration, context, migration e repositories.

Na pasta comum está a implementação padrão de repositório da aplicação.

Na pasta configurações estão as configurações referentes as entidades para o mapeamento com banco de dados.

Na pasta contexto está o contexto da aplicação e o design context que serve para possibilitar a utilização dos comandos do Entity Framework Core através do Visual Studio.

Na pasta migrações estão as migrações da aplicação.

Na pasta repositórios estão as implementações dos repositórios aplicação.

Projeto Quiron.NUnitTest

Projeto está localizado dentro da pasta test e abriga as pastas comum, infra, repositories, services e test results.

A pasta comum contém a classe de utilitários do projeto de teste.

A pasta infra contém a classe de inicialização de banco de dados para execução dos Testes.

A pasta repositórios possui contém um teste para uma classe de repositório da aplicação. Não é necessário criar testes para todos os repositórios aplicação tendo em vista que se trata de implementação padrão do Entity Framework acredito ser necessário criar apenas 1 para garantir que não há problemas na implementação do desenvolvedor que está utilizando o projeto.

A pasta Services contém os testes dos serviços da aplicação.

A pasta resultados dos testes contém os resultados das métricas obtidas através dos testes unitários da aplicação.

--

--