Ultimate open-source stack for web application

Below is the tech stack for developing a web application which is free and open-source.

Web framework

.NET Core is a cross-platform (Windows, Linux and macOS) framework for developing web application, API and many more types of applications.

For web application with UI using Razor Pages template would simplify the design.

Database

PostgreSQL is a free and open-source relational database. Until now I was been using MS SQL, it took me to surprise how equally capable (or in some instance more capable) PostgreSQL features are.

pgAdmin is administration tool for PostgreSQL (similar to SSMS for MS SQL)

Data ORM

Dapper is an object-relational mapping (ORM) for the .NET platform. It provides a framework for mapping an object-oriented domain model to a relational database.

It is much easier to learn and implement compared to that of entity framework and is less prone to performance issues as the queries are written directly in native SQL.

Database deployment

DbUp is a .NET library that helps you to deploy changes to common database Server databases. It tracks which SQL scripts have been run already, and runs the change scripts that are needed to get your database up to date.

Logging

Serilog is the most active and up to date library for logging. It is easy to configure and has many features, structure logging is its most important feature, would come handy when used in conjunction with many of its supported sinks.

Unit testing

xUnit is a free open source unit testing framework. Microsoft also uses it for unit testing there .net core project.