Skip to content

AlbertoMonteiro/HandlingErrors

Repository files navigation

Instruções para execução

Maintainability

Requisitos

  • .NET 8.0 SDK
  • Node JS versão LTS download
  • [opcional] SQL Server LocalDb (localdb)\mssqllocaldb instruções
    • Se você já tiver outra versão de SQL Server instalado, então será necessário trocar a connection string que fica no arquivo appsettings.json

Execução

Assumindo que você já tem tudo instalado no seu computador, e já clonou o repositorio, vou assumir que o diretório onde foi clonado é

C:\projetos\HandlingErrors
  1. Abra um powershell, e navega até o diretório da aplicação
  2. Execute um dotnet restore
  3. Navegue até o diretório cd .\src\HandlingErrors.Web\ClientApp\
  4. Execute npm install
  5. Volte 1 diretório cd ..
  6. Se você instalou o SQL Server LocalDB
    1. Execute dotnet run
  7. Se você não instalou o SQL Server LocalDB
    1. Execute dotnet run useInMemory
    2. Atenção: o banco de dados vai iniciar sempre zerado com essa opção
    3. Atenção²: com essa opção não vai ser possível testar a regra de 6 meses, uma vez que os dados estão em memória, não tem como simular criar um recado a mais de 6 meses atrás, já com SQL Server poderia ser trocado a data diretamente no banco.
  8. Agora é só abrir o broswer(navegador) e ir até a url http://localhost:5000

Testes e Cobertura

Para a execução dos testes e geração do relatório de cobertura você deve executar os seguintes passos:

  1. Usando um console powershell, navegue até a raiz do projeto
  2. Execute o seguinte comando .\build.ps1 -Target Coverage
  3. Quando o comando terminar, você pode abrir o relatório gerado, para isso execute .\coverageOutput\index.htm

Tecnologias usadas

Para a construção eu escolhi a seguintes tecnologias:

Backend

  1. C# 12.0
  2. .NET 8.
  3. AutoMapper
  4. Entity Framework Core 8.*
  5. OData 8.*
  6. xUnit
  7. SimpleInjector
  8. FluentValidation
  9. Mediatr

Frontend

  1. Aurelia (Framework frontend para construção de SPAs)
  2. TypeScript
  3. Stylus
  4. Bootstrap 4
  5. Momentjs

DevOps

  1. CakeBuild
    1. Facilmente plugavel em qualquer servidor de CI(TeamCity/Jenkins/Travis/Azure DevOps/AppVeyor/GitLab Runner/etc)
    2. Script versionável
    3. Possibilidade de rodar na máquina do Dev
    4. Agnóstico a CI server
    5. Muito fácil de usar

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published