This is a proof-of-concept demo application with a made-up, fictional domain.
/PDD.Database
- shared library that contains all data access code and all database scripts as well as PgRoutiner
configuration. All code in this project is automatically generated on command./PDD.DatabaseTests
- unit tests project./PDD.Shared/DatabaseSeeder
- database seeder console application project that will generate fake and random data in the database on command./PDD.Shared/DatabaseShared
- database access shared references./PDD.WebApp
- web application project.Dockerfile with a full example coming soon.
$ git clone https://github.com/vb-consulting/pdd-demo.git
$ cd pdd-demo
$ cd PDD.WebApp
$ npm install
Note: npm install
will install the required NPM libraries and the PgRoutiner
local tool as well. To install PgRoutiner
as global tool run this command $ dotnet tool install --global dotnet-pgroutiner
To install the database, first, create an empty database on your server. To do this and database client will do (psql
or pgAdmin
for example). But you can also run pgroutiner -c "Server=localhost;Db=postgres;Port=5432;User Id=postgres;Password=postgres;" -x "create database pdd"
if you have PgRoutiner
as a global tool or dotnet tool run pgroutiner -c "Server=localhost;Db=postgres;Port=5432;User Id=postgres;Password=postgres;" -x "create database test"
if you have PgRoutiner
as a local tool.
Next, add appsettings.Development.json
to your /PDD.WebApp
dir with the following content:
{
"ConnectionStrings": {
"DatabaseConnection": "Server=localhost;Db=pdd;Port=5434;User Id=postgres;Password=postgres;"
},
"AppendCommandHeaders": true,
"LogCommands": true
}
Note: appsettings.Development.json
is git ignored and you can set the database port, name username and password to your environment.
Finally, create the initial schema in your new database:
To create an empty schema run the following command pgroutiner -x ../PDD.Database/Scripts/schema.sql
(use dotnet tool run
for local tools). This will use your application connection string to execute ../PDD.Database/Scripts/schema.sql
schema file.
To recreate schema and add initial fake and random data, run the /PDD.Shared/DatabaseSeeder
command line tool.
Finally, run the application dotnet run
.