SecureWebApp
Introdução
SecureWebApp - modelo de aplicativo Web seguro para ASP.NET Core 5.0
Um projeto de programação para o curso COMP.SEC.300 Secure Programming, Spring 2021
O repositório contém todo o código-fonte, diagrama de arquitetura e documentação do projeto.
Documentação
Documentação do projeto disponível em Documentation.pdf na raiz do projeto.
Link direto para a documentação do projeto AQUI.
Arquitetura
O diagrama aproximado da arquitetura do aplicativo abaixo:
Link para a imagem completa aqui.
Configuração do ambiente de desenvolvimento local
- Clonar o repositório
- Instale o Visual Studio 2019 (recomendado Professional/Enterprise)
- Instale as ferramentas necessárias (ferramentas de desenvolvimento Web ASP.NET Core, MSSQL
- Opcionalmente, instale o Microsoft SQL Server 2019 separadamente
- Abra o projeto (arquivo de solução) SecureWebApp.sln no VS
- Crie o banco de dados e execute as migrações de banco de dados executando dotnet tool install --global dotnet-ef dotnet add package Microsoft.EntityFrameworkCore.Design dotnet ef Migrations add InitialCreate dotnet ef database update
- Construir/Depurar/Iniciar o projeto localmente
- Abra no navegador: http://localhost:5000 (INSEGURO, NÃO RECOMENDADO) ou https://localhost:5001
Ferramentas e bibliotecas recomendadas para desenvolvimento em Windows
- Visual Studio 2019 Pro (todas as cargas de trabalho do .NET 5.0)
- ASP.NET Core 5.0 (MVC)
- Microsoft SQL Server 2019 (LocalDB para testes disponível, integrado no Visual Studio)
- Gerenciador de pacotes Nuget
- Pacotes nuget necessários incluídos nas configurações do projeto
- Git Bash para Windows
- Google Chrome/Mozilla Firefox
Integração e implantação contínuas
Em solicitações push ou pull para a ramificação principal, um trabalho de teste de construção é acionado para construir o projeto no cloud runner e executar todos os testes de unidade e garantir que eles sejam aprovados. Após uma execução de teste bem-sucedida, o trabalho de implantação é executado para publicar em um servidor privado.
O aplicativo está disponível para teste ao vivo em https://securewebapp.peltonet.com/
Análise Estática
O código-fonte do projeto é analisado usando o serviço SonarQube Cloud (SonarCloud).
SonarCloud é integrado por meio de GitHub Actions.
A URL para análise do projeto: https://sonarcloud.io/dashboard?id=Sinipelto_securewebapp