diff --git a/backend/package-lock.json b/backend/package-lock.json
index 4ed36abc910ae056da49f07212e5033393cf077f..c2e3950d45a36017b34ab1117a0ea1b9805800f5 100644
--- a/backend/package-lock.json
+++ b/backend/package-lock.json
@@ -14,13 +14,15 @@
         "@nestjs/core": "^8.0.0",
         "@nestjs/mapped-types": "^1.0.1",
         "@nestjs/platform-express": "^8.0.0",
+        "@nestjs/swagger": "^5.2.1",
         "@prisma/client": "^3.15.2",
         "class-transformer": "^0.4.0",
         "class-validator": "^0.13.1",
         "jshint": "^2.13.4",
         "reflect-metadata": "^0.1.13",
         "rimraf": "^3.0.2",
-        "rxjs": "^7.2.0"
+        "rxjs": "^7.2.0",
+        "swagger-ui-express": "^4.4.0"
       },
       "devDependencies": {
         "@nestjs/cli": "^8.0.0",
@@ -1656,6 +1658,31 @@
         "typescript": "^3.4.5 || ^4.3.5"
       }
     },
+    "node_modules/@nestjs/swagger": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-5.2.1.tgz",
+      "integrity": "sha512-7dNa08WCnTsW/oAk3Ujde+z64JMfNm19DhpXasFR8oJp/9pggYAbYU927HpA+GJsSFJX6adjIRZsCKUqaGWznw==",
+      "dependencies": {
+        "@nestjs/mapped-types": "1.0.1",
+        "lodash": "4.17.21",
+        "path-to-regexp": "3.2.0"
+      },
+      "peerDependencies": {
+        "@nestjs/common": "^8.0.0",
+        "@nestjs/core": "^8.0.0",
+        "fastify-swagger": "*",
+        "reflect-metadata": "^0.1.12",
+        "swagger-ui-express": "*"
+      },
+      "peerDependenciesMeta": {
+        "fastify-swagger": {
+          "optional": true
+        },
+        "swagger-ui-express": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/@nestjs/testing": {
       "version": "8.4.6",
       "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-8.4.6.tgz",
@@ -8053,6 +8080,25 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/swagger-ui-dist": {
+      "version": "4.12.0",
+      "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.12.0.tgz",
+      "integrity": "sha512-B0Iy2ueXtbByE6OOyHTi3lFQkpPi/L7kFOKFeKTr44za7dJIELa9kzaca6GkndCgpK1QTjArnoXG+aUy0XQp1w=="
+    },
+    "node_modules/swagger-ui-express": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-4.4.0.tgz",
+      "integrity": "sha512-1CzRkHG386VQMVZK406jcpgnW2a9A5A/NiAjKhsFTQqUBWRF+uGbXTU/mA7WSV3mTzyOQDvjBdWP/c2qd5lqKw==",
+      "dependencies": {
+        "swagger-ui-dist": ">=4.11.0"
+      },
+      "engines": {
+        "node": ">= v0.10.32"
+      },
+      "peerDependencies": {
+        "express": ">=4.0.0"
+      }
+    },
     "node_modules/symbol-observable": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
@@ -10168,6 +10214,16 @@
         "pluralize": "8.0.0"
       }
     },
+    "@nestjs/swagger": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-5.2.1.tgz",
+      "integrity": "sha512-7dNa08WCnTsW/oAk3Ujde+z64JMfNm19DhpXasFR8oJp/9pggYAbYU927HpA+GJsSFJX6adjIRZsCKUqaGWznw==",
+      "requires": {
+        "@nestjs/mapped-types": "1.0.1",
+        "lodash": "4.17.21",
+        "path-to-regexp": "3.2.0"
+      }
+    },
     "@nestjs/testing": {
       "version": "8.4.6",
       "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-8.4.6.tgz",
@@ -15019,6 +15075,19 @@
       "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
       "dev": true
     },
+    "swagger-ui-dist": {
+      "version": "4.12.0",
+      "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.12.0.tgz",
+      "integrity": "sha512-B0Iy2ueXtbByE6OOyHTi3lFQkpPi/L7kFOKFeKTr44za7dJIELa9kzaca6GkndCgpK1QTjArnoXG+aUy0XQp1w=="
+    },
+    "swagger-ui-express": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-4.4.0.tgz",
+      "integrity": "sha512-1CzRkHG386VQMVZK406jcpgnW2a9A5A/NiAjKhsFTQqUBWRF+uGbXTU/mA7WSV3mTzyOQDvjBdWP/c2qd5lqKw==",
+      "requires": {
+        "swagger-ui-dist": ">=4.11.0"
+      }
+    },
     "symbol-observable": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
diff --git a/backend/package.json b/backend/package.json
index 300d7c67049f6ea2c1da694c5a45b479be89ad86..1b1219a54bcd938e4db24e0f08c553ed83a2e659 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -26,13 +26,15 @@
     "@nestjs/core": "^8.0.0",
     "@nestjs/mapped-types": "^1.0.1",
     "@nestjs/platform-express": "^8.0.0",
+    "@nestjs/swagger": "^5.2.1",
     "@prisma/client": "^3.15.2",
+    "class-transformer": "^0.4.0",
+    "class-validator": "^0.13.1",
     "jshint": "^2.13.4",
     "reflect-metadata": "^0.1.13",
     "rimraf": "^3.0.2",
     "rxjs": "^7.2.0",
-    "class-validator": "^0.13.1",
-    "class-transformer": "^0.4.0"
+    "swagger-ui-express": "^4.4.0"
   },
   "devDependencies": {
     "@nestjs/cli": "^8.0.0",