Skip to content

Latest commit

 

History

History
51 lines (43 loc) · 2.95 KB

README.md

File metadata and controls

51 lines (43 loc) · 2.95 KB

logo da empresa Bravi.

Bravi | Desafio Cadastro - Back End

O desafio consiste em criar uma WebApi em ASP.NET utilizando C#. As principais funcionalidades consistem em cadastrar pessoas e seus respectivos meios de contato, e também o tipo de contato disponível.

erDiagram
    Pessoa ||--o{ Contato : possui
    Pessoa {
        int id
        string nome
    }
    ContatoTipo ||--o{ Contato : possui
    ContatoTipo {
        int id
        string nome
    }
    Contato {
        int id
        int pessoaId
        int contatoTipoId
        string valor
    }
Loading

Stack Utilizada

Tecnologia Descrição
ASP.NET 7.0 Framework de desenvolvimento web para construir aplicativos escaláveis, robustos e seguros.
Entity Framework Mapeamento objeto-relacional (ORM) que permite trabalhar com bancos de dados usando objetos .NET.
SQLite Biblioteca de banco de dados SQL embutida que não requer um servidor separado.
AutoMapper Biblioteca para mapeamento de objetos em .NET.
xUnit Framework de teste unitário para .NET.
Migrations Recurso do Entity Framework para gerenciamento de alterações no esquema do banco de dados.
JsonPatch Biblioteca para aplicar patches em documentos JSON de forma eficiente e rápida em aplicações ASP.NET Core.

Detalhes sobre a solução e a arquitetura

Solução arquitetarda em projetos: Data, Tests e WebApi. O projeto Data conta com Repository Pattern, Migrations e o Entity Framework com o DataContext, utilizando Code First para gerar as entidades no banco de dados.
O projeto Tests conta com xUnit para testes unitarios e possui testes no respositório base, dessa forma validando na prática, por completo, a principal função dessa solução.
O projeto WebApi é a camada de saida e entrada dos dados via API Rest e conta com uma classe genérica chamada GenericCrudController que implementa de forma padronizada os métodos Get, Post, Patch e Delete, e os controllers individuais para cada entidade ficam encarregados de sobrescrever o método que lhe interessa que seja diferente da implementação padrão.




Feito por Evilazio Ricarte

😉