diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java
index 0aeaf1fb373003225af2ff910dcaa64540014f4e..9f1da0d66868f7b99a4eb3f45b424dc25d450013 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java
@@ -13,6 +13,7 @@ import lombok.extern.jackson.Jacksonized;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import org.springframework.data.annotation.Id;
+import org.springframework.data.annotation.Transient;
 import org.springframework.data.elasticsearch.annotations.Document;
 import org.springframework.data.elasticsearch.annotations.Field;
 import org.springframework.data.elasticsearch.annotations.FieldType;
@@ -36,6 +37,10 @@ public class TableDto {
     @Field(name = "id", type = FieldType.Keyword)
     private Long id;
 
+    @NotNull
+    @Field(name = "database_id", type = FieldType.Keyword)
+    private Long tdbid;
+
     @NotNull
     @org.springframework.data.annotation.Transient
     private DatabaseDto database;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/TableMapper.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/TableMapper.java
index f63e9913ee605356b9bc7701557027b873f5b25b..1b6214611938d74342ebbcd0645e96c948ee40b0 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/TableMapper.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/TableMapper.java
@@ -59,7 +59,6 @@ public interface TableMapper {
     TableBriefDto tableToTableBriefDto(Table data);
 
     @Mappings({
-            @Mapping(source = "id", target = "id"),
             @Mapping(target = "name", expression = "java(data.getName())"),
             @Mapping(target = "internalName", expression = "java(data.getInternalName())"),
             @Mapping(target = "queueName", expression = "java(data.getQueueName())"),
diff --git a/dbrepo-mirror-service/rest-service/src/test/java/at/tuwien/config/IndexConfigComponentTest.java b/dbrepo-mirror-service/rest-service/src/test/java/at/tuwien/config/IndexConfigComponentTest.java
index fdf84c74c241218a21c565e53cfb4e23c21902e1..a0e5b6071da784f74cf411ccb8ed23556835a1ba 100644
--- a/dbrepo-mirror-service/rest-service/src/test/java/at/tuwien/config/IndexConfigComponentTest.java
+++ b/dbrepo-mirror-service/rest-service/src/test/java/at/tuwien/config/IndexConfigComponentTest.java
@@ -245,6 +245,7 @@ public class IndexConfigComponentTest extends BaseUnitTest {
                 .getMapping(new GetMappingsRequest().indices("table"), RequestOptions.DEFAULT);
         final Map<String, String> types = getTypes("table", response);
         assertEquals("keyword", types.get("id"));
+        assertEquals("keyword", types.get("database_id"));
         assertNull(types.get("database"));
         assertEquals("keyword", types.get("name"));
         assertEquals("keyword", types.get("internal_name"));
diff --git a/dbrepo-search-db/init/indices/table.json b/dbrepo-search-db/init/indices/table.json
index e25f704bc523fd2322d83be28877ab0af54f97b9..2db4eac6c7e735b44e885e7a32259d53c2d20840 100644
--- a/dbrepo-search-db/init/indices/table.json
+++ b/dbrepo-search-db/init/indices/table.json
@@ -80,6 +80,9 @@
       "id": {
         "type": "keyword"
       },
+      "database_id": {
+        "type": "keyword"
+      },
       "internal_name": {
         "type": "keyword"
       },
diff --git a/dbrepo-search-service/app/opensearch_client.py b/dbrepo-search-service/app/opensearch_client.py
index 3ede632afeb23743e5793ff4000aedd55cce20d8..955a37ecafb9e619e79b46866aadc64a078eb759 100644
--- a/dbrepo-search-service/app/opensearch_client.py
+++ b/dbrepo-search-service/app/opensearch_client.py
@@ -197,6 +197,8 @@ def general_search(search_term=None, t1=None, t2=None, fieldValuePairs=None):
         "_source": [
             "_class",
             "id",
+            "table_id",
+            "database_id",
             "name",
             "identifier.*",
             "column_type",
diff --git a/dbrepo-ui/dbrepo.config.json b/dbrepo-ui/dbrepo.config.json
index e87d09debda5c65f98375efe21239f235eef8ad8..7ae9d88cc06a78597dba85547be2a1103a953227 100644
--- a/dbrepo-ui/dbrepo.config.json
+++ b/dbrepo-ui/dbrepo.config.json
@@ -80,6 +80,11 @@
     },
     "information": {
       "links": [
+        {
+          "text": "Release Notes",
+          "blank": true,
+          "href": "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/dev/CHANGELOG.md"
+        },
         {
           "text": "Online Documentation",
           "blank": true,
diff --git a/dbrepo-ui/layouts/default.vue b/dbrepo-ui/layouts/default.vue
index 1d343810e1fcce8f50ffb41c69a8cda1076f137a..4c4a717e3edebc9b0b0ab1d038bcc0a1224f997e 100644
--- a/dbrepo-ui/layouts/default.vue
+++ b/dbrepo-ui/layouts/default.vue
@@ -25,6 +25,17 @@
             <v-list-item-title>{{ $t('layout.information', { name: 'vue-i18n' }) }}</v-list-item-title>
           </v-list-item-content>
         </v-list-item>
+        <v-list-item
+          to="/search"
+          router
+          exact>
+          <v-list-item-action>
+            <v-icon>mdi-magnify</v-icon>
+          </v-list-item-action>
+          <v-list-item-content>
+            <v-list-item-title>{{ $t('layout.search', { name: 'vue-i18n' }) }}</v-list-item-title>
+          </v-list-item-content>
+        </v-list-item>
         <v-list-item
           to="/database"
           router
@@ -85,7 +96,7 @@
           single-line
           hide-details
           append-icon="mdi-magnify"
-          :placeholder="$t('layout.search', { name: 'vue-i18n' })"
+          :placeholder="$t('search.fuzzy.placeholder', { name: 'vue-i18n' })"
           @click:append="retrieve" />
         <v-btn class="ml-2" plain type="submit" name="search-advanced" @click="toggleAdvancedSearch">
           Advanced
@@ -364,17 +375,6 @@ export default {
       deep: true,
       immediate: true
     },
-    user: {
-      handler () {
-        if (!this.user) {
-          return
-        }
-        DatabaseService.countAll(true)
-          .then((count) => {
-            this.databaseCountFilter = count
-          })
-      }
-    },
     'advancedSearchData.type': {
       handler (newType, oldType) {
         if (!newType) {
diff --git a/dbrepo-ui/locales/de-DE.json b/dbrepo-ui/locales/de-DE.json
index 8a5eb88ebf5d58096688c9cae42d494bcc63e760..27aa7cb51d3c05128c317bee666f059b527b1187 100644
--- a/dbrepo-ui/locales/de-DE.json
+++ b/dbrepo-ui/locales/de-DE.json
@@ -5,11 +5,16 @@
     "mydatabases": "Meine Datenbanken",
     "semantics": "Semantik",
     "ontologies": "Ontologien",
-    "search": "Suchen ...",
+    "search": "Suche",
     "login": "Anmelden",
     "logout": "Abmelden",
     "signup": "Registrieren"
   },
+  "search": {
+    "fuzzy": {
+      "placeholder": "Suchen ..."
+    }
+  },
   "databases": {
     "recent": "Neue Datenbanken",
     "my": "Meine Datenbanken",
diff --git a/dbrepo-ui/locales/en-US.json b/dbrepo-ui/locales/en-US.json
index c3bc354d463cfffd0203488d242e94c4284ee7a9..f377845018bc35b096769b11e0956582802c124a 100644
--- a/dbrepo-ui/locales/en-US.json
+++ b/dbrepo-ui/locales/en-US.json
@@ -5,11 +5,16 @@
     "mydatabases": "My Databases",
     "semantics": "Semantics",
     "ontologies": "Ontologies",
-    "search": "Search ...",
+    "search": "Search",
     "login": "Login",
     "logout": "Logout",
     "signup": "Signup"
   },
+  "search": {
+    "fuzzy": {
+      "placeholder": "Search ..."
+    }
+  },
   "databases": {
     "recent": "Recent Databases",
     "my": "My Databases",
diff --git a/dbrepo-ui/pages/index.vue b/dbrepo-ui/pages/index.vue
index f2c22e4aef9f37fed61ebf5cd7272298498c2334..673999993f6411ad4b392807d74e382ed83c7e66 100644
--- a/dbrepo-ui/pages/index.vue
+++ b/dbrepo-ui/pages/index.vue
@@ -13,68 +13,22 @@
           </ul>
         </div>
       </v-card-text>
-      <v-card-actions>
-        <v-btn
-          class="ml-2 mb-2"
-          color="primary"
-          to="/database">
-          Get Started
-        </v-btn>
-      </v-card-actions>
-    </v-card>
-    <v-card class="mt-4" flat tile>
-      <v-card-text>
-        <div>Release Notes</div>
-        <p class="text-h4 text--primary">
-          1.3
-        </p>
-        <p>
-          <a href="https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/e4c6fdc36b3ceaa9f912cf284052459963d96076/CHANGELOG.md">Detailed
-            Changelog</a>
-        </p>
-        <div class="text--primary">
-          This release fixes bugs related to versioning, increases tasks for developers and data stewards. It enables
-          organizations to federate identities with their own identity provider through Keycloak.
-        </div>
-      </v-card-text>
-      <v-divider class="mx-4" />
-      <v-card-text>
-        <div>Release Notes</div>
-        <p class="text-h4 text--primary">
-          1.2
-        </p>
-        <p>
-          <a
-            href="https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/ac45842d27fcce47a99683330dc8ea1b8321c3be/CHANGELOG.md">Detailed
-            Changelog</a>
-        </p>
-        <div class="text--primary">
-          This release adds semantic information to sub- and supersets, time-versioned metadata database, added access
-          model for giving users access to databases, improved the query store handling.
-        </div>
-      </v-card-text>
       <v-divider class="mx-4" />
-      <v-card-text>
-        <div>Release Notes</div>
-        <p class="text-h4 text--primary">
-          1.1
-        </p>
-        <p>
-          <a
-            href="https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/70b4d1e6398934d88e0080cb89f8cf87c68bf6eb/CHANGELOG">Detailed
-            Changelog</a>
-        </p>
-        <div class="text--primary">
-          In this release we added long-overdue features like user management so each user has their own database (which
-          can also be private) as well as data-insert features directly in the portal.
-        </div>
-      </v-card-text>
     </v-card>
+    <v-toolbar flat>
+      <v-toolbar-title v-text="$t('databases.recent', { name: 'vue-i18n' })" />
+    </v-toolbar>
+    <DatabaseList ref="databases" />
   </div>
 </template>
 
 <script>
+import DatabaseList from '@/components/DatabaseList'
+
 export default {
+  components: {
+    DatabaseList
+  },
   computed: {
     infoLinks () {
       const infoLinks = this.$config.infoLinks
diff --git a/dbrepo-ui/pages/search/index.vue b/dbrepo-ui/pages/search/index.vue
index ec8120ea70db8d1dab750c237b68a42584e04b43..3d6635c7d18c907a33b13c26eb0a108ba5875052 100644
--- a/dbrepo-ui/pages/search/index.vue
+++ b/dbrepo-ui/pages/search/index.vue
@@ -2,6 +2,12 @@
   <div>
     <v-toolbar flat>
       <v-toolbar-title v-text="header" />
+      <v-spacer />
+      <v-toolbar-title>
+        <v-btn v-if="canCreateDatabase" color="primary" name="create-database" @click.stop="createDbDialog = true">
+          <v-icon left>mdi-plus</v-icon> Database
+        </v-btn>
+      </v-toolbar-title>
     </v-toolbar>
     <v-progress-linear v-if="loading" color="primary" />
     <v-card
@@ -29,22 +35,36 @@
         </div>
       </v-card-text>
     </v-card>
+    <v-dialog
+      v-model="createDbDialog"
+      persistent
+      max-width="640">
+      <CreateDB @close="closed" />
+    </v-dialog>
   </div>
 </template>
 
 <script>
 import EventBus from '@/api/eventBus'
 import SearchService from '@/api/search.service'
+import CreateDB from '@/components/dialogs/CreateDB'
 
 export default {
+  components: {
+    CreateDB
+  },
   inject: ['advancedSearchData'],
   data () {
     return {
       results: [],
-      loading: false
+      loading: false,
+      createDbDialog: null
     }
   },
   computed: {
+    roles () {
+      return this.$store.state.roles
+    },
     query () {
       if (!this.$route.query || !this.$route.query.q) {
         return null
@@ -62,6 +82,12 @@ export default {
         return `${this.results.length} results`
       }
       return `${this.results.length} result`
+    },
+    canCreateDatabase () {
+      if (!this.roles) {
+        return false
+      }
+      return this.roles.includes('create-database')
     }
   },
   watch: {
@@ -229,11 +255,11 @@ export default {
       if (this.isDatabase(item)) {
         return `/database/${item.id}`
       } else if (this.isTable(item)) {
-        return `/database/${item.databaseId}/table/${item.id}`
+        return `/database/${item.database_id}/table/${item.id}`
       } else if (this.isView(item)) {
-        return `/database/${item.vdbid}/view/${item.id}`
+        return `/database/${item.database_id}/view/${item.id}`
       } else if (this.isColumn(item)) {
-        return `/database/${item.cdbid}/table/${item.tid}`
+        return `/database/${item.database_id}/table/${item.table_id}`
       } else if (this.isIdentifier(item)) {
         return `/pid/${item.id}`
       } else if (this.isConcept(item) || this.isUnit(item)) {
@@ -270,6 +296,12 @@ export default {
         tags.push({ text: 'Concept' })
       }
       return tags
+    },
+    closed (event) {
+      this.createDbDialog = false
+      if (event.success) {
+        this.$router.push('/database?f=my')
+      }
     }
   }
 }