diff --git a/README.md b/README.md
index 8d4f754d84bede792097af32919155c1c8182d62..7abcf3b10b9ee06c9401979bf1fc120fe8ebeab8 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ Tools
 * Java  17   (openjdk)
 * Maven 3.8+ (e.g. 3.8.5)
 * PostgreSQL (9.6 client lib)
-* Docker     (docker engine 18.06.0+, docker compose, compose file version 3.7)
+* Docker     (compose file version 3.7 to be supported, docker engine 20+ recommended)
 * Git
 
 Dependencies
@@ -28,6 +28,8 @@ Dependencies
 * springframework
 * testcontainers
 
+In addition, Hibernate is used through Springframework.
+
 ### Set up development environment and test
 
 #### Checkout and build
@@ -36,22 +38,30 @@ Dependencies
 * `cd directory`
 * `mvn clean install`
 
-#### Start application (with database)
+#### Start application
+
+For first time users, recommended way to start application is with Docker and database with demo content.
 
-Either
+Either with Docker
 
-* start the application and database
-    * `docker-compose up --build`
+* start the application with database
+    * existing container
+       * `docker-compose up --build`
+    * empty
+       * `docker-compose -f docker-compose-integrationtest.yml up --build`
+    * demo content
+       * `docker-compose -f docker-compose-demo.yml up --build`
+* start the application without database
+    * make sure database available as in `src/main/resources/application.properties`
+    * have local docker compose file without postgres container
+* browse to `http://localhost:8080/swagger-ui.html`
 
-or
+or with `java -jar`
 
 * make sure database available as in `src/main/resources/application.properties`
 * start the application
     * `java -jar target/naming-backend-*.jar`
-
-Then
-
-* browse to `http://localhost:8080/swagger-ui.html`
+* browse to `http://localhost:8083/swagger-ui.html`
 
 #### Integration tests with Docker containers
 
