Estrutura Geral do Projeto - Yago-Captain/GeneralNotes GitHub Wiki
Primeiramente, apresento a estrutura principal das bibliotecas de classes, diretórios e arquivos da nossa aplicação. Abaixo está uma imagem que representa todas elas:
- src
- back
- MyGeneralNotes.API
- MyGeneralNotes.Application
- MyGeneralNotes.Domain
- MyGeneralNotes.Infrastructure
- shared
- MyGeneralNotes.Communication
- MyGeneralNotes.Exceptions
- back
A estrutura do projeto está organizada da seguinte maneira:
- src: Este diretório contém o código-fonte do projeto, incluindo bibliotecas de classes, diretórios e outros arquivos necessários para o funcionamento da aplicação.
- back: Este diretório contém o backend da aplicação, que está dividido em vários subdiretórios, cada um responsável por diferentes aspectos da lógica de negócios e da infraestrutura do sistema.
- shared: Este diretório contém recursos compartilhados entre diferentes partes do sistema.
-
MyGeneralNotes.Domain
Esta biblioteca de classes contém as entidades e enums do seu domínio, bem como interfaces que definem contratos para a lógica do usuário, rotinas de exercícios e questões de segurança. Ela também contém classes de extensão que fornecem funcionalidades adicionais que são usadas em todo o domínio. -
MyGeneralNotes.Infrastructure
Esta biblioteca de classes contém código que fornece acesso ao banco de dados e realiza a geração de tabelas. Ela também contém implementações das interfaces definidas no domínio. Além disso, este diretório contém outras configurações e serviços de infraestrutura necessários para o funcionamento do aplicativo. -
MyGeneralNotes.Application
Esta biblioteca de classes lida com os casos de uso da aplicação. Ela coordena as operações de alto nível que envolvem o uso de várias entidades de domínio e serviços. -
MyGeneralNotes.API
É a interface que gerencia a comunicação no seu aplicativo. Ela recebe requisições, valida os dados dessas requisições, as direciona para os controllers apropriados, trata erros que possam ocorrer e, por fim, gera e envia uma resposta.
-
MyGeneralNotes.Communication
Esta biblioteca de classes contém classes e métodos para facilitar a comunicação entre diferentes componentes ou serviços. -
MyGeneralNotes.Exceptions
Esta biblioteca de classes contém classes personalizadas para lidar com as exceções que podem ocorrer durante o uso da aplicação.
O primeiro subdiretório a ser abordado é o Domain, localizado dentro da pasta "back". Aqui reside o coração do nosso sistema, onde definimos as entidades essenciais, os contratos que regem a lógica do negócio e as interfaces que garantem a consistência e a segurança das operações.