https://github.com/sinipelto/securewebapp
SecureWebApp - Secure Web Application Template for ASP.NET Core 5.0
https://github.com/sinipelto/securewebapp
asp asp-net-core asp-net-core-identity asp-net-mvc crypto database-migrations dotnet encryption mssql-database nuget secure-by-default secure-coding secure-programming security security-hardening security-testing visual-studio web-application web-development web-framework
Last synced: about 1 month ago
JSON representation
SecureWebApp - Secure Web Application Template for ASP.NET Core 5.0
- Host: GitHub
- URL: https://github.com/sinipelto/securewebapp
- Owner: sinipelto
- License: mit
- Created: 2021-05-19T19:40:49.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-05-24T14:42:54.000Z (almost 5 years ago)
- Last Synced: 2025-12-27T17:22:43.095Z (4 months ago)
- Topics: asp, asp-net-core, asp-net-core-identity, asp-net-mvc, crypto, database-migrations, dotnet, encryption, mssql-database, nuget, secure-by-default, secure-coding, secure-programming, security, security-hardening, security-testing, visual-studio, web-application, web-development, web-framework
- Language: C#
- Homepage:
- Size: 897 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SecureWebApp
[](https://sonarcloud.io/dashboard?id=Sinipelto_securewebapp)
[](https://sonarcloud.io/dashboard?id=Sinipelto_securewebapp)
[](https://sonarcloud.io/dashboard?id=Sinipelto_securewebapp)
[](https://sonarcloud.io/dashboard?id=Sinipelto_securewebapp)
[](https://sonarcloud.io/dashboard?id=Sinipelto_securewebapp)
[](https://sonarcloud.io/dashboard?id=Sinipelto_securewebapp)
[](https://sonarcloud.io/dashboard?id=Sinipelto_securewebapp)
# Introduction
SecureWebApp - Secure Web Application Template for ASP.NET Core 5.0
A programming project for course COMP.SEC.300 Secure Programming, Spring 2021
The repository contains all the source code, architecture diagram and documentation for the project.
# Documentation
Project Documentation available in Documentation.pdf in project root.
Direct link to the project documentation [HERE](./Documentation.pdf).
# Architecture
The rough architecture diagram of the application below:

Link to the full picture [here](./Architecture.png).
# Local development environment setup
- Clone the repository
- Install Visual Studio 2019 (Professional/Enterprise recommended)
- Install required tools (ASP.NET Core Web development tools, MSSQL
- Optionally, install Microsoft SQL Server 2019 separately
- Open the project (solution file) SecureWebApp.sln in VS
- Create the database and run the database migrations by running
dotnet tool install --global dotnet-ef
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet ef migrations add InitialCreate
dotnet ef database update
- Build/Debug/Launch the project locally
- Open in browser: http://localhost:5000 (INSECURE, NOT RECOMMENDED) or https://localhost:5001
# Recommended tools and libraries for Windows development
- Visual Studio 2019 Pro (all .NET 5.0 workloads)
- ASP.NET Core 5.0 (MVC)
- Microsoft SQL Server 2019 (LocalDB for testing available, integrated in Visual Studio)
- Nuget Package Manager
- Required nuget packages included in the project configs
- Git Bash for Windows
- Google Chrome / Mozilla Firefox
# Continous Integration and Deployment
On pushes or Pull Requests to main branch, a build-test job is triggered to build the project in cloud runner and run all the unit tests and ensure they pass.
After a successful test run, the deployment job is run to publish the in a private server.
The application is available for live testing in https://securewebapp.peltonet.com/
# Static Analysis
The project source code is analyzed using SonarQube Cloud (SonarCloud) service.
SonarCloud is integrated through GitHub Actions.
The URL for the project analysis: https://sonarcloud.io/dashboard?id=Sinipelto_securewebapp