@@ -72,6 +82,11 @@ Thereafter a number of http requests (GET) and curl commands (POST, PUT, PATCH,
 
 #### Note
 
+* *Do not*
+    * *commit sensitive data*
+    * *modify docker-compose files unless necessary*
+* `application.properties` available in both ´src/main/resources´ and `src/test/resources`. Key difference is that in-memory database is used in test.
+* Flyway not (yet) used
 * Pre-populated database to be available if data to be available at start of application. Otherwise database may be populated through `curl` at command line or Swagger UI.
     * See `src/test/resources` and sub folders for database scripts. This includes scripts for database schema, migration and example content.
     * If no prior database is available, see integration tests for examples on how to populate database. E.g. tests may be debugged and database content may be examined at any debug point. It's possible to backup database at such debug point and later restore it outside test. In such way, database may be set to state of choice.
@@ -81,7 +96,6 @@ Thereafter a number of http requests (GET) and curl commands (POST, PUT, PATCH,
      volumes:
        - ./src/test/resources/db/data/dump-discs_names_namesit.sql:/docker-entrypoint-initdb.d/dump-discs_names_namesit.sql
  ```
-* `application.properties` available in both ´src/main/resources´ and `src/test/resources`. Key difference is that in-memory database is used in test.
 
 #### Recommentation
 
diff --git a/docker-compose-demo.yml b/docker-compose-demo.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7573a34a41cc44c64d6d579bb1ece68125cbc6c4
--- /dev/null
+++ b/docker-compose-demo.yml
@@ -0,0 +1,45 @@
+# ------------------------------------------------------------------------------
+# Copyright (C) 2022 European Spallation Source ERIC.
+# ------------------------------------------------------------------------------
+
+version: '3.7'
+services:
+  naming:
+    container_name: "naming"
+    build: ./
+    networks:
+      - naming-net
+    ports:
+      - "8080:8083"
+    depends_on:
+      postgres: 
+        condition: service_healthy
+    command: "java -jar /naming/naming-backend.jar"
+  
+  postgres:
+    container_name: "postgres"
+    image: "postgres:9.6.7"
+    networks:
+      - naming-net
+    ports:
+      - "5432:5432"
+    environment:
+      POSTGRES_DB: discs_names
+      POSTGRES_USER: discs_names
+      POSTGRES_PASSWORD: discs_names
+      PGDATA: /var/lib/postgresql/data/pgdata
+    healthcheck: 
+      test: ["CMD-SHELL", "pg_isready -U discs_names"]
+      interval: 10s
+      timeout: 5s
+      retries: 10    
+    volumes:
+      - ./src/test/resources/db/data/dump-discs_names_namesit.sql:/docker-entrypoint-initdb.d/dump-discs_names_namesit.sql
+
+volumes:
+  naming-data:
+
+networks:
+  naming-net:
+    driver: bridge
+
diff --git a/docker-compose-integrationtest.yml b/docker-compose-integrationtest.yml
index e21f7443153813d381f05683c22d25b6e753d463..406e1b6e97a02a65a21dee6b96eb029418bfaf0e 100644
--- a/docker-compose-integrationtest.yml
+++ b/docker-compose-integrationtest.yml
@@ -32,10 +32,10 @@ services:
       timeout: 5s
       retries: 10    
     volumes:
-      - ./src/test/resources/db/schema_migration/V1__Initial.sql:/docker-entrypoint-initdb.d/V1__Initial.sql
-      - ./src/test/resources/db/schema_migration/V2__Commit_Msg_to_Device.sql:/docker-entrypoint-initdb.d/V2__Commit_Msg_to_Device.sql
-      - ./src/test/resources/db/schema_migration/V3__Notification_CC_List.sql:/docker-entrypoint-initdb.d/V3__Notification_CC_List.sql
-      - ./src/test/resources/db/schema_migration/V4__Schema_data_migration.sql:/docker-entrypoint-initdb.d/V4__Schema_data_migration.sql
+      - ./src/main/resources/db/migration/V1__Initial.sql:/docker-entrypoint-initdb.d/V1__Initial.sql
+      - ./src/main/resources/db/migration/V2__Commit_Msg_to_Device.sql:/docker-entrypoint-initdb.d/V2__Commit_Msg_to_Device.sql
+      - ./src/main/resources/db/migration/V3__Notification_CC_List.sql:/docker-entrypoint-initdb.d/V3__Notification_CC_List.sql
+      - ./src/main/resources/db/migration/V4__Schema_data_migration.sql:/docker-entrypoint-initdb.d/V4__Schema_data_migration.sql
 
 volumes:
   naming-data:
diff --git a/docs/about/naming_architecture_code.odt b/docs/about/naming_architecture_code.odt
index c86e810ba3a9effb355542c85546cd5bd869d1a7..875efab488b20ebdb31c4dfc33c66a30295aae08 100644
Binary files a/docs/about/naming_architecture_code.odt and b/docs/about/naming_architecture_code.odt differ
diff --git a/docs/about/naming_architecture_code.pdf b/docs/about/naming_architecture_code.pdf
index f9c2b73596749c9c0208cf4f6ec247e97a792ccc..7cf5dca376b5553c731279e479bfa78cdd41b50a 100644
Binary files a/docs/about/naming_architecture_code.pdf and b/docs/about/naming_architecture_code.pdf differ
diff --git a/src/test/resources/db/schema_migration/V1__Initial.sql b/src/main/resources/db/migration/V1__Initial.sql
similarity index 100%
rename from src/test/resources/db/schema_migration/V1__Initial.sql
rename to src/main/resources/db/migration/V1__Initial.sql
diff --git a/src/test/resources/db/schema_migration/V2__Commit_Msg_to_Device.sql b/src/main/resources/db/migration/V2__Commit_Msg_to_Device.sql
similarity index 100%
rename from src/test/resources/db/schema_migration/V2__Commit_Msg_to_Device.sql
rename to src/main/resources/db/migration/V2__Commit_Msg_to_Device.sql
diff --git a/src/test/resources/db/schema_migration/V3__Notification_CC_List.sql b/src/main/resources/db/migration/V3__Notification_CC_List.sql
similarity index 100%
rename from src/test/resources/db/schema_migration/V3__Notification_CC_List.sql
rename to src/main/resources/db/migration/V3__Notification_CC_List.sql
diff --git a/src/test/resources/db/schema_migration/V4__Schema_data_migration.sql b/src/main/resources/db/migration/V4__Schema_data_migration.sql
similarity index 100%
rename from src/test/resources/db/schema_migration/V4__Schema_data_migration.sql
rename to src/main/resources/db/migration/V4__Schema_data_migration.sql