diff --git a/services/backup/docker-server/contents/server/CMakeLists.txt b/services/backup/docker-server/contents/server/CMakeLists.txt
--- a/services/backup/docker-server/contents/server/CMakeLists.txt
+++ b/services/backup/docker-server/contents/server/CMakeLists.txt
@@ -62,6 +62,7 @@
 
 include_directories(
   ./src
+  ./src/DatabaseEntities
   ./_generated
   ${Boost_INCLUDE_DIR}
   ${DEV_HEADERS_PATH}
diff --git a/services/backup/docker-server/contents/server/src/DatabaseEntities/Item.h b/services/backup/docker-server/contents/server/src/DatabaseEntities/Item.h
new file mode 100644
--- /dev/null
+++ b/services/backup/docker-server/contents/server/src/DatabaseEntities/Item.h
@@ -0,0 +1,26 @@
+#pragma once
+
+#include <aws/core/Aws.h>
+#include <aws/dynamodb/DynamoDBClient.h>
+
+#include <string>
+
+namespace comm {
+namespace network {
+namespace database {
+
+typedef Aws::Map<Aws::String, Aws::DynamoDB::Model::AttributeValue>
+    AttributeValues;
+
+class Item {
+  virtual void validate() const = 0;
+
+public:
+  virtual std::string getTableName() const = 0;
+  virtual std::string getPrimaryKey() const = 0;
+  virtual void assignItemFromDatabase(const AttributeValues &itemFromDB) = 0;
+};
+
+} // namespace database
+} // namespace network
+} // namespace comm