diff --git a/README.md b/README.md
index 9429c9dfaa29b44dec43b7c5936e5d6ea6b888d0..d478035d6db6c929c55fb01793a627b18cf2a3c1 100644
--- a/README.md
+++ b/README.md
@@ -63,12 +63,12 @@ To login to Adminer in your browser you need to specify:
 
 | requirement |endpoint | method | criteria |
 | ------------- | ------------- | ------------- | ------------- |
-| Search for a movie | /movies  | get | returns array of movies as a result of search
-| Show a single movie | /movie/:id  | get | return movie 
-| Show popular movies | /movie/preview  | get | returns array of few movies (popular) to preview
-| Show a single director  | /director/:id | get | returns director
+| Show all movies | /movies  | get | returns array of movies as a result of search
+| Show most recent movies | /movies?mostRecentCnt=$COUNT  | get | returns array of $COUNT most recent movies
+| Show a single movie | /movies/:id  | get | returns movie 
+| Show a single director  | /directors/:id | get | returns director
 | Show categories to browse | /categories | get | returns all categories
-| Show a single category | /category/:id | get | returns category with movies that belong to it
+| Show a single category | /categories/:id | get | returns category with movies that belong to it
 
 ## TODO
 
diff --git a/backend/.eslintrc.js b/backend/.eslintrc.js
index b9aada61a79eb6224475099eed969af5cbd835c4..557cd3109b0316002442dacad48565eb5ea6130e 100644
--- a/backend/.eslintrc.js
+++ b/backend/.eslintrc.js
@@ -27,10 +27,8 @@ module.exports = {
     '@typescript-eslint/comma-spacing': ['error', { 'before': false, 'after': true }],
     '@typescript-eslint/default-param-last': ['error'],
     '@typescript-eslint/dot-notation': ['error'],
-    '@typescript-eslint/indent': ['error', 2],
     '@typescript-eslint/keyword-spacing': ['error', { 'before': true, 'after': true }],
     '@typescript-eslint/no-empty-function': ['error'],
-    '@typescript-eslint/no-extra-parens': ['error'],
     '@typescript-eslint/no-extra-semi': ['error'],
     '@typescript-eslint/no-shadow': ['error'],
     '@typescript-eslint/no-unused-expressions': ['error'],
@@ -80,6 +78,8 @@ module.exports = {
     'comma-spacing': 'off',
     'comma-style': ['error', 'last'],
     'func-call-spacing': ['error', 'never'],
+    'function-call-argument-newline': ['error', 'consistent'],
+    'function-paren-newline': ['error', 'consistent'],
     'implicit-arrow-linebreak': ['error', 'beside'],
     'indent': 'off',
     'jsx-quotes': ['error', 'prefer-single'],
diff --git a/backend/Dockerfile b/backend/Dockerfile
index 8a7677e8a56c23cec88f6d8e5ebeaa8e86ed6933..5b2683ad45392ab543ca436b8fb90dd758a1b48a 100644
--- a/backend/Dockerfile
+++ b/backend/Dockerfile
@@ -8,6 +8,9 @@ ENV PATH=/usr/src/node_modules/.bin:$PATH
 
 WORKDIR /usr/src/app
 
+COPY prisma/schema.prisma ./prisma/
+RUN npx prisma generate
+
 COPY . .
 
 CMD ["npm", "run", "build"]
diff --git a/backend/diagrams/movie_database.png b/backend/diagrams/movie_database.png
deleted file mode 100644
index a905d5c99060ad2ab6e1083f8718a4b16ad78026..0000000000000000000000000000000000000000
Binary files a/backend/diagrams/movie_database.png and /dev/null differ
diff --git a/backend/nest-cli.json b/backend/nest-cli.json
index 256648114a9983377debfde44bda4368fb045a39..fb0d691671cf0b5047c5f0b7a66255f7d63480ca 100644
--- a/backend/nest-cli.json
+++ b/backend/nest-cli.json
@@ -1,5 +1,8 @@
 {
   "$schema": "https://json.schemastore.org/nest-cli",
   "collection": "@nestjs/schematics",
-  "sourceRoot": "src"
+  "sourceRoot": "src",
+  "compilerOptions": {
+    "plugins": ["@nestjs/swagger"]
+  }
 }
diff --git a/backend/package-lock.json b/backend/package-lock.json
index 5e9d492bbacf6bc20b17cc08169e94590c20224d..c2e3950d45a36017b34ab1117a0ea1b9805800f5 100644
--- a/backend/package-lock.json
+++ b/backend/package-lock.json
@@ -12,12 +12,17 @@
         "@nestjs/common": "^8.0.0",
         "@nestjs/config": "^2.1.0",
         "@nestjs/core": "^8.0.0",
+        "@nestjs/mapped-types": "^1.0.1",
         "@nestjs/platform-express": "^8.0.0",
-        "@prisma/client": "^3.15.1",
+        "@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",
@@ -34,7 +39,7 @@
         "eslint-plugin-prettier": "^4.0.0",
         "jest": "28.0.3",
         "prettier": "^2.3.2",
-        "prisma": "^3.15.1",
+        "prisma": "^3.15.2",
         "source-map-support": "^0.5.20",
         "supertest": "^6.1.3",
         "ts-jest": "28.0.1",
@@ -1598,6 +1603,25 @@
         }
       }
     },
+    "node_modules/@nestjs/mapped-types": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-1.0.1.tgz",
+      "integrity": "sha512-NFvofzSinp00j5rzUd4tf+xi9od6383iY0JP7o0Bnu1fuItAUkWBgc4EKuIQ3D+c2QI3i9pG1kDWAeY27EMGtg==",
+      "peerDependencies": {
+        "@nestjs/common": "^7.0.8 || ^8.0.0",
+        "class-transformer": "^0.2.0 || ^0.3.0 || ^0.4.0 || ^0.5.0",
+        "class-validator": "^0.11.1 || ^0.12.0 || ^0.13.0",
+        "reflect-metadata": "^0.1.12"
+      },
+      "peerDependenciesMeta": {
+        "class-transformer": {
+          "optional": true
+        },
+        "class-validator": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/@nestjs/platform-express": {
       "version": "8.4.6",
       "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-8.4.6.tgz",
@@ -1634,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",
@@ -1729,9 +1778,9 @@
       }
     },
     "node_modules/@prisma/client": {
-      "version": "3.15.1",
-      "resolved": "https://registry.npmjs.org/@prisma/client/-/client-3.15.1.tgz",
-      "integrity": "sha512-Lsk7oupvO9g99mrIs07iE6BIMouHs46Yq/YY8itTsUQNKfecsPuZvVYvcKci0pqRQ0neOpvIvoA/ouZmIMBCrQ==",
+      "version": "3.15.2",
+      "resolved": "https://registry.npmjs.org/@prisma/client/-/client-3.15.2.tgz",
+      "integrity": "sha512-ErqtwhX12ubPhU4d++30uFY/rPcyvjk+mdifaZO5SeM21zS3t4jQrscy8+6IyB0GIYshl5ldTq6JSBo1d63i8w==",
       "hasInstallScript": true,
       "dependencies": {
         "@prisma/engines-version": "3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e"
@@ -3066,6 +3115,20 @@
       "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==",
       "dev": true
     },
+    "node_modules/class-transformer": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.4.0.tgz",
+      "integrity": "sha512-ETWD/H2TbWbKEi7m9N4Km5+cw1hNcqJSxlSYhsLsNjQzWWiZIYA1zafxpK9PwVfaZ6AqR5rrjPVUBGESm5tQUA=="
+    },
+    "node_modules/class-validator": {
+      "version": "0.13.2",
+      "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.13.2.tgz",
+      "integrity": "sha512-yBUcQy07FPlGzUjoLuUfIOXzgynnQPPruyK1Ge2B74k9ROwnle1E+NxLWnUv5OLU8hA/qL5leAE9XnXq3byaBw==",
+      "dependencies": {
+        "libphonenumber-js": "^1.9.43",
+        "validator": "^13.7.0"
+      }
+    },
     "node_modules/cli": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz",
@@ -6430,6 +6493,11 @@
         "node": ">= 0.8.0"
       }
     },
+    "node_modules/libphonenumber-js": {
+      "version": "1.10.6",
+      "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.6.tgz",
+      "integrity": "sha512-CIjT100/SmntsUjsLVs2t3ufeN4KdNXUxhD07tH153pdbaCWuAjv0jK/gPuywR3IImB/U/MQM+x9RfhMs5XZiA=="
+    },
     "node_modules/lines-and-columns": {
       "version": "1.2.4",
       "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
@@ -7187,9 +7255,9 @@
       }
     },
     "node_modules/prisma": {
-      "version": "3.15.1",
-      "resolved": "https://registry.npmjs.org/prisma/-/prisma-3.15.1.tgz",
-      "integrity": "sha512-MLO3JUGJpe5+EVisA/i47+zlyF8Ug0ivvGYG4B9oSXQcPiUHB1ccmnpxqR7o0Up5SQgmxkBiEU//HgR6UuIKOw==",
+      "version": "3.15.2",
+      "resolved": "https://registry.npmjs.org/prisma/-/prisma-3.15.2.tgz",
+      "integrity": "sha512-nMNSMZvtwrvoEQ/mui8L/aiCLZRCj5t6L3yujKpcDhIPk7garp8tL4nMx2+oYsN0FWBacevJhazfXAbV1kfBzA==",
       "devOptional": true,
       "hasInstallScript": true,
       "dependencies": {
@@ -8012,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",
@@ -8589,6 +8676,14 @@
         "node": ">=10.12.0"
       }
     },
+    "node_modules/validator": {
+      "version": "13.7.0",
+      "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz",
+      "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==",
+      "engines": {
+        "node": ">= 0.10"
+      }
+    },
     "node_modules/vary": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -10088,6 +10183,12 @@
         "uuid": "8.3.2"
       }
     },
+    "@nestjs/mapped-types": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-1.0.1.tgz",
+      "integrity": "sha512-NFvofzSinp00j5rzUd4tf+xi9od6383iY0JP7o0Bnu1fuItAUkWBgc4EKuIQ3D+c2QI3i9pG1kDWAeY27EMGtg==",
+      "requires": {}
+    },
     "@nestjs/platform-express": {
       "version": "8.4.6",
       "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-8.4.6.tgz",
@@ -10113,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",
@@ -10170,9 +10281,9 @@
       }
     },
     "@prisma/client": {
-      "version": "3.15.1",
-      "resolved": "https://registry.npmjs.org/@prisma/client/-/client-3.15.1.tgz",
-      "integrity": "sha512-Lsk7oupvO9g99mrIs07iE6BIMouHs46Yq/YY8itTsUQNKfecsPuZvVYvcKci0pqRQ0neOpvIvoA/ouZmIMBCrQ==",
+      "version": "3.15.2",
+      "resolved": "https://registry.npmjs.org/@prisma/client/-/client-3.15.2.tgz",
+      "integrity": "sha512-ErqtwhX12ubPhU4d++30uFY/rPcyvjk+mdifaZO5SeM21zS3t4jQrscy8+6IyB0GIYshl5ldTq6JSBo1d63i8w==",
       "requires": {
         "@prisma/engines-version": "3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e"
       }
@@ -11223,6 +11334,20 @@
       "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==",
       "dev": true
     },
+    "class-transformer": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.4.0.tgz",
+      "integrity": "sha512-ETWD/H2TbWbKEi7m9N4Km5+cw1hNcqJSxlSYhsLsNjQzWWiZIYA1zafxpK9PwVfaZ6AqR5rrjPVUBGESm5tQUA=="
+    },
+    "class-validator": {
+      "version": "0.13.2",
+      "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.13.2.tgz",
+      "integrity": "sha512-yBUcQy07FPlGzUjoLuUfIOXzgynnQPPruyK1Ge2B74k9ROwnle1E+NxLWnUv5OLU8hA/qL5leAE9XnXq3byaBw==",
+      "requires": {
+        "libphonenumber-js": "^1.9.43",
+        "validator": "^13.7.0"
+      }
+    },
     "cli": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz",
@@ -13786,6 +13911,11 @@
         "type-check": "~0.4.0"
       }
     },
+    "libphonenumber-js": {
+      "version": "1.10.6",
+      "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.6.tgz",
+      "integrity": "sha512-CIjT100/SmntsUjsLVs2t3ufeN4KdNXUxhD07tH153pdbaCWuAjv0jK/gPuywR3IImB/U/MQM+x9RfhMs5XZiA=="
+    },
     "lines-and-columns": {
       "version": "1.2.4",
       "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
@@ -14338,9 +14468,9 @@
       }
     },
     "prisma": {
-      "version": "3.15.1",
-      "resolved": "https://registry.npmjs.org/prisma/-/prisma-3.15.1.tgz",
-      "integrity": "sha512-MLO3JUGJpe5+EVisA/i47+zlyF8Ug0ivvGYG4B9oSXQcPiUHB1ccmnpxqR7o0Up5SQgmxkBiEU//HgR6UuIKOw==",
+      "version": "3.15.2",
+      "resolved": "https://registry.npmjs.org/prisma/-/prisma-3.15.2.tgz",
+      "integrity": "sha512-nMNSMZvtwrvoEQ/mui8L/aiCLZRCj5t6L3yujKpcDhIPk7garp8tL4nMx2+oYsN0FWBacevJhazfXAbV1kfBzA==",
       "devOptional": true,
       "requires": {
         "@prisma/engines": "3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e"
@@ -14945,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",
@@ -15348,6 +15491,11 @@
         "convert-source-map": "^1.6.0"
       }
     },
+    "validator": {
+      "version": "13.7.0",
+      "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz",
+      "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw=="
+    },
     "vary": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
diff --git a/backend/package.json b/backend/package.json
index 36e70e70cf2424848c3337945fe3ea118be15533..1b1219a54bcd938e4db24e0f08c553ed83a2e659 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -24,12 +24,17 @@
     "@nestjs/common": "^8.0.0",
     "@nestjs/config": "^2.1.0",
     "@nestjs/core": "^8.0.0",
+    "@nestjs/mapped-types": "^1.0.1",
     "@nestjs/platform-express": "^8.0.0",
-    "@prisma/client": "^3.15.1",
+    "@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",
@@ -46,7 +51,7 @@
     "eslint-plugin-prettier": "^4.0.0",
     "jest": "28.0.3",
     "prettier": "^2.3.2",
-    "prisma": "^3.15.1",
+    "prisma": "^3.15.2",
     "source-map-support": "^0.5.20",
     "supertest": "^6.1.3",
     "ts-jest": "28.0.1",
diff --git a/backend/prisma/diagrams/movie_database.png b/backend/prisma/diagrams/movie_database.png
new file mode 100644
index 0000000000000000000000000000000000000000..e94eddb5c1bb380bb6699bd0ae9365013e26e152
Binary files /dev/null and b/backend/prisma/diagrams/movie_database.png differ
diff --git a/backend/diagrams/movie_database.puml b/backend/prisma/diagrams/movie_database.puml
similarity index 78%
rename from backend/diagrams/movie_database.puml
rename to backend/prisma/diagrams/movie_database.puml
index 44d03cdc4747120e11f7b63121606e60f6fdb817..e063d0a9f19af71d8d66278fe1f7c3cf11cfc73b 100644
--- a/backend/diagrams/movie_database.puml
+++ b/backend/prisma/diagrams/movie_database.puml
@@ -2,13 +2,12 @@
 
 entity Movie {
   * id <<UUID>>
-  * id_director <<UUID>>
   ---
   * name: String
   * originalName: String
   * intro: String
-  * picture: String
-  * published: Date
+  picture: String
+  * publishedAt: Number
   * runTimeMinutes: Number
 }
 
@@ -20,8 +19,6 @@ entity Category {
 
 entity MovieCategory {
   * id <<UUID>>
-  * id_movie <<UUID>>
-  * id_category <<UUID>>
   ---
 }
 
@@ -30,7 +27,7 @@ entity Director {
   ---
   * name: String
   * surname: String
-  * birthDate: Date
+  birthDate: Date
 }
 
 Movie }|...|| Director
diff --git a/backend/prisma/migrations/20220617021322_init/migration.sql b/backend/prisma/migrations/20220617021322_init/migration.sql
new file mode 100644
index 0000000000000000000000000000000000000000..2a38dfecbe1674c5ffe2a1aa05ece6da94e7bef6
--- /dev/null
+++ b/backend/prisma/migrations/20220617021322_init/migration.sql
@@ -0,0 +1,12 @@
+/*
+  Warnings:
+
+  - Changed the type of `publishedAt` on the `Movie` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required.
+
+*/
+-- AlterTable
+ALTER TABLE "Movie" DROP COLUMN "publishedAt",
+ADD COLUMN     "publishedAt" INTEGER NOT NULL;
+
+-- CreateIndex
+CREATE UNIQUE INDEX "Movie_originalName_publishedAt_directorId_key" ON "Movie"("originalName", "publishedAt", "directorId");
diff --git a/backend/prisma/schema.prisma b/backend/prisma/schema.prisma
index b81dd6653c87cb22fc310158dcadf4ee00067497..3c00fd7d5dc85cbd9e8eba38f6a60f34abf97e96 100644
--- a/backend/prisma/schema.prisma
+++ b/backend/prisma/schema.prisma
@@ -20,7 +20,7 @@ model Movie {
   originalName    String
   intro           String
   picture         String?
-  publishedAt     DateTime
+  publishedAt     Int
   runTimeMinutes  Int
 
   director        Director    @relation(fields: [directorId], references: [id])
diff --git a/backend/src/api/categories/categories.controller.spec.ts b/backend/src/api/categories/categories.controller.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..66257decefec984d389a9b4515d567cdf9477ddc
--- /dev/null
+++ b/backend/src/api/categories/categories.controller.spec.ts
@@ -0,0 +1,20 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { CategoriesController } from './categories.controller';
+import { CategoriesService } from './categories.service';
+
+describe('CategoriesController', () => {
+  let controller: CategoriesController;
+
+  beforeEach(async () => {
+    const module: TestingModule = await Test.createTestingModule({
+      controllers: [CategoriesController],
+      providers: [CategoriesService],
+    }).compile();
+
+    controller = module.get<CategoriesController>(CategoriesController);
+  });
+
+  it('should be defined', () => {
+    expect(controller).toBeDefined();
+  });
+});
diff --git a/backend/src/api/categories/categories.controller.ts b/backend/src/api/categories/categories.controller.ts
new file mode 100644
index 0000000000000000000000000000000000000000..340f531ce7eb24064beee3fd64e1757b28a5f838
--- /dev/null
+++ b/backend/src/api/categories/categories.controller.ts
@@ -0,0 +1,50 @@
+import {
+  Controller,
+  Get,
+  Post,
+  Body,
+  Patch,
+  Param,
+  Delete,
+} from '@nestjs/common';
+import { ApiTags } from '@nestjs/swagger';
+import { CategoriesService } from './categories.service';
+import { CreateCategoryDto } from './dto/create-category.dto';
+import { UpdateCategoryDto } from './dto/update-category.dto';
+import { CategoryEntity } from './entities/category.entity';
+
+@ApiTags('categories')
+@Controller('categories')
+export class CategoriesController {
+  constructor(private readonly categoriesService: CategoriesService) {}
+
+  @Post()
+  async create(
+    @Body() createCategoryDto: CreateCategoryDto,
+  ): Promise<CategoryEntity> {
+    return await this.categoriesService.create(createCategoryDto);
+  }
+
+  @Get()
+  async findAll(): Promise<CategoryEntity[]> {
+    return await this.categoriesService.findAll();
+  }
+
+  @Get(':id')
+  async findOne(@Param('id') id: string): Promise<CategoryEntity> {
+    return await this.categoriesService.findOne(id);
+  }
+
+  @Patch(':id')
+  async update(
+    @Param('id') id: string,
+    @Body() updateCategoryDto: UpdateCategoryDto,
+  ): Promise<CategoryEntity> {
+    return await this.categoriesService.update(id, updateCategoryDto);
+  }
+
+  @Delete(':id')
+  async remove(@Param('id') id: string): Promise<CategoryEntity> {
+    return await this.categoriesService.remove(id);
+  }
+}
diff --git a/backend/src/api/categories/categories.module.ts b/backend/src/api/categories/categories.module.ts
new file mode 100644
index 0000000000000000000000000000000000000000..387eaab9859455fbfa60c70311266582505dad60
--- /dev/null
+++ b/backend/src/api/categories/categories.module.ts
@@ -0,0 +1,10 @@
+import { Module } from '@nestjs/common';
+import { CategoriesService } from './categories.service';
+import { CategoriesController } from './categories.controller';
+import { PrismaService } from 'src/prisma/prisma.service';
+
+@Module({
+  controllers: [CategoriesController],
+  providers: [CategoriesService, PrismaService],
+})
+export class CategoriesModule {}
diff --git a/backend/src/api/categories/categories.service.spec.ts b/backend/src/api/categories/categories.service.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..9095d781e293688a268f41b4b272372c6a455636
--- /dev/null
+++ b/backend/src/api/categories/categories.service.spec.ts
@@ -0,0 +1,18 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { CategoriesService } from './categories.service';
+
+describe('CategoriesService', () => {
+  let service: CategoriesService;
+
+  beforeEach(async () => {
+    const module: TestingModule = await Test.createTestingModule({
+      providers: [CategoriesService],
+    }).compile();
+
+    service = module.get<CategoriesService>(CategoriesService);
+  });
+
+  it('should be defined', () => {
+    expect(service).toBeDefined();
+  });
+});
diff --git a/backend/src/api/categories/categories.service.ts b/backend/src/api/categories/categories.service.ts
new file mode 100644
index 0000000000000000000000000000000000000000..70c0a71741e80abd0aef7ed61a5e5f092fcd8c9a
--- /dev/null
+++ b/backend/src/api/categories/categories.service.ts
@@ -0,0 +1,60 @@
+import { Injectable } from '@nestjs/common';
+import { PrismaService } from 'src/prisma/prisma.service';
+import { CreateCategoryDto } from './dto/create-category.dto';
+import { UpdateCategoryDto } from './dto/update-category.dto';
+import { plainToClass } from 'class-transformer';
+import { CategoryEntity } from './entities/category.entity';
+import { Category } from '@prisma/client';
+
+@Injectable()
+export class CategoriesService {
+  constructor(private prisma: PrismaService) {}
+
+  async create(createCategoryDto: CreateCategoryDto): Promise<Category> {
+    const category = plainToClass(CategoryEntity, createCategoryDto);
+    return await this.prisma.category.create({
+      data: category,
+    });
+  }
+
+  async findAll(): Promise<Category[]> {
+    return await this.prisma.category.findMany();
+  }
+
+  async findOne(id: string): Promise<Category> {
+    return await this.prisma.category.findUnique({
+      where: {
+        id,
+      },
+    });
+  }
+
+  async update(
+    id: string,
+    updateCategoryDto: UpdateCategoryDto,
+  ): Promise<Category> {
+    const updatedCategory = {
+      ...(await this.findOne(id)),
+      ...plainToClass(CategoryEntity, updateCategoryDto),
+    };
+    return await this.prisma.category.update({
+      where: {
+        id,
+      },
+      data: {
+        ...updatedCategory,
+      },
+    });
+  }
+
+  async remove(id: string): Promise<Category> {
+    return await this.prisma.category.update({
+      where: {
+        id,
+      },
+      data: {
+        deletedAt: new Date(),
+      },
+    });
+  }
+}
diff --git a/backend/src/api/categories/dto/create-category.dto.ts b/backend/src/api/categories/dto/create-category.dto.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8e07b4c5da81ea91e09795e1eb75c7c52c2032e6
--- /dev/null
+++ b/backend/src/api/categories/dto/create-category.dto.ts
@@ -0,0 +1,7 @@
+import { IsNotEmpty, IsString } from 'class-validator';
+
+export class CreateCategoryDto {
+  @IsNotEmpty()
+  @IsString()
+  readonly name: string;
+}
diff --git a/backend/src/api/categories/dto/update-category.dto.ts b/backend/src/api/categories/dto/update-category.dto.ts
new file mode 100644
index 0000000000000000000000000000000000000000..d713b9b900cd1d580baedbf636a1dd8470c04296
--- /dev/null
+++ b/backend/src/api/categories/dto/update-category.dto.ts
@@ -0,0 +1,4 @@
+import { PartialType } from '@nestjs/swagger';
+import { CreateCategoryDto } from './create-category.dto';
+
+export class UpdateCategoryDto extends PartialType(CreateCategoryDto) {}
diff --git a/backend/src/api/categories/entities/category.entity.ts b/backend/src/api/categories/entities/category.entity.ts
new file mode 100644
index 0000000000000000000000000000000000000000..63dead54ca6c30c9e930044191ac05b31ef1d5d8
--- /dev/null
+++ b/backend/src/api/categories/entities/category.entity.ts
@@ -0,0 +1,17 @@
+import { ApiHideProperty } from '@nestjs/swagger';
+import { Category } from '@prisma/client';
+
+export class CategoryEntity implements Category {
+  id: string;
+
+  @ApiHideProperty()
+  createdAt: Date;
+
+  @ApiHideProperty()
+  updatedAt: Date;
+
+  @ApiHideProperty()
+  deletedAt: Date;
+
+  name: string;
+}
diff --git a/backend/src/api/directors/directors.controller.spec.ts b/backend/src/api/directors/directors.controller.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..b8d105a47442f05bb3d10c8c60e74585e584b9bd
--- /dev/null
+++ b/backend/src/api/directors/directors.controller.spec.ts
@@ -0,0 +1,20 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { DirectorsController } from './directors.controller';
+import { DirectorsService } from './directors.service';
+
+describe('DirectorsController', () => {
+  let controller: DirectorsController;
+
+  beforeEach(async () => {
+    const module: TestingModule = await Test.createTestingModule({
+      controllers: [DirectorsController],
+      providers: [DirectorsService],
+    }).compile();
+
+    controller = module.get<DirectorsController>(DirectorsController);
+  });
+
+  it('should be defined', () => {
+    expect(controller).toBeDefined();
+  });
+});
diff --git a/backend/src/api/directors/directors.controller.ts b/backend/src/api/directors/directors.controller.ts
new file mode 100644
index 0000000000000000000000000000000000000000..aa4b739b35c995cea0674cdae3c9c38c3d500bf6
--- /dev/null
+++ b/backend/src/api/directors/directors.controller.ts
@@ -0,0 +1,50 @@
+import {
+  Controller,
+  Get,
+  Post,
+  Body,
+  Patch,
+  Param,
+  Delete,
+} from '@nestjs/common';
+import { ApiTags } from '@nestjs/swagger';
+import { DirectorsService } from './directors.service';
+import { CreateDirectorDto } from './dto/create-director.dto';
+import { UpdateDirectorDto } from './dto/update-director.dto';
+import { DirectorEntity } from './entities/director.entity';
+
+@ApiTags('directors')
+@Controller('directors')
+export class DirectorsController {
+  constructor(private readonly directorsService: DirectorsService) {}
+
+  @Post()
+  async create(
+    @Body() createDirectorDto: CreateDirectorDto,
+  ): Promise<DirectorEntity> {
+    return await this.directorsService.create(createDirectorDto);
+  }
+
+  @Get()
+  async findAll(): Promise<DirectorEntity[]> {
+    return await this.directorsService.findAll();
+  }
+
+  @Get(':id')
+  async findOne(@Param('id') id: string): Promise<DirectorEntity> {
+    return await this.directorsService.findOne(id);
+  }
+
+  @Patch(':id')
+  async update(
+    @Param('id') id: string,
+    @Body() updateDirectorDto: UpdateDirectorDto,
+  ): Promise<DirectorEntity> {
+    return await this.directorsService.update(id, updateDirectorDto);
+  }
+
+  @Delete(':id')
+  async remove(@Param('id') id: string): Promise<DirectorEntity> {
+    return await this.directorsService.remove(id);
+  }
+}
diff --git a/backend/src/api/directors/directors.module.ts b/backend/src/api/directors/directors.module.ts
new file mode 100644
index 0000000000000000000000000000000000000000..040e16ccd7193a86c1892f91607042ffa1e29499
--- /dev/null
+++ b/backend/src/api/directors/directors.module.ts
@@ -0,0 +1,10 @@
+import { Module } from '@nestjs/common';
+import { DirectorsService } from './directors.service';
+import { DirectorsController } from './directors.controller';
+import { PrismaService } from '../../prisma/prisma.service';
+
+@Module({
+  controllers: [DirectorsController],
+  providers: [DirectorsService, PrismaService],
+})
+export class DirectorsModule {}
diff --git a/backend/src/api/directors/directors.service.spec.ts b/backend/src/api/directors/directors.service.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..06fc8bf8cf4e1fe65108251d69d3d902e22d3166
--- /dev/null
+++ b/backend/src/api/directors/directors.service.spec.ts
@@ -0,0 +1,18 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { DirectorsService } from './directors.service';
+
+describe('DirectorsService', () => {
+  let service: DirectorsService;
+
+  beforeEach(async () => {
+    const module: TestingModule = await Test.createTestingModule({
+      providers: [DirectorsService],
+    }).compile();
+
+    service = module.get<DirectorsService>(DirectorsService);
+  });
+
+  it('should be defined', () => {
+    expect(service).toBeDefined();
+  });
+});
diff --git a/backend/src/api/directors/directors.service.ts b/backend/src/api/directors/directors.service.ts
new file mode 100644
index 0000000000000000000000000000000000000000..a93ed076e514f267892e10fb95d503fa47772be3
--- /dev/null
+++ b/backend/src/api/directors/directors.service.ts
@@ -0,0 +1,74 @@
+import { Injectable } from '@nestjs/common';
+import { CreateDirectorDto } from './dto/create-director.dto';
+import { UpdateDirectorDto } from './dto/update-director.dto';
+import { PrismaService } from '../../prisma/prisma.service';
+import { plainToClass } from 'class-transformer';
+import { DirectorEntity } from './entities/director.entity';
+import { Director } from '@prisma/client';
+
+@Injectable()
+export class DirectorsService {
+  constructor(private prisma: PrismaService) {}
+
+  async create(createDirectorDto: CreateDirectorDto): Promise<Director> {
+    const director = plainToClass(DirectorEntity, createDirectorDto);
+    return await this.prisma.director.create({
+      data: director,
+    });
+  }
+
+  async findAll(): Promise<Director[]> {
+    return await this.prisma.director.findMany();
+  }
+
+  async findOne(id: string): Promise<Director> {
+    return await this.prisma.director.findUnique({
+      where: {
+        id,
+      },
+    });
+  }
+
+  async update(
+    id: string,
+    updateDirectorDto: UpdateDirectorDto,
+  ): Promise<Director> {
+    const updatedDirector = {
+      ...(await this.findOne(id)),
+      ...plainToClass(DirectorEntity, updateDirectorDto),
+    };
+    return await this.prisma.director.update({
+      where: {
+        id,
+      },
+      data: {
+        ...updatedDirector,
+      },
+    });
+  }
+
+  async remove(id: string): Promise<Director> {
+    const directorMovie = await this.prisma.movie.findFirst({
+      where: {
+        directorId: id,
+        deletedAt: null,
+      },
+      select: {
+        id: true,
+      },
+    });
+
+    if (directorMovie === undefined) {
+      return await this.prisma.director.update({
+        where: {
+          id,
+        },
+        data: {
+          deletedAt: new Date(),
+        },
+      });
+    }
+
+    return await this.findOne(id);
+  }
+}
diff --git a/backend/src/api/directors/dto/create-director.dto.ts b/backend/src/api/directors/dto/create-director.dto.ts
new file mode 100644
index 0000000000000000000000000000000000000000..35a268cb9eb49fd8307ee99323035f4472a1c8db
--- /dev/null
+++ b/backend/src/api/directors/dto/create-director.dto.ts
@@ -0,0 +1,23 @@
+import {
+  IsDate,
+  IsNotEmpty,
+  IsOptional,
+  IsString,
+  MaxDate,
+} from 'class-validator';
+
+export class CreateDirectorDto {
+  @IsNotEmpty()
+  @IsString()
+  readonly name: string;
+
+  @IsNotEmpty()
+  @IsString()
+  readonly surname: string;
+
+  @IsNotEmpty()
+  @IsDate()
+  @IsOptional()
+  @MaxDate(new Date())
+  readonly birthDate?: Date;
+}
diff --git a/backend/src/api/directors/dto/update-director.dto.ts b/backend/src/api/directors/dto/update-director.dto.ts
new file mode 100644
index 0000000000000000000000000000000000000000..7e889b5d8b63e29041c47c691d7d33170ff6d892
--- /dev/null
+++ b/backend/src/api/directors/dto/update-director.dto.ts
@@ -0,0 +1,4 @@
+import { PartialType } from '@nestjs/swagger';
+import { CreateDirectorDto } from './create-director.dto';
+
+export class UpdateDirectorDto extends PartialType(CreateDirectorDto) {}
diff --git a/backend/src/api/directors/entities/director.entity.ts b/backend/src/api/directors/entities/director.entity.ts
new file mode 100644
index 0000000000000000000000000000000000000000..b5af053c2606c4c526a5c5d1f9145431c859efe1
--- /dev/null
+++ b/backend/src/api/directors/entities/director.entity.ts
@@ -0,0 +1,21 @@
+import { ApiHideProperty } from '@nestjs/swagger';
+import { Director } from '@prisma/client';
+
+export class DirectorEntity implements Director {
+  id: string;
+
+  @ApiHideProperty()
+  createdAt: Date;
+
+  @ApiHideProperty()
+  updatedAt: Date;
+
+  @ApiHideProperty()
+  deletedAt: Date;
+
+  name: string;
+
+  surname: string;
+
+  birthDate: Date | null;
+}
diff --git a/backend/src/api/movies/dto/create-movie.dto.ts b/backend/src/api/movies/dto/create-movie.dto.ts
new file mode 100644
index 0000000000000000000000000000000000000000..731e3fbb671a4b371bb3c0833921761a53ef9410
--- /dev/null
+++ b/backend/src/api/movies/dto/create-movie.dto.ts
@@ -0,0 +1,40 @@
+import {
+  IsNotEmpty,
+  IsNumber,
+  IsOptional,
+  IsString,
+  Min,
+} from 'class-validator';
+
+export class CreateMovieDto {
+  @IsNotEmpty()
+  @IsString()
+  readonly name: string;
+
+  @IsNotEmpty()
+  @IsString()
+  readonly originalName: string;
+
+  @IsNotEmpty()
+  @IsString()
+  readonly intro: string;
+
+  @IsNotEmpty()
+  @IsOptional()
+  @IsString()
+  readonly picture?: string;
+
+  @IsNotEmpty()
+  @IsNumber()
+  @Min(1878)
+  readonly publishedAt: number;
+
+  @IsNotEmpty()
+  @IsString()
+  readonly directorId: string;
+
+  @IsNotEmpty()
+  @IsNumber()
+  @Min(1)
+  readonly runTimeMinutes: number;
+}
diff --git a/backend/src/api/movies/dto/update-movie.dto.ts b/backend/src/api/movies/dto/update-movie.dto.ts
new file mode 100644
index 0000000000000000000000000000000000000000..7efc78d96dd65a58e2f5dead6e2ef74d188c2074
--- /dev/null
+++ b/backend/src/api/movies/dto/update-movie.dto.ts
@@ -0,0 +1,4 @@
+import { PartialType } from '@nestjs/swagger';
+import { CreateMovieDto } from './create-movie.dto';
+
+export class UpdateMovieDto extends PartialType(CreateMovieDto) {}
diff --git a/backend/src/api/movies/entities/movie.entity.ts b/backend/src/api/movies/entities/movie.entity.ts
new file mode 100644
index 0000000000000000000000000000000000000000..d3d55e1534351e6c1994e0cc2231c316813c2ba8
--- /dev/null
+++ b/backend/src/api/movies/entities/movie.entity.ts
@@ -0,0 +1,29 @@
+import { ApiHideProperty } from '@nestjs/swagger';
+import { Movie } from '@prisma/client';
+
+export class MovieEntity implements Movie {
+  id: string;
+
+  @ApiHideProperty()
+  createdAt: Date;
+
+  @ApiHideProperty()
+  updatedAt: Date;
+
+  @ApiHideProperty()
+  deletedAt: Date;
+
+  name: string;
+
+  originalName: string;
+
+  intro: string;
+
+  picture: string | null;
+
+  publishedAt: number;
+
+  runTimeMinutes: number;
+
+  directorId: string;
+}
diff --git a/backend/src/api/movies/movies.controller.spec.ts b/backend/src/api/movies/movies.controller.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..bdc5c039896bd3052f3ec9cf3c218f86cb4614c8
--- /dev/null
+++ b/backend/src/api/movies/movies.controller.spec.ts
@@ -0,0 +1,20 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { MoviesController } from './movies.controller';
+import { MoviesService } from './movies.service';
+
+describe('MoviesController', () => {
+  let controller: MoviesController;
+
+  beforeEach(async () => {
+    const module: TestingModule = await Test.createTestingModule({
+      controllers: [MoviesController],
+      providers: [MoviesService],
+    }).compile();
+
+    controller = module.get<MoviesController>(MoviesController);
+  });
+
+  it('should be defined', () => {
+    expect(controller).toBeDefined();
+  });
+});
diff --git a/backend/src/api/movies/movies.controller.ts b/backend/src/api/movies/movies.controller.ts
new file mode 100644
index 0000000000000000000000000000000000000000..5d6f8929d3d57878f39a9f8e488e77258f741082
--- /dev/null
+++ b/backend/src/api/movies/movies.controller.ts
@@ -0,0 +1,63 @@
+import {
+  Controller,
+  Get,
+  Post,
+  Body,
+  Patch,
+  Param,
+  Delete,
+  Query,
+  ParseIntPipe,
+} from '@nestjs/common';
+import { ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger';
+import { MoviesService } from './movies.service';
+import { CreateMovieDto } from './dto/create-movie.dto';
+import { UpdateMovieDto } from './dto/update-movie.dto';
+import { MovieEntity } from './entities/movie.entity';
+
+@ApiTags('movies')
+@Controller('movies')
+export class MoviesController {
+  constructor(private readonly moviesService: MoviesService) {}
+
+  @Post()
+  async create(@Body() createMovieDto: CreateMovieDto): Promise<MovieEntity> {
+    return await this.moviesService.create(createMovieDto);
+  }
+
+  @Get()
+  @ApiQuery({
+    name: 'mostRecentCnt',
+    required: false,
+  })
+  async findAll(@Query('mostRecentCnt', ParseIntPipe) mostRecentCnt?: number): Promise<MovieEntity[]> {
+    return await this.moviesService.findAll(mostRecentCnt);
+  }
+
+  @Get(':id')
+  async findOne(@Param('id') id: string): Promise<MovieEntity> {
+    return await this.moviesService.findOne(id);
+  }
+
+  @Patch(':id/:categoryName')
+  @ApiOperation({ summary: 'Add category to a movie' })
+  async addCategory(
+    @Param('id') id: string,
+    @Param('categoryName') categoryName: string,
+  ): Promise<MovieEntity> {
+    return await this.moviesService.addCategory(id, categoryName);
+  }
+
+  @Patch(':id')
+  async update(
+    @Param('id') id: string,
+    @Body() updateMovieDto: UpdateMovieDto,
+  ): Promise<MovieEntity> {
+    return await this.moviesService.update(id, updateMovieDto);
+  }
+
+  @Delete(':id')
+  async remove(@Param('id') id: string): Promise<MovieEntity> {
+    return await this.moviesService.remove(id);
+  }
+}
diff --git a/backend/src/api/movies/movies.module.ts b/backend/src/api/movies/movies.module.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8cda2b9663accb823cc2e1f707ebb4304d48c063
--- /dev/null
+++ b/backend/src/api/movies/movies.module.ts
@@ -0,0 +1,10 @@
+import { Module } from '@nestjs/common';
+import { MoviesService } from './movies.service';
+import { MoviesController } from './movies.controller';
+import { PrismaService } from '../../prisma/prisma.service';
+
+@Module({
+  controllers: [MoviesController],
+  providers: [MoviesService, PrismaService],
+})
+export class MoviesModule {}
diff --git a/backend/src/api/movies/movies.service.spec.ts b/backend/src/api/movies/movies.service.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..9359e7d89743276d77b5c4ba2f6a79797e0c1511
--- /dev/null
+++ b/backend/src/api/movies/movies.service.spec.ts
@@ -0,0 +1,18 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { MoviesService } from './movies.service';
+
+describe('MoviesService', () => {
+  let service: MoviesService;
+
+  beforeEach(async () => {
+    const module: TestingModule = await Test.createTestingModule({
+      providers: [MoviesService],
+    }).compile();
+
+    service = module.get<MoviesService>(MoviesService);
+  });
+
+  it('should be defined', () => {
+    expect(service).toBeDefined();
+  });
+});
diff --git a/backend/src/api/movies/movies.service.ts b/backend/src/api/movies/movies.service.ts
new file mode 100644
index 0000000000000000000000000000000000000000..4b5b6d4150964a1a993bf8665c10ea7a370e1856
--- /dev/null
+++ b/backend/src/api/movies/movies.service.ts
@@ -0,0 +1,97 @@
+import { Injectable } from '@nestjs/common';
+import { CreateMovieDto } from './dto/create-movie.dto';
+import { UpdateMovieDto } from './dto/update-movie.dto';
+import { PrismaService } from '../../prisma/prisma.service';
+import { plainToClass } from 'class-transformer';
+import { MovieEntity } from './entities/movie.entity';
+import { Movie } from '@prisma/client';
+
+@Injectable()
+export class MoviesService {
+  constructor(private prisma: PrismaService) {}
+
+  async create(createMovieDto: CreateMovieDto): Promise<Movie> {
+    const movie = plainToClass(MovieEntity, createMovieDto);
+    return await this.prisma.movie.create({
+      data: movie,
+    });
+  }
+
+  async findAll(mostRecentCnt?: number): Promise<Movie[]> {
+    if (mostRecentCnt) {
+      return await this.prisma.movie.findMany();
+    }
+
+    return await this.prisma.movie.findMany({
+      orderBy: {
+        publishedAt: 'desc',
+      },
+      take: mostRecentCnt,
+    });
+  }
+
+  async findOne(id: string): Promise<Movie> {
+    return await this.prisma.movie.findUnique({
+      where: {
+        id,
+      },
+    });
+  }
+
+  async addCategory(movieId: string, categoryName: string): Promise<Movie> {
+    await this.prisma.category.update({
+      data: {
+        movies: {
+          connect: {
+            id: movieId,
+          },
+        },
+      },
+      where: {
+        name: categoryName,
+      },
+    });
+
+    return await this.prisma.movie.update({
+      data: {
+        categories: {
+          connect: {
+            name: categoryName,
+          },
+        },
+      },
+      where: {
+        id: movieId,
+      },
+      include: {
+        categories: true,
+      },
+    });
+  }
+
+  async update(id: string, updateMovieDto: UpdateMovieDto): Promise<Movie> {
+    const updatedMovie = {
+      ...(await this.findOne(id)),
+      ...plainToClass(MovieEntity, updateMovieDto),
+    };
+    return await this.prisma.movie.update({
+      where: {
+        id,
+      },
+      data: {
+        ...updatedMovie,
+      },
+    });
+  }
+
+  async remove(id: string): Promise<Movie> {
+    return await this.prisma.movie.update({
+      where: {
+        id,
+      },
+      data: {
+        deletedAt: new Date(),
+      },
+    });
+  }
+}
diff --git a/backend/src/app.controller.ts b/backend/src/app.controller.ts
index cce879ee622146012901c9adb47ef40c0fd3a555..c73d6d8de8639d42fa5d77aade80f20465a76b0a 100644
--- a/backend/src/app.controller.ts
+++ b/backend/src/app.controller.ts
@@ -1,12 +1,7 @@
-import { Controller, Get } from '@nestjs/common';
+import { Controller } from '@nestjs/common';
 import { AppService } from './app.service';
 
 @Controller()
 export class AppController {
   constructor(private readonly appService: AppService) {}
-
-  @Get()
-  getHello(): string {
-    return this.appService.getHello();
-  }
 }
diff --git a/backend/src/app.module.ts b/backend/src/app.module.ts
index 278b638f9d853fe8c1ff8cb67ea693775b49b99e..7084d7b4f1b414d2ecc8adcf627ea9d1fae01b1a 100644
--- a/backend/src/app.module.ts
+++ b/backend/src/app.module.ts
@@ -1,10 +1,18 @@
 import { Module } from '@nestjs/common';
 import { ConfigModule } from '@nestjs/config';
+import { CategoriesModule } from './api/categories/categories.module';
+import { DirectorsModule } from './api/directors/directors.module';
+import { MoviesModule } from './api/movies/movies.module';
 import { AppController } from './app.controller';
 import { AppService } from './app.service';
 
 @Module({
-  imports: [ConfigModule.forRoot()],
+  imports: [
+    ConfigModule.forRoot(),
+    CategoriesModule,
+    DirectorsModule,
+    MoviesModule,
+  ],
   controllers: [AppController],
   providers: [AppService],
 })
diff --git a/backend/src/app.service.ts b/backend/src/app.service.ts
index 927d7cca0badb13577152bf8753ce3552358f53b..7263d33a2a66e48c0b40af50ada82d18b0d376ae 100644
--- a/backend/src/app.service.ts
+++ b/backend/src/app.service.ts
@@ -1,8 +1,4 @@
 import { Injectable } from '@nestjs/common';
 
 @Injectable()
-export class AppService {
-  getHello(): string {
-    return 'Hello World!';
-  }
-}
+export class AppService {}
diff --git a/backend/src/dto/categoryDto.ts b/backend/src/dto/categoryDto.ts
new file mode 100644
index 0000000000000000000000000000000000000000..392b20e89fb44bdf0bb23fec41d1809d179072fc
--- /dev/null
+++ b/backend/src/dto/categoryDto.ts
@@ -0,0 +1,7 @@
+import { IMovieDto } from './movieDto';
+
+export interface ICategoryDto {
+  id: string;
+  name: string;
+  movies: IMovieDto[];
+}
diff --git a/backend/src/dto/directorDto.ts b/backend/src/dto/directorDto.ts
new file mode 100644
index 0000000000000000000000000000000000000000..004ec5e0f52b3db1a56c30cdb9eb135d91468530
--- /dev/null
+++ b/backend/src/dto/directorDto.ts
@@ -0,0 +1,9 @@
+import { IMovieDto } from './movieDto';
+
+export interface IDirectorDto {
+  id: string;
+  name: string;
+  surname: string;
+  birthDate: Date;
+  movies: IMovieDto[];
+}
diff --git a/backend/src/dto/index.ts b/backend/src/dto/index.ts
new file mode 100644
index 0000000000000000000000000000000000000000..356963be11cde763d021b4d15fdb853eaeb9f16c
--- /dev/null
+++ b/backend/src/dto/index.ts
@@ -0,0 +1,5 @@
+import { ICategoryDto } from './categoryDto';
+import { IDirectorDto } from './directorDto';
+import { IMovieDto } from './movieDto';
+
+export { ICategoryDto, IDirectorDto, IMovieDto };
diff --git a/backend/src/dto/movieDto.ts b/backend/src/dto/movieDto.ts
new file mode 100644
index 0000000000000000000000000000000000000000..608d74dc7335efcccd347335b2df90344a6158c4
--- /dev/null
+++ b/backend/src/dto/movieDto.ts
@@ -0,0 +1,14 @@
+import { ICategoryDto } from './categoryDto';
+import { IDirectorDto } from './directorDto';
+
+export interface IMovieDto {
+  id: string;
+  name: string;
+  originalName: string;
+  intro: string;
+  picture?: string;
+  publishedAt: Date;
+  runTimeMinutes: number;
+  director: IDirectorDto;
+  categories: ICategoryDto[];
+}
diff --git a/backend/src/main.ts b/backend/src/main.ts
index 4084ce75dbf659a0a90d934380c9d84a328a1a3a..9a76c1e93008ef76473c9f964c6686f4ee7d5fcb 100644
--- a/backend/src/main.ts
+++ b/backend/src/main.ts
@@ -1,11 +1,40 @@
-import { NestFactory } from '@nestjs/core';
+import { HttpAdapterHost, NestFactory } from '@nestjs/core';
 import { ConfigService } from '@nestjs/config';
 import { AppModule } from './app.module';
+import { ValidationPipe } from '@nestjs/common';
+import {
+  DocumentBuilder,
+  SwaggerCustomOptions,
+  SwaggerModule,
+} from '@nestjs/swagger';
+import { PrismaClientExceptionFilter } from './prisma/prisma-client-exception.filter';
 
 async function bootstrap(): Promise<void> {
   const app = await NestFactory.create(AppModule);
   const configService = app.get(ConfigService);
 
+  app.useGlobalPipes(
+    new ValidationPipe({
+      transform: true,
+    }),
+  );
+
+  const { httpAdapter } = app.get(HttpAdapterHost);
+  app.useGlobalFilters(new PrismaClientExceptionFilter(httpAdapter));
+
+  const swaggerDocConfig = new DocumentBuilder()
+    .setTitle('Movie Base API')
+    .setVersion('1.0')
+    .addTag('movies')
+    .addTag('directors')
+    .addTag('categories')
+    .build();
+  const swaggerDoc = SwaggerModule.createDocument(app, swaggerDocConfig);
+  const swaggerOptions: SwaggerCustomOptions = {
+    customSiteTitle: 'Movie Base API Docs',
+  };
+  SwaggerModule.setup('/', app, swaggerDoc, swaggerOptions);
+
   const port = configService.get<number>('PORT') | 4000;
   console.log(`NestJS server is listening on: http://localhost:${port}`);
   await app.listen(port);
diff --git a/backend/src/prisma/prisma-client-exception.filter.ts b/backend/src/prisma/prisma-client-exception.filter.ts
new file mode 100644
index 0000000000000000000000000000000000000000..b864458325afeca36a9568aa3c3c21210ca0a9ba
--- /dev/null
+++ b/backend/src/prisma/prisma-client-exception.filter.ts
@@ -0,0 +1,32 @@
+import { ArgumentsHost, Catch, HttpStatus } from '@nestjs/common';
+import { BaseExceptionFilter } from '@nestjs/core';
+import { Prisma } from '@prisma/client';
+import { Response } from 'express';
+
+@Catch(Prisma.PrismaClientKnownRequestError)
+export class PrismaClientExceptionFilter extends BaseExceptionFilter {
+  catch(
+    exception: Prisma.PrismaClientKnownRequestError,
+    host: ArgumentsHost,
+  ): void {
+    const context = host.switchToHttp();
+    const response = context.getResponse<Response>();
+
+    switch (exception.code) {
+      case 'P2002':
+        // 409 error code when unique constraint violated
+        const statusCode = HttpStatus.CONFLICT;
+        const message = exception.message.replace(/\n/g, '');
+        response.status(statusCode).json({
+          statusCode,
+          message, // TODO: check the message if it does not expose more info than necessary
+        });
+        break;
+      // TODO: other exception codes?
+      default:
+        // default 500 error code
+        super.catch(exception, host);
+        break;
+    }
+  }
+}
diff --git a/backend/src/prisma.service.ts b/backend/src/prisma/prisma.service.ts
similarity index 100%
rename from backend/src/prisma.service.ts
rename to backend/src/prisma/prisma.service.ts
diff --git a/docker-compose.yml b/docker-compose.yml
index edd8a39a1895fcd5dda5b7554088266cdd729357..2f9ccafc2b4d775d6e8b7f1b1b499e032d4c9423 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -27,6 +27,8 @@ services:
   postgres:
     container_name: postgres
     image: postgres:14.3-alpine
+    ports:
+      - 127.0.0.1:${DB_PORT}:${DB_PORT}
     networks:
       - backend-network
     volumes:
@@ -93,6 +95,7 @@ services:
 
 networks:
   backend-network:
+    driver: bridge
   frontend-network:
 
 volumes:
diff --git a/sample.sql b/sample.sql
new file mode 100644
index 0000000000000000000000000000000000000000..ca21121c8cd3942607f7aa82cb71c79689077073
--- /dev/null
+++ b/sample.sql
@@ -0,0 +1,482 @@
+-- Adminer 4.8.1 PostgreSQL 14.3 dump
+
+DROP TABLE IF EXISTS "Category";
+CREATE TABLE "public"."Category" (
+    "id" text NOT NULL,
+    "createdAt" timestamp(3) DEFAULT CURRENT_TIMESTAMP NOT NULL,
+    "updatedAt" timestamp(3) NOT NULL,
+    "deletedAt" timestamp(3),
+    "name" text NOT NULL,
+    CONSTRAINT "Category_name_key" UNIQUE ("name"),
+    CONSTRAINT "Category_pkey" PRIMARY KEY ("id")
+) WITH (oids = false);
+
+INSERT INTO "Category" ("id", "createdAt", "updatedAt", "deletedAt", "name") VALUES
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'2022-06-17 03:22:28.335',	'2022-06-17 03:22:28.335',	NULL,	'Drama'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'2022-06-17 03:22:32.405',	'2022-06-17 03:22:32.406',	NULL,	'Krimi'),
+('0194145a-cc12-4334-8637-b2222460a944',	'2022-06-17 03:22:45.485',	'2022-06-17 03:22:45.486',	NULL,	'Komedie'),
+('f1c079ca-e421-4f5f-b6b9-a8ee774e4e98',	'2022-06-17 03:22:49.544',	'2022-06-17 03:22:49.545',	NULL,	'Romantický'),
+('9149e3dd-de80-453e-8361-3ed1472404b5',	'2022-06-17 03:23:00.6',	'2022-06-17 03:23:00.601',	NULL,	'Mysteriózní'),
+('76128e4c-f28b-4647-9061-5fe85329f5f8',	'2022-06-17 03:23:13.601',	'2022-06-17 03:23:13.602',	NULL,	'Thriller'),
+('a8252bc5-e8c9-42a8-9196-d340acd836f9',	'2022-06-17 03:23:25.88',	'2022-06-17 03:23:25.881',	NULL,	'Psychologický'),
+('b1bda101-4b2b-48db-a4d0-bf26770aa21e',	'2022-06-17 03:23:51.941',	'2022-06-17 03:23:51.942',	NULL,	'Historický'),
+('1b012da6-a926-4b9f-a432-dca6cd1111ec',	'2022-06-17 03:23:56.007',	'2022-06-17 03:23:56.008',	NULL,	'Životopisný'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'2022-06-17 03:25:01.7',	'2022-06-17 03:25:01.7',	NULL,	'Akční'),
+('3b3fbec3-ae21-4683-bb6b-c7a7a289e2d6',	'2022-06-17 03:25:05.76',	'2022-06-17 03:25:05.761',	NULL,	'Sci-Fi'),
+('80869462-7c34-4795-b6d9-0c87dc0a3f3c',	'2022-06-17 03:31:18.82',	'2022-06-17 03:31:18.821',	NULL,	'Pohádka'),
+('695bcf99-8de9-4992-b9e6-04e8ef8d2d66',	'2022-06-17 03:31:38.039',	'2022-06-17 03:31:38.039',	NULL,	'Hudební'),
+('b0815bb7-6efc-4a17-bb06-32690b05943e',	'2022-06-17 03:25:56.048',	'2022-06-17 03:25:56.048',	NULL,	'Fantasy'),
+('b5a35b28-a5be-420c-9760-e2a577c31391',	'2022-06-17 03:26:00.104',	'2022-06-17 03:26:00.105',	NULL,	'Dobrodružný'),
+('9d4201d6-8690-4b88-99a4-81670db1cabd',	'2022-06-17 03:26:36.316',	'2022-06-17 03:26:36.316',	NULL,	'Horor'),
+('01771e30-20cf-4117-b8b9-c73d323b5a50',	'2022-06-17 03:26:49.296',	'2022-06-17 03:26:49.297',	NULL,	'Western'),
+('7ab10e30-f4f1-490e-8694-41bb888d7e00',	'2022-06-17 03:28:07.661',	'2022-06-17 03:28:07.662',	NULL,	'Road movie'),
+('eea14b3e-dea7-4dd2-b99e-7cedc7063471',	'2022-06-17 03:28:37.603',	'2022-06-17 03:28:37.604',	NULL,	'Válečný'),
+('1b524176-5fbd-4ac9-bda2-36030d9e9b15',	'2022-06-17 03:29:23.041',	'2022-06-17 03:29:23.041',	NULL,	'Sportovní');
+
+DROP TABLE IF EXISTS "Director";
+CREATE TABLE "public"."Director" (
+    "id" text NOT NULL,
+    "createdAt" timestamp(3) DEFAULT CURRENT_TIMESTAMP NOT NULL,
+    "updatedAt" timestamp(3) NOT NULL,
+    "deletedAt" timestamp(3),
+    "name" text NOT NULL,
+    "surname" text NOT NULL,
+    "birthDate" timestamp(3),
+    CONSTRAINT "Director_name_surname_birthDate_key" UNIQUE ("name", "surname", "birthDate"),
+    CONSTRAINT "Director_pkey" PRIMARY KEY ("id")
+) WITH (oids = false);
+
+INSERT INTO "Director" ("id", "createdAt", "updatedAt", "deletedAt", "name", "surname", "birthDate") VALUES
+('3e54c152-0235-453c-9609-5281591a7061',	'2022-06-17 03:22:24.183',	'2022-06-17 03:22:24.183',	NULL,	'Frank',	'Darabont',	NULL),
+('479fafd8-4266-4761-8ec1-d3c10007b2d4',	'2022-06-17 03:22:37.338',	'2022-06-17 03:22:37.338',	NULL,	'Robert',	'Zemeckis',	NULL),
+('8ae2b975-485b-4883-84c8-454d7346d9cd',	'2022-06-17 03:23:09.51',	'2022-06-17 03:23:09.51',	NULL,	'David',	'Fincher',	NULL),
+('8b8085a3-f1ce-4d2d-a922-7fdac528b8bc',	'2022-06-17 03:23:34.762',	'2022-06-17 03:23:34.763',	NULL,	'Miloš',	'Forman',	NULL),
+('641a6488-49a1-4df9-aac4-0980e4eb9047',	'2022-06-17 03:23:43.804',	'2022-06-17 03:23:43.805',	NULL,	'Steven',	'Spielberg',	NULL),
+('17124574-c42d-453a-a277-408b2c008a1d',	'2022-06-17 03:24:01.142',	'2022-06-17 03:24:01.143',	NULL,	'Francis',	'Ford',	NULL),
+('986d434f-20ce-4288-bf52-aef2f8bbb869',	'2022-06-17 03:24:14.254',	'2022-06-17 03:24:14.255',	NULL,	'Sidney',	'Lumet',	NULL),
+('54eaf53f-0591-41de-b722-57e4c71b5aa1',	'2022-06-17 03:24:27.349',	'2022-06-17 03:24:27.35',	NULL,	'Eric',	'Toledano,',	NULL),
+('6243b3f8-ac10-472e-9baf-c97c07507a81',	'2022-06-17 03:24:44.44',	'2022-06-17 03:24:44.441',	NULL,	'Jan',	'Hřebejk',	NULL),
+('46cb4b90-d2e9-4b2f-87ef-371d9eea3cc9',	'2022-06-17 03:24:57.628',	'2022-06-17 03:24:57.629',	NULL,	'James',	'Cameron',	NULL),
+('a394181b-50e7-4ebb-b5d5-04ff16f92ef3',	'2022-06-17 03:25:14.717',	'2022-06-17 03:25:14.717',	NULL,	'Joseph',	'Kosinski',	NULL),
+('a2e48cfa-0ac6-4933-b143-d838679025df',	'2022-06-17 03:25:27.83',	'2022-06-17 03:25:27.83',	NULL,	'Quentin',	'Tarantino',	NULL),
+('8c4dd6b4-6149-49f4-895a-556561ebc0de',	'2022-06-17 03:25:51.987',	'2022-06-17 03:25:51.988',	NULL,	'Peter',	'Jackson',	NULL),
+('35ca45df-ff22-4e87-8532-d9412df17246',	'2022-06-17 03:26:24.095',	'2022-06-17 03:26:24.095',	NULL,	'Jonathan',	'Demme',	NULL),
+('947ec5dc-6387-4049-8c80-e442ced8268b',	'2022-06-17 03:26:45.23',	'2022-06-17 03:26:45.23',	NULL,	'Sergio',	'Leone',	NULL),
+('c108844d-b56f-4017-b87e-a085fa52ab8d',	'2022-06-17 03:26:58.438',	'2022-06-17 03:26:58.438',	NULL,	'Christopher',	'Nolan',	NULL),
+('bdab1bf7-04a3-490b-8dd6-4167576f5686',	'2022-06-17 03:27:19.736',	'2022-06-17 03:27:19.736',	NULL,	'Clint',	'Eastwood',	NULL),
+('ea3f40f7-d6d3-4ba2-a726-843b8f0b9c2e',	'2022-06-17 03:27:28.609',	'2022-06-17 03:27:28.609',	NULL,	'Lilly',	'Wachowski,',	NULL),
+('32ab1439-a1b1-49ff-8840-d7530a10dbee',	'2022-06-17 03:27:59.508',	'2022-06-17 03:27:59.508',	NULL,	'Barry',	'Levinson',	NULL),
+('ccf8809f-6dbc-45b8-a796-3e04dc3076db',	'2022-06-17 03:28:12.484',	'2022-06-17 03:28:12.484',	NULL,	'John',	'Sturges',	NULL),
+('fe3ffb22-b415-4860-82ef-4f6f07e64c55',	'2022-06-17 03:28:29.453',	'2022-06-17 03:28:29.454',	NULL,	'Jiří',	'Krejčík',	NULL),
+('4d6704cb-02bc-4283-a4c2-074dfa1afd9c',	'2022-06-17 03:28:57.61',	'2022-06-17 03:28:57.611',	NULL,	'Ridley',	'Scott',	NULL),
+('0c4cb1ea-94e7-4f80-9693-ae8d918eca73',	'2022-06-17 03:29:10.826',	'2022-06-17 03:29:10.827',	NULL,	'Ron',	'Howard',	NULL),
+('2ee30665-fd1a-434d-9aef-30277778de1d',	'2022-06-17 03:29:32.034',	'2022-06-17 03:29:32.035',	NULL,	'James',	'Mangold',	NULL),
+('c31e5574-74dc-4322-b9e9-c74081406a06',	'2022-06-17 03:29:53.142',	'2022-06-17 03:29:53.143',	NULL,	'John',	'McTiernan',	NULL),
+('5a332614-c1b9-47c2-b783-6fb920c64717',	'2022-06-17 03:30:29.427',	'2022-06-17 03:30:29.427',	NULL,	'George',	'Roy',	NULL),
+('fe855b14-b95c-422a-adfc-fc706e60b03a',	'2022-06-17 03:30:57.711',	'2022-06-17 03:30:57.711',	NULL,	'Luc',	'Besson',	NULL),
+('bfaf47b3-d677-42ff-b1cc-b03ee2c24f87',	'2022-06-17 03:31:14.743',	'2022-06-17 03:31:14.743',	NULL,	'Hynek',	'Bočan',	NULL),
+('ce7f0437-bcc5-43f2-b689-448f1daafff1',	'2022-06-17 03:31:42.853',	'2022-06-17 03:31:42.854',	NULL,	'Jan',	'Svěrák',	NULL),
+('9018001f-5ccf-400d-9faa-70241a2aa55f',	'2022-06-17 03:31:55.997',	'2022-06-17 03:31:55.998',	NULL,	'Oldřich',	'Lipský',	NULL),
+('4c215c46-2e36-4ec2-a580-7023ee5324a5',	'2022-06-17 03:32:05.126',	'2022-06-17 03:32:05.127',	NULL,	'Irvin',	'Kershner',	NULL),
+('950163f9-c842-4a1f-b195-a2f4c7245bdb',	'2022-06-17 03:32:26.196',	'2022-06-17 03:32:26.196',	NULL,	'Martin',	'Frič',	NULL),
+('138a6ec7-6a38-4fca-997e-66bfebfec317',	'2022-06-17 03:32:54.524',	'2022-06-17 03:32:54.525',	NULL,	'Curtis',	'Hanson',	NULL),
+('84fb6602-de41-4b76-9c1a-581ebac234df',	'2022-06-17 03:33:15.638',	'2022-06-17 03:33:15.639',	NULL,	'Fernando',	'Meirelles,',	NULL),
+('6ba690c6-39a6-4eec-8e1b-5067fe5492ae',	'2022-06-17 03:34:33.233',	'2022-06-17 03:34:33.233',	NULL,	'Juraj',	'Herz',	NULL),
+('bd48f395-6de7-492c-a0a5-113a79e394c9',	'2022-06-17 03:34:58.687',	'2022-06-17 03:34:58.688',	NULL,	'Kevin',	'Costner',	NULL);
+
+DROP TABLE IF EXISTS "Movie";
+CREATE TABLE "public"."Movie" (
+    "id" text NOT NULL,
+    "createdAt" timestamp(3) DEFAULT CURRENT_TIMESTAMP NOT NULL,
+    "updatedAt" timestamp(3) NOT NULL,
+    "deletedAt" timestamp(3),
+    "name" text NOT NULL,
+    "originalName" text NOT NULL,
+    "intro" text NOT NULL,
+    "picture" text,
+    "runTimeMinutes" integer NOT NULL,
+    "directorId" text NOT NULL,
+    "publishedAt" integer NOT NULL,
+    CONSTRAINT "Movie_originalName_publishedAt_directorId_key" UNIQUE ("originalName", "publishedAt", "directorId"),
+    CONSTRAINT "Movie_pkey" PRIMARY KEY ("id")
+) WITH (oids = false);
+
+INSERT INTO "Movie" ("id", "createdAt", "updatedAt", "deletedAt", "name", "originalName", "intro", "picture", "runTimeMinutes", "directorId", "publishedAt") VALUES
+('bf9d8581-6f71-40ed-b048-1d4612252347',	'2022-06-17 03:22:26.245',	'2022-06-17 03:22:26.246',	NULL,	'Vykoupení z věznice Shawshank',	'Vykoupení z věznice Shawshank',	'Andy Dufresne (Tim Robbins) je mladý a úspěšný bankéř. Jeho život se drasticky změní poté, co je odsouzen k trestu dvojnásobného doživotí za vraždu manželky a jejího milence. Andy je ovšem jediný, kdo ví, že zločiny nespáchal. Andy, který je v civilním životě mlčenlivý bankéř, je poslán do věznice Shawshank, aby si trest krutě odpykal, a musí se naučit probít nelítostnými podmínkami za zdmi vězení, kde je život často na ostří nože. Jeho tichá síla si postupně získá respekt nejen spoluvězňů, zejména Reda (Morgan Freeman), ale hlavně zaměstnanců vězení. Ale pod rouškou zdánlivě flegmatického přijetí nespravedlivého trestu se skrývá Andyho zaryté odhodlání dostat se na svobodu…
+
+		
+					(TV Prima)',	NULL,	142,	'3e54c152-0235-453c-9609-5281591a7061',	1994),
+('5a075dfc-afdd-49a7-9c19-052c41bc7f5f',	'2022-06-17 03:22:39.39',	'2022-06-17 03:22:39.391',	NULL,	'Forrest Gump',	'Forrest Gump',	'Poněkud prostoduchý Forrest Gump, vyzbrojen užitečnými radami své matky, se vydává na pouť životem, který mu připraví nejedno překvapení. Mnoho hořkých, ale také nádherných chvil...Mladý muž jménem Forrest Gump sedí na zastávce autobusu a každému, kdo si přisedne, vypráví o svém životě. Poněkud jednoduchý chlapec se narodil v Alabamě, kde žil jen s matkou, která mu dala mnoho dobrých rad do života. Především tu, aby si nikdy nenechal od nikoho namluvit, že je jiný než ostatní. Dostala ho dokonce i do normální školy, přestože jí doporučovali zvláštní, vzhledem k jeho nízkému IQ. Forrest, terč zlomyslných vtípků a krutých žertů svých kamarádů, si tam najde přítelkyni na celý život: Jenny je půvabná blonďatá holčička, kterou zneužívá otec, a tak ji dají do výchovy babičce. Oba se stanou nerozlučnými přáteli. Jenny Forrestovi dá další cennou radu do života: když budeš mít problém, utíkej. A tak Forrest proutíká školou, pak i střední školou a nakonec vysokou, kde se osvědčí jako nejrychlejší hráč amerického fotbalu. Po svém prožívá i velké události v amerických dějinách, třeba přijetí dvou prvních černých studentů na univerzitu nebo setkání s prezidentem Kennedym... Forrest se na vše dívá svýma naivníma očima, aniž by věci zvažoval do důsledků. Řídí se upřímným citem, jako když stále a opakovaně „zachraňuje“ Jenny, jakmile se mu zdá, že jí někdo ubližuje. Když získá diplom, dá se naverbovat do armády. Doslechne se, že Jenny vyhodili ze školy kvůli nestoudným fotkám a že se pokouší v Memphisu prosadit jako zpěvačka. Navštíví ji a znovu nešikovně „zachraňuje“. Pak je poslán do Vietnamu. Ani hrůzy války tak docela nechápe, i když se při jednom útoku projde dokonalým peklem. Je zabit jeho zatím jediný přítel, černoch Bubba. Forrest, kterého chtěl Bubba přibrat jako partnera do své firmy, je zdrcený. Přesto zachrání několik dalších vojáků včetně poručíka Dana Taylora, který mu ale není pranic vděčný: jakožto člen rodiny, v níž celé generace mužů umíraly ve válkách, si přeje zemřít po boku svých mužů. A on navíc přijde o obě nohy. Zraněn je ale i Forrest a vrací se domů. Ještě ve Vietnamu v nemocnici se mu vrátí dopisy, které pravidelně psal Jenny a jejichž adresátka nebyla zastižena... Po návratu domů mu prezident Johnson udělí medaili a při prohlídce Washingtonu se přimíchá do davu protestujících proti válce. Je vyzván, aby pohovořil o Vietnamu, nejde ale zvuk. Přesto ho tisícihlavý dav zdraví jako hrdinu. Mezi přihlížejícími je i Jenny, nyní horlivá aktivistka protiválečného hnutí Černí panteři. Shledání Forresta s jeho velkou a jedinou láskou je dojemné. Prochodí spolu celou noc a povídají si. Forrest nechce, aby Jenny opět odjela, ale ta se chystá do Kalifornie. Forrest zůstává zase sám...
+
+		
+					(TV Prima)',	NULL,	142,	'479fafd8-4266-4761-8ec1-d3c10007b2d4',	1994),
+('e153953b-d6d4-46d3-a686-cbee3a9ce826',	'2022-06-17 03:22:54.477',	'2022-06-17 03:22:54.478',	NULL,	'Zelená míle',	'Zelená míle',	'Brilantní filmové drama Zelená míle podle knižní předlohy Stephena Kinga natočil režisér Frank Darabont, který se zároveň podílel i na jeho scénáři. Film s vynikajícím Tomem Hanksem v hlavní roli, byl nominován na čtyři Oscary. Centrem příběhu je černý obr John Coffey (Michael Clarke Duncan), čekající na popravu za zločin, který dost možná nespáchal a přesto zemře, a dále pak věčné dilema kolem rozhodování o trestu smrti. Děj filmu se odehrává ve věznici, kde sedí ti největší hříšníci, a kde je hrůzostrašná chodba natřená na zeleno, které všichni říkají Zelená míle. Chodba, na jejímž konci čeká smrt. Pokud se nestane zázrak...
+
+		
+					(Bontonfilm)',	NULL,	188,	'3e54c152-0235-453c-9609-5281591a7061',	1999),
+('91abd554-90cb-42b2-946d-fb9bf82540de',	'2022-06-17 03:23:11.545',	'2022-06-17 03:23:11.546',	NULL,	'Sedm',	'Sedm',	'Dva policisté (Brad Pitt a Morgan Freeman) jsou na stopě geniálního vraha, zodpovědného za sérii děsivých vražd, jejichž oběti spojuje sedm smrtelných hříchů. V jedné z rolí tohoto kvalitního trhilleru, zasazeného do temného města nasáklého bolestí a zkázou, uvidíte také Gwyneth Paltrow. David Fincher (Klub rváčů, Zodiac, Podivuhodný případ Benjamina Buttona) s dokonalou znalostí našich nejhlubších obav pevně svírá otěže akce – fyzické, psychické i spirituální – neodvratně směřující k rozuzlení, které do hloubi otřese i tou nejzatvrzelejší duší.
+
+		
+					(Magic Box)',	NULL,	127,	'8ae2b975-485b-4883-84c8-454d7346d9cd',	1995),
+('a5ff76f6-3e98-4f01-a483-1eeaa1bc2251',	'2022-06-17 03:23:36.804',	'2022-06-17 03:23:36.805',	NULL,	'Přelet nad kukaččím hnízdem',	'Přelet nad kukaččím hnízdem',	'Předlohou k filmu Přelet nad kukaččím hnízdem byl režiséru Miloši Formanovi román Kena Keseyho, který ho psal při působení v „nemocnici pro veterány“. Snímek se stal největším mezinárodním úspěchem ve Formanově kariéře. V roce 1976 získal Oscara ve všech hlavních kategoriích – za nejlepší film, režii, mužský herecký výkon (Jack Nicholson), ženský herecký výkon (Louise Fletcherová) a scénář. Majitelem filmových a divadelních práv byl 13 let Kirk Douglas, který je postoupil svému synu Michaelovi a tím z něho udělal úspěšného producenta... Zrzavý irský rváč a profesionální karbaník Randle Patrick McMurphy si odpykává trest za opakované násilné napadení a sexuální zneužití. Místo aby se držel v pracovním táboře, hraje pomateného a nechá se poslat do zdánlivého klidu psychiatrické léčebny. Jeho životní elán a silná osobnost se v ústavu brzy střetávají s absolutismem vrchní sestry Ratchedové, která s pomocí trojice lapiduchů tyransky vládne celému ústavu. McMurphy nesnese pohled na ušlápnuté pacienty a brzy v nich probouzí poslední špetku hrdosti a radosti ze života. V zápasu s Velkou sestrou obrátí blázinec doslova vzhůru nohama. Stěny ústavu se otřásají jeho hřmotným smíchem a nespoutaným elánem. Vzpoura McMurphyho ale nemá velkou naději proti síle mašinérie zosobněné Velkou sestrou… Brilantní románová satira Kena Keseyho, mísící v sobě komiku i tragiku, přerůstá v neobyčejně působivém filmovém zpracování v silný protest proti neomezené moci a omezování každého člověka.
+
+		
+					(Česká televize)',	NULL,	133,	'8b8085a3-f1ce-4d2d-a922-7fdac528b8bc',	1975),
+('f30a8732-a3bd-4da9-b99f-9e741776d937',	'2022-06-17 03:23:45.832',	'2022-06-17 03:23:45.832',	NULL,	'Schindlerův seznam',	'Schindlerův seznam',	'Polský Krakov 1939. Židovská obec je vystavována stále se zvyšujícímu tlaku ze strany nacistů. Do této vřavy vstupuje neúspěšný obchodník Oskar Schindler, člen nacistické strany, velký svůdník a muž, který cítí, že by na válečném utrpení mohl hodně vydělat. Levná pracovní síla v židovském ghettu zajišťuje jeho továrně na smaltované nádobí obrovské zisky. Jenže Třetí říše má s jeho zaměstnanci úplně jiné úmysly, v dobytčácích je chce poslat na věčnost, do Osvětimi. Sám Schindler možná netušil, kdy v těchto nelidských opatřeních přestal vnímat ohrožení svého podnikání, a kdy začal o „své“ židy bojovat kvůli vlastnímu svědomí.
+
+		
+					(CinemArt)',	NULL,	195,	'641a6488-49a1-4df9-aac4-0980e4eb9047',	1993),
+('d6f9f4a2-2e3e-44af-bfe4-24fbd3d9f1da',	'2022-06-17 03:24:03.181',	'2022-06-17 03:24:03.181',	NULL,	'Kmotr',	'Kmotr',	'Gangsterské drama Kmotr, natočené podle stejnojmenného bestselleru Maria Puza, patří mezi přelomová díla tzv. Nového Hollywoodu, a to jak komerčně, tak umělecky. Příběh newyorské mafiánské rodiny Corleonů, jíž tvrdou rukou šéfuje starý don Vito (Marlon Brando), se odehrává v letech 1945 - 55 a zaznamenává prudký rozmach organizovaného zločinu po skončení druhé světové války. V epických, rozmáchlých obrazech před divákem ožívají osudy italsko-americké rodiny, jež svůj blahobyt založila na hazardu, prostituci, vydírání a zastrašování. Tehdy mladý režisér Francis Ford Coppola, který byl poněkud překvapivě pověřen společností Paramount realizací jednoho z jejích stěžejních projektů (své nepochybně sehrálo i jeho italsko-americké zázemí), musel redukovat některé motivy rozsáhlé předlohy, ovšem podařilo se mu věrně zachovat jejího ducha - přesný popis fungování zločinecké organizace, zachycení její hierarchie, začlenění do tehdejšího společenského vývoje i často kritizované zdůrazňování rodinné soudržnosti. Pevnou dramatickou stavbu scénáře (na němž Coppola spolupracoval s autorem předlohy) podpořilo i režijní ztvárnění, jež čerpalo především z klasických vypravěčských praktik hollywoodských děl 30. let (např. Jih proti Severu), okořeněných soudobým příklonem k realismu, zejména v zobrazování násilí a sexu. Snímek získal tři Oscary - za nejlepší film, scénář podle předlohy a mužský herecký výkon v hlavní roli (Marlon Brando, který svou cenu odmítl převzít). Pro úspěch filmu, který se stal diváckým hitem nejen ve Spojených státech, ale i ve zbytku světa (kromě např. tehdejšího Československa, kde se kvůli údajné glorifikaci zločinu a násilí nesměl promítat, ač Puzova kniha v českém překladu vyšla), bylo klíčové herecké obsazení hlavních úloh dona Vita Corleona a jeho nejmladšího syna Michaela. Vedení Paramountu nesouhlasilo s Marlonem Brandem, na němž mu vedle jeho dobře známé pověsti "obtížného a nespolehlivého herce, jehož poslední filmy byly propadáky", vadilo hlavně to, že je na roli mafiánského patriarchy příliš mladý (v době příprav filmu mu bylo 47 let), a ještě větší odpor dávalo najevo vůči Al Pacinovi, jenž se jim zdál málo známý, příliš obyčejný a především malý. Coppola s oběma herci natočil testy, jež nakonec šéfy Paramountu přesvědčily. Se stejnou pečlivostí režisér obsadil i další role, nejstaršího Corleonova syna, prchlivého Sonnyho (James Caan), jeho slabošského bratra Freda (John Cazale) a conseglieriho Toma Hagena (Robert Duvall). Úlohy Corleonových "vojáků" a dalších gangsterů ztělesnili vesměs málo známí představitelé, kteří dokonale typově odpovídali svým postavám (např. Richard Castellano jako Clemenza nebo Al Lettieri jako Sollozzo). V kreaci Michaelovy neitalské dívky Kay Adamsové zaujala budoucí múza Woodyho Allena Diane Keatonová a Corleonovu týranou dceru Connii ztělesnila pozdější Stalloneova partnerka z Rockyho, Coppolova mladší sestra Talia Shireová. Téměř tříhodinový snímek (který uvádíme, stejně jako další díly trilogie, ve dvou částech) vrcholí slavnou scénou křtu Michaelova synovce (představovaného Coppolovou dcerou Sofií), prostříhaného krvavým vyřizováním účtů s ostatními mafiánskými rodinami, jež znamenalo upevnění moci Corleonova klanu, ale také definitivní převzetí "rodinné firmy" zprvu zdráhavým Michaelem, který se stává důstojným nástupcem zemřelého otce.
+
+		
+					(Česká televize)',	NULL,	175,	'17124574-c42d-453a-a277-408b2c008a1d',	1972),
+('b8a0e8d1-6008-45f2-b487-833e628e8556',	'2022-06-17 03:24:16.296',	'2022-06-17 03:24:16.297',	NULL,	'Dvanáct rozhněvaných mužů',	'Dvanáct rozhněvaných mužů',	'Dvanáct porotců má jednomyslně rozhodnout o vině či nevině mladého muže, který je obviněn z vraždy svého otce. Porotci jsou průměrní Američané s obyčejnými zájmy a zaměstnáním. V průběžném hlasování jedenáct hlasuje za vinu, jenom porotce číslo 8 je proti...
+
+		
+					(Magic Box)',	NULL,	96,	'986d434f-20ce-4288-bf52-aef2f8bbb869',	1957),
+('f7735ebd-e246-40bb-8ddf-b30b2ccc3445',	'2022-06-17 03:24:29.386',	'2022-06-17 03:24:29.387',	NULL,	'Nedotknutelní',	'Nedotknutelní',	'Ochrnutý a bohatý aristokrat Philippe si za svého nového opatrovníka vybere Drisse, živelného mladíka z předměstí, kterého právě propustili z vězení. Jinými slovy - najde si na tuto práci tu nejméně vhodnou osobu. Podaří se jim však propojit nemožné: Vivaldiho a populární hudbu, serióznost a žoviální vtípky, luxusní obleky a tepláky. Bláznivým, zábavným, silným, neočekávaným a hlavně „nedotknutelným“, přesně takovým se stane jejich přátelství… Komedie s dramatickou zápletkou o tom, že ani od krku po prsty u nohou nepohyblivý člověk odkázaný na pomoc druhých, nemusí ztratit smysl života. A o tom, že i nejméně pravděpodobné spojení melancholického multimilionáře a extrovertního recidivisty může humorně zapůsobit na diváka a může se z něj stát kasovní trhák.
+
+		
+					(oficiální text distributora)',	NULL,	112,	'54eaf53f-0591-41de-b722-57e4c71b5aa1',	2011),
+('de359ca8-3d88-4315-8525-0bb873240035',	'2022-06-17 03:24:46.492',	'2022-06-17 03:24:46.492',	NULL,	'Pelíšky',	'Pelíšky',	'A je tu zpět jedna z nejúspěšnějších českých filmových komedií od renomovaných tvůrců - režiséra J. Hřebejka a scenáristy P. Jarchovského s řadou skvělých herců. Vraťme se tedy s oblíbenými postavami k rodinným rituálům, láskám a trapasům odehrávajícím se na sklonku šedesátých let minulého století v jedné pražské čtvrti. Jemná poetika a humorná nadsázka jsou charakteristické pro vyprávění životních osudů tří generací mužů a žen ve zvláštním období našich dějin v roce 1968… V jedné dvoupatrové vile tu žijí dvě rodiny - Šebkovi a Krausovi. Otec Šebek (M. Donutil), prostoduchý, ale dobrácký důstojník z povolání, je zastáncem panujícího režimu a stejně vehementně obhajuje i vlastní neomylnost v roli hlavy rodiny. Elegantní otec Kraus (J. Kodet), bývalý odbojář s trpkou válečnou zkušeností, je naopak zarytým opozičníkem. Také on je přesvědčený o tom, že má za všech okolností pravdu - není proto divu, že se tihle dva nemají zrovna v lásce. Jejich děti - gymnazista Michal (M. Beran) a jeho spolužačka Jindřiška (K. Nováková) - spolu vycházejí docela dobře. I když Michal by byl rád, kdyby ho jeho sousedka brala trochu víc na vědomí. Ta má ale oči pro jiného. Nezbývá mu tedy nic jiného, než aby smutně přihlížel, jak mu jeho první milostné body krade spolužák Elien (O. Brousek). U Šebků a Krausů se zatím střídají rodinné návštěvy, ve vší obřadnosti se tu slaví Vánoce, svatba i nečekaný, bolestný pohřeb. Do zabydlených domácností vtrhnou i některé novodobé vymoženosti v podobě umělohmotných lžiček, nerozbitných sklenic i podivných her pro statečné pionýry. Mládež zatím pokukuje po lákadlech světa kapitalismu a snaží se žít svůj vlastní, na rodičovských autoritách a "velké" historii nezávislý život. V soukromí rodinných pelíšků se tak čas od času odehrají malá dramata názorů a vztahů, která se v paměti jejich účastníků otisknou už nejspíš navždy…
+
+		
+					(Česká televize)',	NULL,	116,	'6243b3f8-ac10-472e-9baf-c97c07507a81',	1999),
+('dcc82e4a-16d6-4223-9898-3a0e77a48195',	'2022-06-17 03:24:59.655',	'2022-06-17 03:24:59.656',	NULL,	'Terminátor 2: Den zúčtování',	'Terminátor 2: Den zúčtování',	'V budoucnosti přebírají stroje vládu nad světem a mezi nimi a lidmi zuří nelítostná válka. Jedinou naději pro lidstvo představuje John Connor, jehož matku se před deseti lety neúspěšně pokusili zabít... Stroje se ho obávají, proto vyšlou do minulosti nový prototyp kyborga T-1000, který má zničit Connora jako malého chlapce. Vzápětí za ním lidé vysílají starý model terminátora T-800, který je naprogramován, aby Johna chránil...
+
+		
+					(H.C.E.)',	NULL,	137,	'46cb4b90-d2e9-4b2f-87ef-371d9eea3cc9',	1991),
+('ba8d9bb7-4f01-40bd-a893-4e56b1025738',	'2022-06-17 03:25:16.747',	'2022-06-17 03:25:16.747',	NULL,	'Top Gun: Maverick',	'Top Gun: Maverick',	'Pete „Maverick“ Mitchell (Tom Cruise) k smrti rád pilotuje stíhačky. Dokonce tak, že se už přes třicet let úspěšně brání povýšení ve strukturách amerického letectva, protože to by ho z kokpitu vyhnalo do vyhřáté kanceláře. Maverick byl navíc vždycky magnetem na průšvihy, což se s armádní kariérou taky docela vylučuje. Pilot je ovšem bravurní, možná ten úplně nejlepší, a proto dostane nabídku stát se instruktorem elitních stíhačů z programu Top Gun, které má připravit na úkol, jenž spadá do kategorie Mission Imposssible. Kromě téhle bude muset Maverick zvládnout i jednu obtížnou soukromou misi. Jedním z pilotů, které má připravit do akce, je i Bradley Bradshaw (Miles Teller), syn jeho kamaráda a navigátora Goose. Znalci prvního Top Gunu vědí, že Goose zahynul, když se neúspěšně katapultoval z neovladatelné stíhačky, pilotované právě Maverickem. A jeho syn mu otcovu smrt klade za vinu. Maverick za žádnou cenu nechce, aby Bradleyho potkal stejný osud jako jeho otce. Přitom si uvědomuje, že pravděpodobnost, že některý z pilotů plánovanou leteckou operaci nepřežije, není vůbec malá.
+
+		
+					(CinemArt)',	NULL,	131,	'a394181b-50e7-4ebb-b5d5-04ff16f92ef3',	2022),
+('ae2b5576-8a70-4c7e-ac1d-b698067dce4a',	'2022-06-17 03:25:29.875',	'2022-06-17 03:25:29.875',	NULL,	'Pulp Fiction: Historky z podsvětí',	'Pulp Fiction: Historky z podsvětí',	'Tři na první pohled nesouvisející historky z krvavého podsvětí tvoří jeden příběh plný stylizovaného násilí, drog, dnes už kultovních dialogů a hlavně absurdních situací a nečekaných dějových zvratů...Pulp FictionZlodějíček Pumpkin s přítelkyní Honey Bunny se v kavárně domlouvají na další loupeži. Honey Bunny má skvělý nápad – vybrat přítomným kapsy a peněženky. Polibek pro štěstí a se zbraní v ruce se Pumpkin zvedá od svého stolu. Ještě netuší, že to nebude jen tak obyčejné přepadení, protože u nedalekého stolu sedí velmi zvláštními událostmi dne zmatený gangster Jules Winnfield... Toho dne ráno se Jules se svým parťákem Vincentem Vegou vypravili vyřídit kšeft svého mafiánského bosse Marselluse Wallaceho. Vincent se vrátil z tříletého pobytu v Evropě a Marsellus ho pověřil bavením své manželky Mii, zatímco on bude mimo L. A. Má s ní zajít někam na večeři a dát na ni pozor... Vincent Vega a žena Marcelluse Wallaceho Když Vincent s Julesem dorazí k šéfovi, je u něj zrovna boxer Butch. Jeho kariéra je u konce a Marsellus mu nařizuje, aby svůj poslední zápas pustil v pátém kole. Marsellus si tak má přijít na slušné peníze... Vincent si ještě potom zajde koupit koks, aby přežil večer s Wallaceovou paničkou. Ukáže se ale, že Mia je mladá a plná energie, kterou bere mimo jiné i z drog. Na večer mají zamluvený stůl v podniku „Mazaný králíček", hospodě pro fanoušky Elvise Presleyho a dalších hvězd. Během večeře se dají do řeči, celkem si padnou do oka. Mia donutí Vincenta zúčastnit se soutěže v tancování twistu, kterou vyhrají. Po návratu do domu si Vincent odskočí a během té chvíle, se Mia předávkuje koksem a upadne do šoku. Vypadá to, že umírá. Vincent musí rychle jednat...Zlaté hodinky V domě Coolidgeových se objeví kapitán Koons. Je to voják, který sloužil spolu s panem Coolidgem ve Vietnamu a chce předat malému Butchovi zlaté náramkové hodinky. Butch se o přestávce mezi dvěma koly boxu probudí z této vzpomínky – snu. Hrdost mu nedovolí zápas prohrát. Zápas vyhraje – boxera dokonce zabije. Musí ale rychle prchnout před Wallacem. Utíká do taxíku, ve kterém se seznámí se zvědavou Esmeraldou. Ta by chtěla vědět, jaké to je zabít člověka. Butch to ale neví, o jeho smrti se dozvěděl až v taxíku. Neměl moc na výběr – jakmile se proslechlo, že má Butch prohrát, sázkaři rozbořili stánky bookmakerům. Navíc jeho protivník si ani pořádně nezašněroval rukavice, jinak by mohl žít. Esmeralda ho odveze do motelu, a za příplatek slíbí mlčenlivost. V pokoji už na Butche čeká jeho milenka Fabienne. Společně se chystají opustit L. A. a odletět někam do Tichomoří. Peněz mají dost – Butch nechal vsadit na své vítězství. Ráno ale zjistí, že Fabienne zabalila vše potřebné, kromě jeho zlatých hodinek. Butch se neskutečně rozčílí – měly pro něj obrovskou hodnotu. Musí se teď pro ně vrátit do bytu a doufat, že tam na něj nečekají gangsteři...Situace kolem Bonnie Opět se vracíme do rána, kdy Vincent s Julesem vtrhli do bytu mladíků, aby vyzvedli Marsellusův kufr. Ve vedlejší místnosti je schovaný jeden z Brettových kamarádů s revolverem v ruce. Jakmile Jules zastřelí Bretta a jeho kamaráda, vyběhne ven a začne po nich zběsile střílet. Netrefí se však ani jednou a gangsteři ho rozstřílí. Jules to považuje za zázrak – Bůh prý odklonil kulky, které je měly stoprocentně zabít. V místnosti už kromě nich zůstane jen Marvin, který se krčí u dveří. Toho si vezmou jako rukojmí a jedou za Marsellusem. V autě Jules přemítá o zázraku. Je rozhodnutý – bylo to znamení a dnes skončí s dráhou zločinu, už nebude zabíjet ani vydírat. Vincent tomu nemůže uvěřit. Otočí se na zadní sedadlo, kde mlčky sedí Marvin, a ptá se ho na jeho názor. Jak ale Jules najede na hrbol, Vincent omylem rozstřelí Marvinovu hlavu po celém autě. Musejí něco udělat, auto je celé od krve...
+
+		
+					(TV Prima)',	NULL,	154,	'a2e48cfa-0ac6-4933-b143-d838679025df',	1994),
+('12d7e4ca-f382-4356-bf9f-c1bd742ba7c7',	'2022-06-17 03:25:41.051',	'2022-06-17 03:25:41.052',	NULL,	'Kmotr II',	'Kmotr II',	'Jsme větší než U. S. Steel. Al Pacino a Robert De Niro v hlavních rolích pokračování slavné mafiánské ságy, oceněné šesti Oscary... Mimořádný úspěch Kmotra (1972) ve světových kinech logicky vedl k okamžitým úvahám o natočení pokračování, k němuž koneckonců vybízel i relativně otevřený konec originálu. Coppola, který tímto snímkem získal v Hollywoodu nesmírný respekt, ovšem nejdřív svého vlivu využil k realizaci osobního projektu Rozhovor (vyznamenaného mj. Zlatou palmou na MFF v Cannes, ale komerčně neúspěšného). Scénář Kmotra II, jenž je znovu společným dílem autora původní předlohy a režiséra, rozvíjí dvě dějové linie. Další osudy nového kmotra Michaela Corleona (Al Pacino), ovládajícího své impérium z rozsáhlého sídla v nevadském Lake Tahoe. A začátky mladého Vita Corleona (Robert De Niro) v New Yorku 20. let, jež jsou obsaženy i v Puzově původní knize. Michael musí čelit nejen svým konkurentům z podsvětí, zejména Hymanu Rothovi (pozoruhodná kreace slavného hereckého pedagoga Lee Strasberga), který využívá informací zhrzeného Michaelova bratra Freda (John Cazale), ale také zvýšenému zájmu orgánů spravedlnosti, jež v průběhu druhé poloviny 50. let, kdy se Kmotr II odehrává, zintenzivnily svou kampaň proti organizovanému zločinu. Michael své obchodní zájmy uhájí, přes nedobrovolné opuštění hazardních aktivit na revoluční Kubě, ovšem cena je vysoká. Předčasně zestárlý, zahořklý kmotr je ještě nelítostnějším šéfem než jeho otec, ale rodinné vazby, tvořící páteř prvního filmu, zmizely. Michael zůstává osamocený. Bez bratra, kterého nechal zabít, i bez manželky, která od něho odešla... Kmotr II je stejně výjimečným dílem jako originál, na který navazuje. Mnozí dokonce tvrdí, že lepším. Coppola se tu jako režisér představuje ve špičkové formě, navíc posílené neotřesitelným postavením režisérské hvězdy. Už nemusel bojovat o výši rozpočtu jako v případě prvního filmu (který se z finančních důvodů měl původně odehrávat v současnosti), ani o herce, jež hodlal angažovat. Ve všem měl naprosto volnou ruku. Prozřetelným se ukázalo obsazení málo známého Roberta De Nira jako mladého Vita Corleona, jehož elektrizující herectví tu získává na přesvědčivosti také citlivým využitím sicilského dialektu, který v raných scénách nahrazuje angličtinu. Jeho osud v nové zemi, kam musel uprchnout ze sicilské vesničky, jež mu dala jméno, ostře kontrastuje s údělem jeho syna. Vito buduje svoji pozici prakticky z ničeho, dokáže využít každé příležitosti, neštítí se násilných prostředků, pokud je považuje za nutné a efektivní, ale základem je pro něho rodina. Pokračování Kmotra se stalo prvním "sequelem", který získal Cenu Akademie za nejlepší film. Nezůstalo ovšem u jediného Oscara. Kmotr II v tomto ohledu překonal originál celkem se šesti soškami; další cenu mu Akademie udělila za nejlepší režii (ta Coppolovi v prvním případě unikla ve prospěch Boba Fosseho za Kabaret), scénář, výpravu, hudbu (slavný italský skladatel Nino Rota, opominutý u prvního dílu kvůli zařazení již použitých motivů z jiného filmu, tady spolupracoval s režisérovým otcem Carminem Coppolou) a konečně za fenomenální De Nirův výkon ve vedlejší roli.
+
+		
+					(Česká televize)',	NULL,	202,	'17124574-c42d-453a-a277-408b2c008a1d',	1974),
+('6557d3e6-e655-428d-b491-bf4c4fad3839',	'2022-06-17 03:25:54.018',	'2022-06-17 03:25:54.018',	NULL,	'Pán prstenů: Společenstvo Prstenu',	'Pán prstenů: Společenstvo Prstenu',	'V dávných dobách byl vykován kouzelný prsten, který vlastnil pán Mordoru Sauron. Jeho moc začal využívat k šíření zla, ale o prsten nakonec v boji přišel, a ten na dlouhá léta zmizel. Nakonec ho našel hobit Bilbo Pytlík, který díky němu přestal stárnout. Na naléhavou žádost čaroděje Gandalfa předá prsten synovci Frodovi. Ten se svými kamarády Samem, Smíškem a Pipinem odcházejí do Hůrky a Gandalf se vydává pro radu za svým učitelem, čarodějem Sarumanem. Ten se však přidal na stranu zla a zajme ho. S pomocí tajemného hraničáře, přezdívaného Chodec, Frodo a jeho kamarádi uniknou jen o vlásek devíti černým jezdcům, kteří vyrazili z Temné věže, aby prsten našli a přinesli svému pánovi Sauronovi. Do Roklinky je svolána velká porada lidí a elfů, která rozhodne, že prsten musí být zničen. To je možné pouze tam, kde byl prsten zrozen, v ohni Hory osudu. Odvážný Frodo se nabídne, že tam prsten odnese. Nebezpečí je však příliš veliké, a tak se mu, jako jeho ochránci, postaví po bok čaroděj Gandalf, trpaslík Gimli, elf Legolas, bojovník Boromir, hobiti Sam, Smíšek a Pipin a také Chodec. Zrodí se Společenstvo Prstenu, které se vydává na nebezpečnou cestu plnou nástrah a nebezpečí.
+
+		
+					(TV Nova)',	NULL,	172,	'8c4dd6b4-6149-49f4-895a-556561ebc0de',	2001),
+('bf9cbba5-5fa9-49f1-96ae-dad75cbfb34e',	'2022-06-17 03:26:09.04',	'2022-06-17 03:26:09.04',	NULL,	'Pán prstenů: Návrat krále',	'Pán prstenů: Návrat krále',	'Rozhodující bitva o Středozem začíná! Čaroděj Gandalf, elf Legolas a trpaslík Gimli spěchají s dědicem trůnu Aragornem na pomoc zemi Gondor, která odolává početnému Sauronovu vojsku. Armáda obránců dobra by byla poražena, nebýt toho, že Aragorn vyzval k boji po svém boku zástupy prokletých mrtvých z nitra hory. Když mu mrtví pomohou v závěrečném boji o Středozem, budou zbaveni kletby. Mezitím hobiti Frodo a Sam se v doprovodu Gluma snaží dostat hluboko do země Mordor, kde musí v ohních Hory osudu zničit magický Prsten moci. Jedině tak bude síla mocného pána temnot Saurona skutečně zlomena. Glumova mysl je omámena mocí prstenu a on udělá všechno proto, aby se mu jeho miláček vrátil. A tak na Froda a Sama, kteří v Glumovi vidí jedinou možnost, jak najít cestu k Hoře osudu, čekají od jejich průvodce nebezpečné nástrahy...
+
+		
+					(TV Nova)',	NULL,	201,	'8c4dd6b4-6149-49f4-895a-556561ebc0de',	2003),
+('6c6f86f2-8146-44c9-8085-da7ff19d7428',	'2022-06-17 03:26:26.129',	'2022-06-17 03:26:26.129',	NULL,	'Mlčení jehňátek',	'Mlčení jehňátek',	'Mladá citlivá agentka FBI Clarice Steriling je přizvána ke spolupráci do týmu vyšetřujícího sérii vražd. Na pachatele ukazují jen velmi kruté následky jeho činů: Vrah přezdívaný "Buffalo Bill" stahuje vždycky své oběti z kůže a potom je hází do řeky. Clarice má za úkol vypracovat psychologický portrét pachatele. Její nadřízení ji proto vyšlou na "konzultaci" za jiným masovým vrahem, psychiatrem dr. Hannibalem Lecterem, který je vězněn za nejvyšších bezpečnostních opatření. Lecter, který zná ze své praxe vraha i jeho motivy a tuší jeho další postup, drží v rukou všechny nitky a přivádí mladou Clarice na správnou stopu...
+
+		
+					(TV Prima)',	NULL,	119,	'35ca45df-ff22-4e87-8532-d9412df17246',	1991),
+('685b5c6f-cca3-4a21-af49-bce5bb8e979c',	'2022-06-17 03:26:47.262',	'2022-06-17 03:26:47.263',	NULL,	'Tenkrát na Západě',	'Tenkrát na Západě',	'V legendárním westernu Sergia Leoneho, který se částečně natáčel v Monument Valley, se z příběhu pomsty stává epické rozjímání o minulosti Divokého Západu. Aby získal půdu, na níž má vést hlavní tah, najme si chromý železniční baron Morton (Gabriele Ferzetti) zabijáky v čele se sadistickým Frankem s pomněnkovýma očima (Henry Fonda), který zavraždí majitele pozemku Bretta McBaina (Frank Wolff) i s celou jeho rodinou. Chvíli poté však nečekaně dorazí McBainova novomanželka Jill (Claudia Cardinaleová), která půdu zdědí. Desperát Čejen (Jason Robards) i tajemný psanec Harmonika (Charles Bronson) se rozhodnou vzít Jill pod svá ochranná křídla a zmařit tak Frankovy plány na získání jejího dědictví. Postupem času však vyjde najevo, že Harmonika chce Franka dostat z jiného důvodu... který má co dělat se smrtí.
+
+		
+					(Cinemax)',	NULL,	166,	'947ec5dc-6387-4049-8c80-e442ced8268b',	1968),
+('10573777-d494-4484-86a5-3220f051b9ae',	'2022-06-17 03:31:44.885',	'2022-06-17 03:31:44.885',	NULL,	'Obecná škola',	'Obecná škola',	'Jan Svěrák vás v úsměvné, nostalgické vzpomínce zve do báječných poválečných let, kdy země voněla čerstvě nabytou svobodou, kluci chodili tátům pro pivo a pedagogická kvalifikace "odbojář a partyzán" dokázala zastínit i tradici Jana Ámose Komenského. Svérázný učitel Igor Hnízdo převzal na sklonku roku 1945 třídu rozjívených desetiletých raubířů, kteří svou učitelku dokázali přivést do blázince. Svým novým svěřencům dal jasně najevo, že se nehodlá stát jejich další obětí a všem krásným ženám v okolí, že by se mohly stát oběťmi jeho šarmu.
+
+		
+					(Ateliéry Bonton Zlín)',	NULL,	97,	'ce7f0437-bcc5-43f2-b689-448f1daafff1',	1991),
+('ad0b4239-6258-46a7-9ab7-ccbcdac29d2c',	'2022-06-17 03:27:00.489',	'2022-06-17 03:27:00.49',	NULL,	'Temný rytíř',	'Temný rytíř',	'Další Batmanovo dobrodružství začíná. Jeho protivníkem je tentokrát záhadný psychopat Joker. Vítanou posilou by se Batmanovi mohl stát nový státní zástupce Harvey Dent, idealistický právník odhodlaný bojovat zejména proti mafiím ovládajícím podsvětí města. Dent chodí shodou okolností s Rachel, kterou Batman, alias milionář Bruce Wayne, také miluje. Čínský obchodník Lau, se kterým Wayne odmítne obchodovat, navrhne gothamským mafiánským skupinám pro jejich peníze bezpečný úkryt v Hongkongu, kam nesahá Dentova pravomoc. Do jednání nečekaně zasáhne Joker, který chce polovinu mafiánských peněz za likvidaci Batmana. Ti to odmítnou. Batman vzápětí Laua unese a dostane z něj jména mafiánů. Dent rozjede velkou akci, podaří se mu však dostat za mříže jen méně významné gangstery. Vzápětí Joker vyhlásí, že každý den zabije jednoho člověka, a bude to dělat tak dlouho, než Batman veřejně přizná svou identitu a nechá se zatknout...
+
+		
+					(TV Nova)',	NULL,	152,	'c108844d-b56f-4017-b87e-a085fa52ab8d',	2008),
+('50a76f76-4bb5-4eb1-9262-999f4c606e23',	'2022-06-17 03:27:21.773',	'2022-06-17 03:27:21.773',	NULL,	'Gran Torino',	'Gran Torino',	'Film Gran Torino vypráví příběh někdejšího opraváře aut a ovdovělého veterána z války v Koreji Walta Kowalského, který si s přibývajícími léty uvědomuje, že na nový svět už nestačí. Všichni jeho sousedé se buď odstěhovali, nebo zemřeli. Postupně je nahradili hmongští imigranti, kterými Walt ze srdce pohrdá, a bezcílné partičky mladých afroamerických a latinskoamerických výtržníků. Podzim svého života tak spíš přežívá než dožívá. Až do oné noci, kdy se mu někdo pokusí ukrást jeho chloubu - nablýskaný sporťák Gran Torino. Když se zlodějům postaví, stane se hrdinou, který změní život nejen svým sousedům a chlapci nucenému vstoupit do jednoho z místních gangů, ale především sám sobě.
+
+		
+					(HBO Europe)',	NULL,	116,	'bdab1bf7-04a3-490b-8dd6-4167576f5686',	2008),
+('644026a2-28b7-4c13-bd23-7a0e85addcae',	'2022-06-17 03:27:30.647',	'2022-06-17 03:27:30.648',	NULL,	'Matrix',	'Matrix',	'Za vším hledej Matrix. Zdál se vám někdy sen, který působil naprosto skutečně? Co kdybyste se nemohli probudit? Jak poznáte rozdíl mezi sněním a realitou? Když záhadná kráska Trinity (Carrie-Anne Moss) zavede počítačového hackera jménem Neo (Keanu Reeves) do tajemného paralelního světa, odhalí mu šokující pravdu - svět je podvod, propracovaný klam překroucený všemocnými stroji umělé inteligence, která nás ovládá. Neo se přidává k legendárnímu vůdci odboje Morfeovi (Laurence Fishburne) v bitvě za zničení iluze zotročující lidstvo. Každý pohyb, každá sekunda a každá myšlenka znamená boj o přežití - o únik z Matrixu.
+
+		
+					(HBO Europe)',	NULL,	136,	'ea3f40f7-d6d3-4ba2-a726-843b8f0b9c2e',	1999),
+('ef87c8b4-ef23-49f8-ae66-7ee19d072394',	'2022-06-17 03:27:41.71',	'2022-06-17 03:27:41.71',	NULL,	'Hodný, zlý a ošklivý',	'Hodný, zlý a ošklivý',	'Hodný, zlý a ošklivý je klasickým westernovým příběhem o chamtivosti a pomstě uprostřed běsnění občanské války Severu proti Jihu. Podvodník, desperát a ošklivec Tuco (Eli Wallach) je hledaný ve čtrnácti okresech a na jeho hlavu je vypsaná odměna dvou tisíc dolarů. Má ale parťáka, hezouna Joea, zvaného Blonďák (Clint Eastwood), který vždy včas přestřelí provaz, na němž se ho chystá šerif pověsit a při společném útěku si rozdělí odměnu. Ovšem jen do dne, kdy jejich habaďůra přestane Blonďáka bavit a nechá Tuca uprostřed rozpálené pouště sedmdesát mil od nejbližšího města. Vzájemná pomsta je společným jmenovatelem jejich vztahu, ať jsou od sebe bývalí partneři jakkoliv daleko. Cesty osudu je však nakonec zase svedou dohromady v podobě nečekané zprávy o zakopaném pokladu. Každý z nich však zná jen polovinu tajemství, a tak chtě nechtě musí cestovat spolu. Stejnou stopu však sleduje i třetí muž, zlý Setenza, zvaný Krásnoočko (Lee Van Cleef), jemuž se té zajímavé informace dostalo také a on ji rozhodně hodlá prověřit.
+
+		
+					(Česká televize)',	NULL,	161,	'947ec5dc-6387-4049-8c80-e442ced8268b',	1966),
+('07c5648d-d5cb-4e17-9833-8c5487caabd0',	'2022-06-17 03:27:48.636',	'2022-06-17 03:27:48.637',	NULL,	'Dobyvatelé ztracené archy',	'Dobyvatelé ztracené archy',	'Profesora archeologie, Indiana Jonese, navštíví ve škole dva muži z armádní rozvědky. Informují ho, že nacisté zřejmě objevili místo, kde má být ukryta slavná archa úmluvy, schránka, do níž Židé uložili desky s deseti přikázáními, které dostal Mojžíš od Boha. Indiana dostává nabídku, aby archu našel a nacistům ji odvezl přímo před očima. Armáda zaplatí výdaje. Indiana na nabídku přistoupí a odlétá do Nepálu, kde se má nacházet u jeho známé Mary talisman, který může pomoci při hledání archy. Indiana sice Mary objeví, ale také zjistí, že jsou mu v patách nacisté. Ti Mary přepadnou a snaží se ji o talisman připravit. Naštěstí ji Indiana zachrání a s talismanem oba odletí do Káhiry. Tady se Indiana dozví od svého přítele Sallaha podrobnosti ohledně německého postupu vykopávek. Indy zjistí, že s Němci spolupracuje jeho dávný nepřítel, Francouz Belloq. To už ale i Němci vědí, že Indy s Mary dorazili do Káhiry, a pokusí se oba zabít. To se jim sice nepovede, nicméně podaří se jim unést Mary. Indy a Sallah se vetřou na německé archeologické naleziště a Indy se spustí do místnosti s modelem původního umístění archy. Tady díky amuletu objeví místo, kde má kopat. Indy a Sallah se na toto místo v noci vypraví a za pomoci několika dělníků skutečně najdou hrobku, ve které je archa uložena. Bohužel Němci je spatří a Indyho a Sallaha obklíčí. Počkají si, až Indy a jeho lidé archu z hrobky vyzvednou, a následně do hrobky za Indym shodí i Mary...
+
+		
+					(TV Prima)',	NULL,	115,	'641a6488-49a1-4df9-aac4-0980e4eb9047',	1981),
+('845f7ea6-82ef-4940-8bcc-c5ac2bd611f4',	'2022-06-17 03:28:01.54',	'2022-06-17 03:28:01.54',	NULL,	'Rain Man',	'Rain Man',	'Jeden z nejúspěšnějších amerických filmů osmdesátých let vypráví příběh egoistického Charlieho Babbitta (Tom Cruise), jenž žije jen svým byznysem. Při projednávání poslední vůle svého otce, s nímž se léta nestýkal, zjišťuje, že má staršího bratra, autismem postiženého Raymonda (Dustin Hoffman), o kterém neměl tušení. Na dlouhé cestě z útulku poblíž Cincinnati (odkud Charlie svého bratra unese) do Los Angeles se oba sourozenci poznávají a do té doby povrchní a sebestředný Charlie se pomalu mění v lidskou bytost... Přesvědčivě napsaný příběh se silným humanistickým akcentem dovedně mísí sentiment s humorem a využívá herectví obou hlavních představitelů. Dustin Hoffman podává v obtížné roli, na niž se dlouho připravoval, zcela mimořádný výkon a dobře mu sekunduje i Tom Cruise ve zdaleka ne tak efektní úloze jeho bratra. Film se stal velkým diváckým hitem prakticky na celém světě a získal také řadu ocenění, mj. Zlatého medvěda na MFF v Berlíně a čtyři Ceny Americké akademie (nejlepší film, režie, scénář a herecký výkon v hlavní roli – Dustin Hoffman). Název filmu je zkomoleninou Raymondova jména, jež Charliemu jako jediná vzpomínka utkví v paměti.
+
+		
+					(Česká televize)',	NULL,	133,	'32ab1439-a1b1-49ff-8840-d7530a10dbee',	1988),
+('bd914599-0e2c-4eb8-a516-1355780f512c',	'2022-06-17 03:28:14.516',	'2022-06-17 03:28:14.516',	NULL,	'Sedm statečných',	'Sedm statečných',	'Nezapomenutelní pistolníci vyrážejí do boje proti banditům... Obyvatelé malé mexické vesnice umějí zacházet s motykami, ale ne s kolty a puškami. Skoro všechno, co se jim podaří lopotně vypěstovat, musejí proto odevzdávat zločinnému banditovi Calverovi a jeho mužům. Jednoho dne však dojde trpělivost i jim. Tři z nich se proto vydají k americké hranici. Tam by totiž mohli najít někoho, kdo je naučí bojovat a pomůže jim postavit se Calverovi na odpor. Jako první přijme jejich skromnou nabídku sympatický holohlavý pistolník Chris. Ten se také ujme úkolu získat další muže. Do boje proti Calverově čtyřicetihlavé bandě nakonec vyjíždí sedm zkušených pistolníků: chladnokrevný Chris, bývalý kovboj Vin, mladíček Chico, ranař Bernardo, mlčenlivý samotář Britt, psanec Lee a spiklenecký Harry… Legendární western Johna Sturgese není třeba českým divákům představovat. Snímek z roku 1960 vznikl jako remake slavného japonského dramatu režiséra Akiry Kurosawy Sedm samurajů (1954). Jak japonský originál, tak i americká verze patří do zlatého fondu světové kinematografie.
+
+		
+					(Česká televize)',	NULL,	123,	'ccf8809f-6dbc-45b8-a796-3e04dc3076db',	1960),
+('1255f864-0d0b-487f-b2b7-998a5a895cdd',	'2022-06-17 03:28:31.478',	'2022-06-17 03:28:31.479',	NULL,	'Vyšší princip',	'Vyšší princip',	'Slavný film o zradě, kolaboraci a především o morální odpovědnosti jednotlivce, se odehrává na malém městě v době začínající heydrichiády. Sledujeme osud tří nevinných maturantů, kteří se stanou obětí msty, jež v dané době nemůže mít jiné, než tragické vyústění.
+
+		
+					(Filmexport)',	NULL,	102,	'fe3ffb22-b415-4860-82ef-4f6f07e64c55',	1960),
+('ad68fefc-dafa-41d5-b45a-2e13e3866c06',	'2022-06-17 03:28:42.455',	'2022-06-17 03:28:42.456',	NULL,	'Indiana Jones a Poslední křížová výprava',	'Indiana Jones a Poslední křížová výprava',	'Píše se rok 1938 a Indiana Jones působí jako učitel archeologie na univerzitě. Jednoho dne se setká s podnikatelem a milovníkem umění, Walterem Donovanem, který mu oznámí, že při hledání Svatého grálu se ztratil jeho otec. Indiana Jones se ihned vydává na místo posledního působení otce, do Benátek. Tady se setkává s německou doktorkou Elsou, která ho přivede do místní knihovny, kde se otec Indiany ztratil. Indiana zde velmi brzy najde hrobku rytíře z první křížové výpravy (knihovna je ve skutečnosti starým kostelem) a v ní další stopu, která má hledače přivést k místu, kde je kdesi v poušti schován Svatý grál. To už však Indianu a Elsu pronásledují neznámí útočníci. Indiana se jich zbaví a od posledního z nich se dozví, že se jedná o strážce Svatého grálu. Další informaci, kterou od strážce grálu Indiana získá, je místo, kde je nacisty držen archeologův otec. Indiana se s Elsou vypraví do Rakouska ho osvobodit. Otce najde na starém hradě, ale zde se ukáže, že Elsa je ve skutečnosti ve službě nacistů a že jí jde o notes, který Indiana dostal poštou od svého otce. V notesu se totiž skrývají důležité poznámky, které mají pomoci při získání Svatého grálu. Indiana o notes nechtěně přijde, když mu ho zabaví nacistický důstojník. Nacistům právě o tento notes celou dobu šlo. Zdá se, že Indiana a jeho otec prohráli a že jim hrozí už jen smrt za strany nacistů. To však není pravda. Indiana se svým otcem z hradu, kde jsou nacisty drženi, dokážou utéct. Ihned se vypraví do Berlína, kde vyhledají Elsu (dostala notes od důstojníka) a notes jí opět vezmou. Následně z Berlína uprchnou pomocí vzducholodě, letadla a auta, když se přitom musejí zbavit svých pronásledovatelů. Indiana a jeho otec pokračují na Střední východ, aby zde za pomoci svého přítele Marcuse grál našli. V patách jim však postupuje i nacistická výprava vedená německým plukovníkem, Walterem Donovanem a Elsou...
+
+		
+					(TV Prima)',	NULL,	127,	'641a6488-49a1-4df9-aac4-0980e4eb9047',	1989),
+('5d6dacb2-63c4-45fc-b0f4-e24580b3c846',	'2022-06-17 03:28:59.653',	'2022-06-17 03:28:59.653',	NULL,	'Vetřelec',	'Vetřelec',	'Vesmírná loď Nostromo míří zpět na Zemi, astronauti spí. Náhle dojde k jejich automatickému probuzení – nikdo neví, co se děje, protože jsou ještě velmi daleko od cíle cesty. Prostřednictvím centrálního počítače zjistí, že přijímače zachytily signál SOS z blízké planety. Posádka je povinna věc vyšetřit. Vyslaný modul má s přistáním velké problémy. Přesto někteří na průzkum. V jeskynním komplexu objeví podivný organizmus, který vypadá jako kolonie vajíček. Počítač mateřské lodi mezitím dešifruje zprávu jako varování, ne jako volání o pomoc. Všichni jsou okamžitě odvoláni. Jenže jedno z vajíček se otevře a jakási hmota ve tvaru chobotnice se během setiny sekundy přisaje na přilbu jednoho z astronautů, přesněji řečeno na jeho obličej. Přes odpor Ripleyové, že je proti bezpečnostním předpisům brát na palubu cokoli neznámého, otevře Ash dveře a všechny vpustí. Po nějaké době je nalezen cizí organismus na podlaze, sám odpadl. Vypadá to, že se postižený těší dobrému zdraví. Při společném jídle však stolující zažijí hrůzné představení. Před jejich očima vyleze z astronautova břicha nějaký tvor, a než stačí kdokoli cokoli podniknout, bleskovou rychlostí zmizí v obrovských prostorách lodi. Začíná noční můra – monstrum postupně likviduje posádku a zdá se, že je nezničitelné…
+
+		
+					(TV Prima)',	NULL,	117,	'4d6704cb-02bc-4283-a4c2-074dfa1afd9c',	1979),
+('d5839e47-ad9c-4e22-b30f-bcd8bb7138f6',	'2022-06-17 03:29:12.857',	'2022-06-17 03:29:12.858',	NULL,	'Rivalové',	'Rivalové',	'Závratná rychlost, adrenalin proudící v žilách, krásné dívky a nezkrotná touha po vítězství. Závody Formule 1 jsou místem, kde jediná chyba může znamenat smrt. Na těchto okruzích spolu soupeří dva odvěcí rivalové. James Hunt je neřízená střela, neodolatelný playboy a brilantní řidič. Niki Lauda je dokonalý profesionál, vždy precizní a disciplinovaný. Film Rivalové vypráví skutečný příběh dvou pilotů, kteří jsou soky nejen na okruzích, ale také ve skutečném životě. Přestože jsou soupeři, jsou také jeden pro druhého inspirací. Přes jejich rozdílnost je v životě pojí zvláštní přátelství. Ale rivalita je žene ke stále riskantnějším výkonům. Titul mistra světa může získat jen jeden...
+
+		
+					(Bioscop)',	NULL,	123,	'0c4cb1ea-94e7-4f80-9693-ae8d918eca73',	2013),
+('59dca9d0-288b-4155-9af3-cae4e763f54a',	'2022-06-17 03:29:34.087',	'2022-06-17 03:29:34.088',	NULL,	'Le Mans ''66',	'Le Mans ''66',	'V roce 1959 je Carroll Shelby (Matt Damon) na absolutním vrcholu, vyhrál nejtěžší motoristický závod na světě 24 hodin Le Mans. Po největší triumfu tohoto neohroženého Texasana přijde drtivá rána – lékaři odhalená srdeční vada mu znemožní pokračovat v závodění. Shelby tak začíná novou kariéru jako velmi vynalézavý konstruktér. Spolupracuje s týmem, do nějž patří i vynikající zkušební jezdec a britský šampión Ken Miles (Christian Bale). Miles je nejen špičkovým závodníkem oddaným své rodině, ale je také nesnesitelně arogantní a naprosto neschopný jakéhokoliv kompromisu. A právě tento tým automobilových šílenců si najme Henry Ford II, aby pro jeho automobilku navrhli a postavili dokonalé závodní auto. Ford se totiž rozhodně, že se pomstí Enzo Ferrarimu, za to, že nakonec odmítl domlouvané spojení své automobilky s Ford Motor Company. Vozy stáje Ferrari vítězí na okruhu v Le Mans nepřetržitě od roku 1960 až do roku 1965. Shelby, Miles a jejich malý tým jsou odhodláni tomu učinit s pomocí vozu Ford GT40 rázný konec. Proti nim stojí neporazitelné Ferrari, fyzikální zákony i jejich vlastní osobní démoni. Navzdory překážkám a omezením, které jim do cesty hází i samotný Ford, musí vyvinout revoluční vozidlo, které převálcuje každého konkurenta. Jejich úsilí si ale vybírá nemalou daň – těmto odvážným mužům to ale za vítězství stojí.
+
+		
+					(CinemArt)',	NULL,	152,	'2ee30665-fd1a-434d-9aef-30277778de1d',	2019),
+('76b033f4-9a8a-4c54-9f85-3b63c7b62b35',	'2022-06-17 03:29:55.175',	'2022-06-17 03:29:55.176',	NULL,	'Smrtonosná past',	'Smrtonosná past',	'Policista John McClane přilétá na Vánoce do Los Angeles za svou manželkou Holly a dětmi. Holly pracuje pro japonskou společnost Nakatomi, v jejímž mrakodrapu se právě koná vánoční večírek. Holly odešla z New Yorku za prací, zatímco John tam zůstal. Nyní zjišťuje, že Holly používá v práci své jméno za svobodna. Jde se do koupelny upravit a mezitím do budovy přijíždějí ozbrojení muži. Zabijí strážce, uzamknou výtahy, všechny vchody a odpojí telefony. Potom proniknou na večírek a John z koupelny zaslechne střelbu. Podaří se mu nepozorovaně utéct do vyššího patra, kam později útočníci odvedou ředitele společnosti Nakatomi. Chtějí po něm přístupové heslo k počítači, který mimo jiné řídí trezor, ze kterého chtějí ukrást dluhopisy v hodnotě stovek milionů... Ředitel se jim snaží vysvětlit, že trezor má sedm zámků a on zná kód pouze k jednomu – a i ten jim odmítne dát. Hans, vůdce útočníků, ho zastřelí. John spustí požární alarm, aby přivolal pomoc, ale útočníci zavolají hasičům, že poplach je falešný. Díky tomu ale zjistili, že je někdo v horním patře, a pošlou tam muže se zbraní... John teroristu zabije, sebere mu zbraň a vysílačku a jeho tělo pošle dolů výtahem. Bratr zavražděného, Karl, chce Johna ihned najít a pomstít se. John použije ukradenou vysílačku a snaží se přivolat pomoc, ale jeho volání slyší i teroristé a dojde jim, že John bude někde na střeše. Volání zachytí i policie, ale nevěří Johnovi, že se něco děje. Když pak ale ve vysílačce zaslechnou střelbu, pošlou tam na kontrolu hlídku. Seržant Powell dojede do Nakatomi, promluví si se strážným, což je ale nastrčený terorista, a v klidu odjíždí s tím, že nic podezřelého nenašel. Když ho John vidí odjíždět, vyhodí z okna mrtvolu dalšího teroristy, kterého při přestřelce zabil, a začne z okna střílet...
+
+		
+					(TV Prima)',	NULL,	131,	'c31e5574-74dc-4322-b9e9-c74081406a06',	1988),
+('de0a75c1-e45a-4bae-8550-bc9fcccafb07',	'2022-06-17 03:30:06.069',	'2022-06-17 03:30:06.07',	NULL,	'Vetřelci',	'Vetřelci',	'57 let po tvrdé zkoušce s mimozemským tvorem je Ellen Ripleyová v hyperspánku zachráněna dálkovým záchranným týmem. Dojde dokonce k vyšetřování, při kterém ji chtějí obvinit ze zničení tvora, o kterého vysoce postavení vojenští pohlaváři stáli. Nakonec je osvobozena, je jí ale nabídnuta účast na jiné výpravě: na planetě, odkud vetřelec pocházel, mezitím vznikla kolonie s lidskými obyvateli. Ti se nyní odmlčeli a chystá se mise složená z vojáků námořní pěchoty, kteří mají na planetu sestoupit a vyšetřit, co se tam stalo. Ripleyová se svými znalostmi nebezpečného tvora by se v ní uplatnila. Ta se rozhodne takto skončit s nočními můrami a nepříjemnými vzpomínkami na monstrum – vetřelce a s nabídkou souhlasí. Znovu se tedy ocitá na nehostinné planetě, kde nacházejí kolonii opuštěnou. Jediný, koho najdou, je malá vystrašená holčička. Brzy zjistí, že všichni obyvatelé se stali oběťmi vetřelce – ne však jednoho. Vetřelci se poněkud rozmnožili a planeta je jimi zcela obsazena…
+
+		
+					(TV Prima)',	NULL,	137,	'46cb4b90-d2e9-4b2f-87ef-371d9eea3cc9',	1986),
+('4fa020fd-978c-4e18-a697-d28a13a63573',	'2022-06-17 03:30:31.461',	'2022-06-17 03:30:31.461',	NULL,	'Podraz',	'Podraz',	'Z jedné z kanceláří mafiánského bosse Doyla Lonnegana odchází poslíček s tržbou 11 tisíc dolarů, kterou má doručit do Chicaga. Na cestě k taxi je ovšem svědkem fiktivního přepadení a nabídne pomoc. Starý zraněný černoch žádá, aby odnesl peníze na jednu adresu. Muž cítí, že by si mohl krásně přivydělat, ale až v taxi zjistí, že byl podveden a oloupen. To se podařilo dvěma podvodníkům Johnnymu Hookerovi a Lutheru Colemanovi, kteří ani ve snu netušili, koho to vlastně okradli. Večer se sejdou u Luthera, kde si rozdělí uloupené peníze. Luther se rozhodne skončit s podvody a Johnnymu dá adresu falešného hráče pokeru Henryho Gondorffa, který by ho mohl naučit velké věci. Když se Hooker vrací domů, sbalí ho chamtivý detektiv Snyder, který už ví, co udělali a komu ty peníze vlastně patřily. Za mlčení požaduje dva tisíce dolarů. Hooker mu dá tisíc falešných dolarů a pak se rychle vrací k Lutherovi, ale je pozdě. Lonneganovi lidé Luthera zabili. Johnny se rozhodne pomstít Lutherovu smrt a společně s Henrym naplánují léčku, při které by měl být Lonnegan definitivně zničen.
+
+		
+					(TV Nova)',	NULL,	129,	'5a332614-c1b9-47c2-b783-6fb920c64717',	1973),
+('f9e0e24c-4392-4050-b89e-6e01aef459d8',	'2022-06-17 03:30:46.714',	'2022-06-17 03:30:46.715',	NULL,	'Zachraňte vojína Ryana',	'Zachraňte vojína Ryana',	'6. června 1944 se v Normandii společně s tisícovkami dalších spojeneckých vojáků vylodí také kapitán Miller se skupinou svých mužů. Někteří Millerovi lidé však v bojích s nacistickým nepřítelem na pláži zemřou. V ústředí ve Washingtonu se mezitím generál Marshall dozvídá, že během invaze zemřeli tři ze čtyř synů rodiny Ryanových. Aby zmírnil ztrátu jejich matky, vydává Marshall rozkaz, na základě kterého má být poslední přeživší syn James Ryan přiveden domů. Splněním tohoto rozkazu je pověřen Miller a jeho sedm mužů. Vydávají se setkat se 101. divizí, protože k ní sahají poslední Ryanovy stopy. Jeden z Millerových mužů, desátník Caparzo, je zastřelen německým sniperem. Miller zjišťuje, že James Ryan u 101. divize není jejich hledaným mužem, nicméně se setkává s jeho známým, který tvrdí, že Ryan a jeho jednotka se vydali bránit most ve městě Ramelle. Miller a jeho skupina se také vydávají do Ramelle, ale cestou narazí na skupinu Němců, se kterými chce Miller bojovat, i když to není nutné. Ačkoliv američtí vojáci německé porazí, další z Millerových mužů umírá. Miller se rozhodne propustit přeživšího německého vojáka, který si vysloužil přezdívku Plavčík Willie. Miller a jeho muži přicházejí do Ramelle, kde se setkávají s Ryanem. Ten však s nimi odmítá opustit pozici s tím, že chce pomoci při bránění mostu. Miller se nakonec rozhodne, že on i jeho muži se do bránění mostu zapojí také...
+
+		
+					(TV Prima)',	NULL,	163,	'641a6488-49a1-4df9-aac4-0980e4eb9047',	1998),
+('c272df44-94b4-4fb5-8ee2-d09432e38176',	'2022-06-17 03:30:59.742',	'2022-06-17 03:30:59.743',	NULL,	'Leon',	'Leon',	'Osamělý zabiják Leon žije v malém bytě uprostřed New Yorku. Jeho prací je „čištění“ a zbavování se nepohodlných lidí pro mafiána Tonyho. Leonův soused v domě Lando je zapojený do obchodu s drogami, ve kterém jsou spolu s ním namočeni i policisté z protidrogového, vedení maniakálním agentem Stansfieldem. Stansfield a jeho lidé Landovu rodinu zabijí, včetně manželky, dcery a malého syna. Leon celý masakr sleduje kukátkem. Z rodiny přežije jen dvanáctiletá Mathilda, kterou u sebe Leon ukryje. Když Mathilda zjistí, že Leon se živí jako nájemný vrah, požádá ho, aby jí pomohl zbavit se vrahů jejího bratra. Leon ji nejprve odmítne, ale poté přistoupí na její nabídku, že se ona o něj bude starat a on ji naučí zabíjení lidí. Zatímco Leon ji učí zacházet se zbraněmi a vysvětlí jí svoji zásadu, že nikdy nevraždí děti a ženy, Mathilda na oplátku Leona naučí číst a psát. Leon mezitím zabije jednoho ze Stansfieldových agentů a z obavy o vlastní bezpečnost požádá Tonyho, aby v případě, že by se s ním něco stalo, jeho našetřené peníze předal Mathildě. Ta mezitím zjišťuje, že jejího bratra zabil Stansfield, a vydává se do jeho kanceláře zabít ho...
+
+		
+					(TV Prima)',	NULL,	105,	'fe855b14-b95c-422a-adfc-fc706e60b03a',	1994),
+('96c5ff43-25d1-4758-aafb-27c231d4e958',	'2022-06-17 03:31:16.786',	'2022-06-17 03:31:16.787',	NULL,	'S čerty nejsou žerty',	'S čerty nejsou žerty',	'V jednom malém knížectví žijí všichni, kdo ve správné pohádce nesmějí chybět. Stárnoucí kníže, kterého už nebaví vládnout, jeho dvě dcery - zlomyslná, nafoukaná Angelina a skromná, pohledná Adélka, vychytralý správce, který se stará jen o to, jak naplnit vlastní měšec na úkor knížecí pokladny, čestný Petr, kterého se zlá a chtivá macecha Dorota Máchalová snaží se správcem připravit o rodný mlýn. A taky je tu peklo, které pečlivě sleduje všechny špatné skutky a v pravou chvíli rázně zakročí. A tak když se čas naplní, je vyslán mladý čert Janek, aby přinesl do pekla zlou Dorotu. Omylem však přinese Petrovu hodnou babičku, a když se pokouší chybu napravit, skončí s Petrem v knížecím vojsku. Ten pro změnu prchal před intrikami správce a jistě by drábům utekl, jenže pak se zdržel, protože s nasazením života zachránil knížecí dcery, když zastavil jejich kočár se splašenými koňmi. Petr a Janek se skamarádí a Petr se nabídne, že čertovi pomůže dokončit úkol. Dokonce i ve dvou však nebude snadný, protože Dorota má vždy po ruce nějaké to pírko, které je pro čerta pohromou.
+
+		
+					(TV Nova)',	NULL,	91,	'bfaf47b3-d677-42ff-b1cc-b03ee2c24f87',	1984),
+('85263627-30a9-4fbc-b077-7d10208a3e61',	'2022-06-17 03:31:27.829',	'2022-06-17 03:31:27.83',	NULL,	'Amadeus',	'Amadeus',	'Strhující drama závisti, žárlivosti, intrik a vášnivé lásky k hudbě. Jeden z nejlepších filmů historie, oceněný osmi Oscary, mj. i za kostýmy Theodora Pištěka.Český režisér Miloš Forman našel během svého amerického působení osobní téma v zápase výjimečného jedince s představiteli politické i jiné moci. Ideální látku objevil v divadelní hře Petera Shaffera Amadeus, která se od svého uvedení v roce 1981 stala hitem světových scén. Geniální skladatel Wolfgang Amadeus Mozart se v ní stane obětí vražedných intrik svého kolegy, dvorního skladatele Antonia Salieriho, jenž nedovede unést tíhu závisti a vlastní průměrnosti. Právě Salieri je – navzdory titulu – hlavním hrdinou divadelního i filmového příběhu. Skladatel, posedlý touhou po uznání a slávě, kvůli splnění svých snů uzavře smlouvu s Bohem. Ten však zbožnému komponistovi nadělí jen průměrné hudební nadání. Geniálními schopnostmi naopak obdaří samolibého, nevycválaného a nafoukaného hejska jménem Mozart. Salieri se chce Bohu za tuto zradu pomstít tím, že jeho miláčka zprovodí ze světa... Miloš Forman natočil podle Shafferova scénáře naprosto výjimečné filmové dílo, jež ve své době zaznamenalo neočekávaný divácký úspěch a způsobilo dokonce „mozartománii". Ve skvěle vystavěných dramatických scénách totiž Forman brilantním způsobem využil právě roli hudby. Amadeus získal mimo řady jiných prestižních ocenění také osm Oscarů: jako nejlepší film, dále za režii, za mužský herecký výkon v hlavní roli (F. Murray Abraham), za scénář podle předlohy, výpravu, kostýmy (T. Pištěk), masky a zvuk. Neproměněná zůstala druhá nominace za hlavní mužskou roli (Tom Hulce), za kameru (Miroslav Ondříček) a za střih.
+
+		
+					(Česká televize)',	NULL,	160,	'8b8085a3-f1ce-4d2d-a922-7fdac528b8bc',	1984),
+('3898e012-8471-485c-9e44-cf876e7f0a6f',	'2022-06-17 03:31:58.033',	'2022-06-17 03:31:58.034',	NULL,	'„Marečku, podejte mi pero!“',	'„Marečku, podejte mi pero!“',	'„Marečku, podejte mi pero!“, praví stařičký pan profesor Hrbolek. Otevře obávaný notes, vyvolá některého ze svých už obstarožních studentů, a když dotyčný neumí, píše mu pět a praví: „Nepotěšil jste mne, chlapče, ani já vás nepotěším…“ Znalce a milovníky českého filmového humoru jistě opět potěší komedie z pera Zdeňka Svěráka a Ladislava Smoljaka, kterou v roce 1976 natočil Oldřich Lipský. Navázali na oblíbené študácké veselohry Martina Friče. I když študáci jsou zde již postarší, setkáme se zde s typickými postavičkami školních škamen – šplhounem, ospalcem, třídním kašparem i notorickými uličníky. V roli Jiřího Kroupy, mistra v továrně na zemědělské stroje, který si neochotně zvyšuje kvalifikaci na stejné škole jako jeho syn Jirka, exceluje Jiří Sovák. Těšit se můžete také na další oblíbené herce: Josefa Abrháma, Ivu Janžurovou, Jiřího Schmitzera a řadu dalších.
+
+		
+					(Česká televize)',	NULL,	91,	'9018001f-5ccf-400d-9faa-70241a2aa55f',	1976),
+('5a09c1dd-145b-4a5c-a412-849ef3b656ee',	'2022-06-17 03:32:07.152',	'2022-06-17 03:32:07.153',	NULL,	'Star Wars: Epizoda V - Impérium vrací úder',	'Star Wars: Epizoda V - Impérium vrací úder',	'Luke Skywalker se s povstalci proti Impériu schovává na ledové planetě Hoth. Při jedné z obhlídek je Luke přepaden místní sněhovou příšerou. Ta zabije zvíře, na kterém Luke přijel, a následně omráčeného Luka odtáhne do své ledové jeskyně. Kapitán Han Solo se vypraví Luka do mrazu najít. Mezitím se Luke v jeskyni probudí, osvobodí se a po střetu s příšerou uteče do ledové pustiny. Zde ho podchlazeného najde Solo, který ho zachrání. Druhý den ráno jsou oba vyzvednuti leteckou hlídkou, kterou za nimi povstalci vyslali. Je na čase. Na planetě se objeví stroje a vojáci Impéria, kteří povstalce na základě pocitů Darth Vadera našli. Následující střet neprobíhá pro povstalce nikterak dobře, a vedení povstalců nařizuje evakuaci. Velitelka povstalců, princezna Leia, Han Solo, Chewbacca a robot C-3PO odlétají na X-Wingu. Luke použije stíhačku Millenium Falcon. Luke však neletí s ostatními, ale zamíří na planetu Dagobah. Ve chvíli, kdy totiž umíral v mrazu, se mu zjevil duch Obi-Wana a poslal ho právě tam. Luke zde má najít mistra Yodu. Leia s ostatními zatím uniká před pronásledovateli ve stíhačkách. Solo, který jejich stroj pilotuje, se pokusí před pronásledovateli ukrýt v jeskyni na jednom z ohromných asteroidů, kvůli vesmírným parazitům však musí bezpečný úkryt opustit a doletět na planetu Bespin, kde se hodlá s přáteli ukrýt u svého známého Landa Calrissiana. Ten zde vede malé nelegální doly. Zatím Luke objeví malého zeleného mužíčka, který se mu zprvu zdá poněkud zmatený. Brzy však pochopí, že právě tento mužíček je mistr Yoda. Yoda začne Luka cvičit na rytíře Jediho. Luke však svůj výcvik nedokončí. Při výcviku má totiž vize, při kterých se dozví, že jeho přátelé jsou v nebezpečí...
+
+		
+					(TV Prima)',	NULL,	124,	'4c215c46-2e36-4ec2-a580-7023ee5324a5',	1980),
+('148924fd-8d00-4ab8-bfce-4593f1c53d54',	'2022-06-17 03:32:28.265',	'2022-06-17 03:32:28.265',	NULL,	'Cesta do hlubin študákovy duše',	'Cesta do hlubin študákovy duše',	'Po úspěchu filmu Škola základ života se rozhodl Martin Frič natočit další historky Jaroslava Žáka o študácích a kantorech. Nechal se inspirovat půvabnou knížečkou postřehů a úvah ze středoškolského prostředí Cesta do hlubin študákovy duše. Jaroslav Žák se také podílel spolu s Martinem Fričem na scénáři. Za základ si vzali starého profesora, který sbírá študácké kuriozity, navíc přidali nesmírně laskavou postavu profesora přírodopisu Matulku, který teprve za pomoci studentů a profesorského sboru složí na prahu stáří poslední závěrečné zkoušky. Zbývající prostor zaplnili studentským humorem a přehršlí prvotřídních rošťáren, kterým opět kraluje Ladislav Pešek jako student Kulík. František Filipovský hraje opět šplhouna, nesmělého profesora Matulku ztvárnil Jindřich Plachta, matikáře Vobořila Jaroslav Marvan. V rolích studentů si zahráli herci, kterým bylo v době natáčení téměř tolik jako jejich profesorům. Např. „studentům“ Ladislavu Peškovi bylo 33 a Františku Filipovskému 32 let, „profesorům“ Jindřichu Plachtovi 40, Jaroslavu Marvanovi 38 a Miloši Nedbalovi dokonce 33 let.
+
+		
+					(Česká televize)',	NULL,	88,	'950163f9-c842-4a1f-b195-a2f4c7245bdb',	1939),
+('5fb0df28-1b13-4002-8f45-a1dc9d63d1f3',	'2022-06-17 03:32:35.235',	'2022-06-17 03:32:35.236',	NULL,	'Butch Cassidy a Sundance Kid',	'Butch Cassidy a Sundance Kid',	'Dva bankovních lupiči a příležitostní podvodníčci Butch Cassidy a Sundance Kid se protloukají, jak mohou. Butch vede proslulý gang z Díry ve zdi, Sundance Kid je nejen bleskurychlý střelec, ale také si dokáže poradit s kartami. Jeden člen gangu, Harvey Logan, by rád převzal velení. Dostal totiž nápad – proč přepadnout pacifický expres převážející peníze jen jednou? Při zpáteční cestě už nikoho ani nenapadne, že by mohlo následovat další přepadení, a teprve pak tam bude pořádná suma peněz. Butch Logana jakožto potencionálního konkurenta rychle zpacifikuje, jeho nápad však s pomocí dynamitu společně se Sundancem uskuteční. Zdá se ale, že to nebyl nejšťastnější tah: pan Harriman, kterému peníze ukradli, si najme nejlepší stopaře a „lovce lidí“ v čele s Joe Leforcem. A Butch se Sundancem se pronásledovatelů ne a ne zbavit… Sundance Kid má přítelkyni, půvabnou učitelku Ettu, se kterou se brzy spřátelí i Butch. Ovšem jejich radost kalí fakt, že mají neustále v patách Harrimanovy muže. Málo platné, že se nakonec při jedné z honiček, kdy už nemají kam uniknout, odhodlají skočit z vysoké skály přímo do peřejí, ačkoli Sundance neumí plavat. V novinách se sice objeví domněnky, že mohli zahynout, oba ale vědí, že je jejich pronásledovatelé nenechají na pokoji, dokud je neuvidí mrtvé... A tak Butch přijde s nápadem odjet do Bolívie. Ta je snad dostatečně daleko, aby se zbavili dotěrných pronásledovatelů. Nakonec se k nim přidá i Etta: ve svých šestadvaceti letech je stále ještě svobodná a kromě dobrodružství s oběma přáteli vede celkem nudný život. Proč by si ho tedy nezpestřila cestou do Bolívie? Jediné, co nechce nikdy vidět, je, jak budou Butch a Sundance umírat… První dojmy z Bolívie jsou děsivé: vlak je vysadí uprostřed pustiny, kde se vedle polorozbořeného nádraží rochní jen skupinka prasat. Sundance zuří, nakonec ale začnou opět přepadávat banky. Zatím to jde snadno, ale brzy se v zemi stanou známí a policie na ně organizuje honičky. Situace se ovšem zdramatizuje ve chvíli, kdy oba muži zjistí, že neúnavný Leforce je dostihl i zde...
+
+		
+					(TV Prima)',	NULL,	110,	'5a332614-c1b9-47c2-b783-6fb920c64717',	1969),
+('275dfe53-0deb-46b4-8c6c-44dbda0cd69d',	'2022-06-17 03:32:56.573',	'2022-06-17 03:32:56.574',	NULL,	'L. A. - Přísně tajné',	'L. A. - Přísně tajné',	'Všechno je úplně jinak, ale zkuste to dokázat! Kriminální příběhy "drsné školy" měly v minulosti nejen velký úspěch mezi čtenáři, ale také získaly dlouhou řadu napodobitelů. Mezi ty nejlepší patří bezesporu spisovatel James Ellroy, podle jehož stejnojmenného románu natočili američtí tvůrci svůj film. Detektivové Bud White, Jack Vincennes a Ed Exley pátrají v Los Angeles po pachatelích několika vražd. Mezi ně patří krvavé přepadení v kavárně Nite Owl a podivná smrt tajemné krásky Susan Leffersové. Jako by mezi nimi existovala nějaká spojitost. Policisté ovšem nejsou jenom "hodní beránkové", občas jako jiní lidé nedodržují přísně stanovená pravidla svého povolání. Snad proto je při řešení případů tak těžké rozeznat zlo od dobra a nalézt jejich konečné řešení... Retro laděný thriller, situovaný do padesátých let, natočil režisér Curtis Hanson (Okno z ložnice, Ruka na kolébce, Tichý společník). Společně se scenáristou Brianem Helgelandem obdržel Oscara za zajímavé zachycení dobové atmosféry již ve scénáři. Film je po právu srovnáván s "chandlerovskou" Čínskou čtvrtí. V důmyslně propracovaném příběhu nalezneme úryvky z filmů Revolver k pronajmutí, Prázdniny v Římě. Postavu osudové ženy představuje Kim Basingerová (Přirozený talent, 9 a 1/2 týdne, Batman, Krásná mimozemšťanka), která za svoji hereckou kreaci získala Oscara. Ležerního detektiva Jacka Vincennese hraje Kevin Spacey (Smrtící epidemie, Albino Alligator, Americká krása). Jeho policejní kolegy Buda Whitea a Eda Exleye ztělesňují herci Russell Crowe (známý ze seriálu Záchranáři a filmu Rychlejší než smrt) a Guy Pearce (Dobrodružství Priscilly, královny pouště, Flynn). Roli revolverového reportéra hraje Danny DeVito.
+
+		
+					(Česká televize)',	NULL,	138,	'138a6ec7-6a38-4fca-997e-66bfebfec317',	1997),
+('0316152d-fa77-42b0-a6d6-5bfa48894674',	'2022-06-17 03:33:17.668',	'2022-06-17 03:33:17.669',	NULL,	'Město bohů',	'Město bohů',	'Cidade de Deus je nejstarší a nejnebezpečnější slum Ria de Janeira, nejbolavější místo metropole karnevalů. Buscapé se zde narodil, aby žil, místo toho je však zavlečen do světa, v němž se jeho nejlepší kamarádi místo s hračkami baví s nabitými pistolemi. Snaží se zoufale zůstat stranou děsivého násilí, které zachvacuje jeho přátele a mění je v mladistvé zločince zabíjející se navzájem kvůli obchodu s kokainem, z nenávisti i z pouhého rozmaru. Před Buscapéovýma očima se chudá čtvrť v průběhu tří dekád - od 60. do 80. let - proměňuje v dýmající bojiště, na kterém si ozbrojené gangy s šokující lhostejností vyřizují své účty za bílého dne. Buscapé vidí umírat nevinné i ty, které obdivoval a miloval. Jedinou jistotu ve světě každodenního krvavého násilí pro něj začne představovat fotoaparát, kterým začíná dokumentovat městskou džungli kolem sebe. Začíná chápat, že přežít může jen útěkem do normálního světa - za hranice čtvrti, kterou má rád jako svůj domov, ale kterou nenávidí jako hrob nevinnosti, naděje a lásky.Fernando Meirelles debutuje strhujícím dramatem inspirovaným skutečnými osudy. Vyprávění o dospívání ve stínu smrti připomíná formální brilancí filmy Quentina Tarantina či Martina Scorseseho. Syrovou autenticitu zvyšuje obsazení neherců a skutečných obyvatel slumu do řady hlavních rolí. Snímek si získal mezinárodní uznání včetně devíti ocenění na MFF v Havaně a ceny Vision Award na MFF v Torontu. Byl úspěšně uveden na řadě mezinárodních festivalů. Získal nominaci na Zlatý glóbus jako nejlepší zahraniční film roku a jeho režisér byl oceněn nominací na Evropskou filmovou cenu Felix.
+
+		
+					(oficiální text distributora)',	NULL,	130,	'84fb6602-de41-4b76-9c1a-581ebac234df',	2002),
+('5c2f0514-275a-4cd6-8a89-ee32800a86a7',	'2022-06-17 03:33:28.722',	'2022-06-17 03:33:28.723',	NULL,	'Návrat do budoucnosti',	'Návrat do budoucnosti',	'Marty McFly by byl obyčejný středoškolák žijící v městečku Hill Valley, kdyby se nepřátelil s poněkud potrhlým, ale geniálním vědcem doktorem Emmettem Brownem. Jedné noci mu doktor předvede svůj největší vynález - stroj času zabudovaný do sportovního vozu DeLorean. Jenže noc se poněkud nevydaří a doktor je zastřelen teroristy, kterým ukradl plutonium. Marty ve strachu o svůj život nasedne do auta a v rychlosti 88 mil v hodině se přenese z roku 1985 do roku 1955. Zpočátku si neuvědomuje, kde je, ale postupně mu to dochází. Auto potřebuje dávku plutonia, ale ta v roce 1955 není k sehnání a tak se Marty obrátí s prosbou o pomoc na doktora Browna z roku 1955. A aby toho nebylo málo, Marty překazí první setkání svých rodičů a hrozí, že se tedy do sebe nezamilují a Marty se nikdy nenarodí. Marty bude mít hodně práce, než se mu podaří dát dohromady své rodiče a vrátit se do budoucnosti!
+
+		
+					(Bontonfilm)',	NULL,	111,	'479fafd8-4266-4761-8ec1-d3c10007b2d4',	1985),
+('3f4afd2d-d7f8-4ee1-8038-ae0ae6b5fbf1',	'2022-06-17 03:33:43.95',	'2022-06-17 03:33:43.951',	NULL,	'Pán prstenů: Dvě věže',	'Pán prstenů: Dvě věže',	'Po smrti Boromira a rozpadu Společenstva se cesty jeho členů rozdělily. Hobbit Frodo se svým sluhou Samem putují k Hoře Osudu, jen tam mohou sprovodit ze světa obávaný Prsten moci. Musí se však vypořádat se skřetem Glumem, který se snaží Prsten ukrást, ale hobiti ho přemůžou, spoutají a donutí ho, aby je vedl k bráně Mordoru. Aragorn s elfem Legolasem a trpaslíkem Gimlim se vydávají po stopě skřetů, aby osvobodili z jejich zajetí hobbity Smíška a Pippina. Mezitím však sílí moc temného pána Saurona, který se spojil se zrádným čarodějem Sarumanem a společně upínají všechny síly k získání Prstenu. Kdyby ho znovu získali, pak by byla Středozem definitivně odsouzena k zániku. Naše hrdiny tak čeká ještě dlouhé putování a mnohé nástrahy, než se jim podaří Prsten moci jednou provždy zničit.
+
+		
+					(TV Nova)',	NULL,	172,	'8c4dd6b4-6149-49f4-895a-556561ebc0de',	2002),
+('1006d567-9ccc-43c4-a331-55c01b9be869',	'2022-06-17 03:33:59.269',	'2022-06-17 03:33:59.269',	NULL,	'Počátek',	'Počátek',	'Dom Cobb (Leonardo DiCaprio) je velmi zkušený zloděj a jeho největší mistrovství je v krádeži nejcennějších tajemství. Ovšem není to jen tak obyčejný zloděj. Dom krade myšlenky z lidského podvědomí v době, kdy lidská mysl je nejzranitelnější – když člověk spí. Cobbova nevšední dovednost z něj dělá nejen velmi vyhledávaného experta, ale také ohroženého uprchlíka. Musel obětovat vše, co kdy miloval. Nyní se mu však nabízí šance na vykoupení. Může získat zpět svůj život. Tato poslední zakázka je nejen velmi riskantní, ale zdá se, že i nemožná. Tentokrát nemá za úkol myšlenku ukrást, ale naopak ji zasadit do něčí mysli. Pokud uspěje, bude to dokonalý zločin.
+
+		
+					(Cinemax)',	NULL,	148,	'c108844d-b56f-4017-b87e-a085fa52ab8d',	2010),
+('7bea4aac-ad0f-4348-8772-abad140fa21f',	'2022-06-17 03:34:22.398',	'2022-06-17 03:34:22.399',	NULL,	'Čistá duše',	'Čistá duše',	'John Forbes Nash, Jr. (Russell Crowe) zažil vše - od výšin slávy až po hlubiny zvrácenosti. Matematický génius učinil na začátku své kariéry překvapivý objev a byl jen krůček od celosvětového úspěchu. Ale pohledný a arogantní Nash se brzy ocitne na bolestivé a trnité cestě sebepoznání. Po mnoha letech boje nakonec zvítězí nad svou tragédií a – na sklonku života – získá Nobelovu cenu. Film režiséra Rona Howarda byl oceněn čtyřmi Oscary, včetně těch za nejlepší film a nejlepší režii.
+
+		
+					(Cinemax)',	NULL,	135,	'0c4cb1ea-94e7-4f80-9693-ae8d918eca73',	2001),
+('96707a94-a773-45de-b6eb-329c0e5e7289',	'2022-06-17 03:34:35.267',	'2022-06-17 03:34:35.267',	NULL,	'Spalovač mrtvol',	'Spalovač mrtvol',	'Film Spalovač mrtvol natočil režisér Juraj Herz podle stejnojmenné novely Ladislava Fukse. Jeho hrdina - zaměstnanec krematoria, je člověk nenormální, zatížený svým povoláním, psychopat a maniak, posedlý představou člověka jako mrtvoly a její přeměny v prach a popel. Člověk takto duševně narušený se dá pak snadno svést zrůdnou fašistickou ideologií k těm nejstrašnějším činům: zradě národa, ke kterému se dosud hlásil, udavačství, vraždám a spolupráci na masovém vyhlazování lidí.
+
+		
+					(Bontonfilm)',	NULL,	96,	'6ba690c6-39a6-4eec-8e1b-5067fe5492ae',	1968),
+('9faa356c-dbd4-48ea-9983-43fca5cd5919',	'2022-06-17 03:35:00.732',	'2022-06-17 03:35:00.732',	NULL,	'Tanec s vlky',	'Tanec s vlky',	'Poručík Dunbar, těžce zraněný v bitvě s konfederační armádou, je dekorován jako hrdina a poslán na vlastní žádost do opuštěné pevnosti na západní hranici. Spřátelí se s osamělým vlkem a pokouší se navázat kontakt s poblíž žijícím kmenem Siouxů. Přízeň obezřetných indiánů si získá informací o blížícím se stádu bizonů. Jazykové problémy mu pomáhá překonat ovdovělá Zaťatá pěst, kterou jako dítě bílých osadníků Indiáni unesli. Dunbar, přejmenovaný Siouxi Tančí s vlky, začne žít v indiánské osadě. Líbí se mu jejich způsob života, v němž nachází smysl další existence. Když se chystá jeho svatba se Zaťatou pěstí, je Dunbar zajat oddílem kavalerie, který s ním zachází jako se zrádcem. Siouxové ho osvobodí a zabijí většinu vojáků, ale Dunbar raději se Zaťatou pěstí kmen opouští, aby nepřivolal pomstu kavaleristů.
+
+		
+					(oficiální text distributora)',	NULL,	181,	'bd48f395-6de7-492c-a0a5-113a79e394c9',	1990),
+('540b25e9-dae9-401e-bba4-4f2b3605e770',	'2022-06-17 03:35:16.106',	'2022-06-17 03:35:16.107',	NULL,	'Gladiátor',	'Gladiátor',	'Příběh římského generála Maxima začíná v zimě roku 180, kdy v čele římských legií zvítězil nad germánskými kmeny. Po bitvě dorazí do ležení císař Marcus Aurelius se svými dětmi, slabošským synem Commodem a dcerou Lucillou, která byla kdysi Maximovou milenkou. Věčnými boji unavený císař požádá Maxima, aby se po jeho smrti stal protektorem Říma. Generál to však odmítne. Když se Commodus dozví, že ho otec nehodlá jmenovat svým nástupcem, zákeřně ho usmrtí a zmocní se vlády. Maximus se novému vládci odmítne podrobit a je zatčen. Podaří se mu uprchnout a spěchá domů. Svůj dům najde vypálený a manželku i syna zavražděné. Vyčerpán žalem i zraněním omdlí a probere se v zajetí otrokářské karavany. Je pak prodán bývalému gladiátorovi Proximovi. Společně s černým otrokem Jubou projde gladiátorským výcvikem a dostane přezdívku Španěl. Commodus se vrací do Říma a chce rozpustit senát. K tomu však potřebuje získat na svou stranu lid. Rozhodne se proto uspořádat velkolepé gladiátorské hry, kam přijíždí i Proximovi gladiátoři.
+
+		
+					(TV Nova)',	NULL,	155,	'4d6704cb-02bc-4283-a4c2-074dfa1afd9c',	2000);
+
+DROP TABLE IF EXISTS "_MovieCategory";
+CREATE TABLE "public"."_MovieCategory" (
+    "A" text NOT NULL,
+    "B" text NOT NULL,
+    CONSTRAINT "_MovieCategory_AB_unique" UNIQUE ("A", "B")
+) WITH (oids = false);
+
+CREATE INDEX "_MovieCategory_B_index" ON "public"."_MovieCategory" USING btree ("B");
+
+INSERT INTO "_MovieCategory" ("A", "B") VALUES
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'bf9d8581-6f71-40ed-b048-1d4612252347'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'bf9d8581-6f71-40ed-b048-1d4612252347'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'5a075dfc-afdd-49a7-9c19-052c41bc7f5f'),
+('0194145a-cc12-4334-8637-b2222460a944',	'5a075dfc-afdd-49a7-9c19-052c41bc7f5f'),
+('f1c079ca-e421-4f5f-b6b9-a8ee774e4e98',	'5a075dfc-afdd-49a7-9c19-052c41bc7f5f'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'e153953b-d6d4-46d3-a686-cbee3a9ce826'),
+('9149e3dd-de80-453e-8361-3ed1472404b5',	'e153953b-d6d4-46d3-a686-cbee3a9ce826'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'e153953b-d6d4-46d3-a686-cbee3a9ce826'),
+('76128e4c-f28b-4647-9061-5fe85329f5f8',	'91abd554-90cb-42b2-946d-fb9bf82540de'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'91abd554-90cb-42b2-946d-fb9bf82540de'),
+('9149e3dd-de80-453e-8361-3ed1472404b5',	'91abd554-90cb-42b2-946d-fb9bf82540de'),
+('a8252bc5-e8c9-42a8-9196-d340acd836f9',	'91abd554-90cb-42b2-946d-fb9bf82540de'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'91abd554-90cb-42b2-946d-fb9bf82540de'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'a5ff76f6-3e98-4f01-a483-1eeaa1bc2251'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'f30a8732-a3bd-4da9-b99f-9e741776d937'),
+('b1bda101-4b2b-48db-a4d0-bf26770aa21e',	'f30a8732-a3bd-4da9-b99f-9e741776d937'),
+('1b012da6-a926-4b9f-a432-dca6cd1111ec',	'f30a8732-a3bd-4da9-b99f-9e741776d937'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'd6f9f4a2-2e3e-44af-bfe4-24fbd3d9f1da'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'd6f9f4a2-2e3e-44af-bfe4-24fbd3d9f1da'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'b8a0e8d1-6008-45f2-b487-833e628e8556'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'b8a0e8d1-6008-45f2-b487-833e628e8556'),
+('0194145a-cc12-4334-8637-b2222460a944',	'f7735ebd-e246-40bb-8ddf-b30b2ccc3445'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'f7735ebd-e246-40bb-8ddf-b30b2ccc3445'),
+('1b012da6-a926-4b9f-a432-dca6cd1111ec',	'f7735ebd-e246-40bb-8ddf-b30b2ccc3445'),
+('0194145a-cc12-4334-8637-b2222460a944',	'de359ca8-3d88-4315-8525-0bb873240035'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'de359ca8-3d88-4315-8525-0bb873240035'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'dcc82e4a-16d6-4223-9898-3a0e77a48195'),
+('3b3fbec3-ae21-4683-bb6b-c7a7a289e2d6',	'dcc82e4a-16d6-4223-9898-3a0e77a48195'),
+('76128e4c-f28b-4647-9061-5fe85329f5f8',	'dcc82e4a-16d6-4223-9898-3a0e77a48195'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'ba8d9bb7-4f01-40bd-a893-4e56b1025738'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'ba8d9bb7-4f01-40bd-a893-4e56b1025738'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'ae2b5576-8a70-4c7e-ac1d-b698067dce4a'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'ae2b5576-8a70-4c7e-ac1d-b698067dce4a'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'12d7e4ca-f382-4356-bf9f-c1bd742ba7c7'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'12d7e4ca-f382-4356-bf9f-c1bd742ba7c7'),
+('b0815bb7-6efc-4a17-bb06-32690b05943e',	'6557d3e6-e655-428d-b491-bf4c4fad3839'),
+('b5a35b28-a5be-420c-9760-e2a577c31391',	'6557d3e6-e655-428d-b491-bf4c4fad3839'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'6557d3e6-e655-428d-b491-bf4c4fad3839'),
+('b0815bb7-6efc-4a17-bb06-32690b05943e',	'bf9cbba5-5fa9-49f1-96ae-dad75cbfb34e'),
+('b5a35b28-a5be-420c-9760-e2a577c31391',	'bf9cbba5-5fa9-49f1-96ae-dad75cbfb34e'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'bf9cbba5-5fa9-49f1-96ae-dad75cbfb34e'),
+('76128e4c-f28b-4647-9061-5fe85329f5f8',	'6c6f86f2-8146-44c9-8085-da7ff19d7428'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'6c6f86f2-8146-44c9-8085-da7ff19d7428'),
+('9d4201d6-8690-4b88-99a4-81670db1cabd',	'6c6f86f2-8146-44c9-8085-da7ff19d7428'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'6c6f86f2-8146-44c9-8085-da7ff19d7428'),
+('01771e30-20cf-4117-b8b9-c73d323b5a50',	'685b5c6f-cca3-4a21-af49-bce5bb8e979c'),
+('b5a35b28-a5be-420c-9760-e2a577c31391',	'685b5c6f-cca3-4a21-af49-bce5bb8e979c'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'ad0b4239-6258-46a7-9ab7-ccbcdac29d2c'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'ad0b4239-6258-46a7-9ab7-ccbcdac29d2c'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'ad0b4239-6258-46a7-9ab7-ccbcdac29d2c'),
+('76128e4c-f28b-4647-9061-5fe85329f5f8',	'ad0b4239-6258-46a7-9ab7-ccbcdac29d2c'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'50a76f76-4bb5-4eb1-9262-999f4c606e23'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'644026a2-28b7-4c13-bd23-7a0e85addcae'),
+('3b3fbec3-ae21-4683-bb6b-c7a7a289e2d6',	'644026a2-28b7-4c13-bd23-7a0e85addcae'),
+('01771e30-20cf-4117-b8b9-c73d323b5a50',	'ef87c8b4-ef23-49f8-ae66-7ee19d072394'),
+('b5a35b28-a5be-420c-9760-e2a577c31391',	'07c5648d-d5cb-4e17-9833-8c5487caabd0'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'07c5648d-d5cb-4e17-9833-8c5487caabd0'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'845f7ea6-82ef-4940-8bcc-c5ac2bd611f4'),
+('7ab10e30-f4f1-490e-8694-41bb888d7e00',	'845f7ea6-82ef-4940-8bcc-c5ac2bd611f4'),
+('01771e30-20cf-4117-b8b9-c73d323b5a50',	'bd914599-0e2c-4eb8-a516-1355780f512c'),
+('b5a35b28-a5be-420c-9760-e2a577c31391',	'bd914599-0e2c-4eb8-a516-1355780f512c'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'bd914599-0e2c-4eb8-a516-1355780f512c'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'1255f864-0d0b-487f-b2b7-998a5a895cdd'),
+('eea14b3e-dea7-4dd2-b99e-7cedc7063471',	'1255f864-0d0b-487f-b2b7-998a5a895cdd'),
+('b5a35b28-a5be-420c-9760-e2a577c31391',	'ad68fefc-dafa-41d5-b45a-2e13e3866c06'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'ad68fefc-dafa-41d5-b45a-2e13e3866c06'),
+('b0815bb7-6efc-4a17-bb06-32690b05943e',	'ad68fefc-dafa-41d5-b45a-2e13e3866c06'),
+('9d4201d6-8690-4b88-99a4-81670db1cabd',	'5d6dacb2-63c4-45fc-b0f4-e24580b3c846'),
+('3b3fbec3-ae21-4683-bb6b-c7a7a289e2d6',	'5d6dacb2-63c4-45fc-b0f4-e24580b3c846'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'd5839e47-ad9c-4e22-b30f-bcd8bb7138f6'),
+('1b012da6-a926-4b9f-a432-dca6cd1111ec',	'd5839e47-ad9c-4e22-b30f-bcd8bb7138f6'),
+('1b524176-5fbd-4ac9-bda2-36030d9e9b15',	'd5839e47-ad9c-4e22-b30f-bcd8bb7138f6'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'd5839e47-ad9c-4e22-b30f-bcd8bb7138f6'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'59dca9d0-288b-4155-9af3-cae4e763f54a'),
+('1b012da6-a926-4b9f-a432-dca6cd1111ec',	'59dca9d0-288b-4155-9af3-cae4e763f54a'),
+('1b524176-5fbd-4ac9-bda2-36030d9e9b15',	'59dca9d0-288b-4155-9af3-cae4e763f54a'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'59dca9d0-288b-4155-9af3-cae4e763f54a'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'76b033f4-9a8a-4c54-9f85-3b63c7b62b35'),
+('76128e4c-f28b-4647-9061-5fe85329f5f8',	'76b033f4-9a8a-4c54-9f85-3b63c7b62b35'),
+('3b3fbec3-ae21-4683-bb6b-c7a7a289e2d6',	'de0a75c1-e45a-4bae-8550-bc9fcccafb07'),
+('76128e4c-f28b-4647-9061-5fe85329f5f8',	'de0a75c1-e45a-4bae-8550-bc9fcccafb07'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'de0a75c1-e45a-4bae-8550-bc9fcccafb07'),
+('b5a35b28-a5be-420c-9760-e2a577c31391',	'de0a75c1-e45a-4bae-8550-bc9fcccafb07'),
+('9d4201d6-8690-4b88-99a4-81670db1cabd',	'de0a75c1-e45a-4bae-8550-bc9fcccafb07'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'4fa020fd-978c-4e18-a697-d28a13a63573'),
+('0194145a-cc12-4334-8637-b2222460a944',	'4fa020fd-978c-4e18-a697-d28a13a63573'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'4fa020fd-978c-4e18-a697-d28a13a63573'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'f9e0e24c-4392-4050-b89e-6e01aef459d8'),
+('eea14b3e-dea7-4dd2-b99e-7cedc7063471',	'f9e0e24c-4392-4050-b89e-6e01aef459d8'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'c272df44-94b4-4fb5-8ee2-d09432e38176'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'c272df44-94b4-4fb5-8ee2-d09432e38176'),
+('76128e4c-f28b-4647-9061-5fe85329f5f8',	'c272df44-94b4-4fb5-8ee2-d09432e38176'),
+('80869462-7c34-4795-b6d9-0c87dc0a3f3c',	'96c5ff43-25d1-4758-aafb-27c231d4e958'),
+('0194145a-cc12-4334-8637-b2222460a944',	'96c5ff43-25d1-4758-aafb-27c231d4e958'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'85263627-30a9-4fbc-b077-7d10208a3e61'),
+('1b012da6-a926-4b9f-a432-dca6cd1111ec',	'85263627-30a9-4fbc-b077-7d10208a3e61'),
+('695bcf99-8de9-4992-b9e6-04e8ef8d2d66',	'85263627-30a9-4fbc-b077-7d10208a3e61'),
+('0194145a-cc12-4334-8637-b2222460a944',	'10573777-d494-4484-86a5-3220f051b9ae'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'10573777-d494-4484-86a5-3220f051b9ae'),
+('0194145a-cc12-4334-8637-b2222460a944',	'3898e012-8471-485c-9e44-cf876e7f0a6f'),
+('3b3fbec3-ae21-4683-bb6b-c7a7a289e2d6',	'5a09c1dd-145b-4a5c-a412-849ef3b656ee'),
+('b5a35b28-a5be-420c-9760-e2a577c31391',	'5a09c1dd-145b-4a5c-a412-849ef3b656ee'),
+('b0815bb7-6efc-4a17-bb06-32690b05943e',	'5a09c1dd-145b-4a5c-a412-849ef3b656ee'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'5a09c1dd-145b-4a5c-a412-849ef3b656ee'),
+('0194145a-cc12-4334-8637-b2222460a944',	'148924fd-8d00-4ab8-bfce-4593f1c53d54'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'5fb0df28-1b13-4002-8f45-a1dc9d63d1f3'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'5fb0df28-1b13-4002-8f45-a1dc9d63d1f3'),
+('01771e30-20cf-4117-b8b9-c73d323b5a50',	'5fb0df28-1b13-4002-8f45-a1dc9d63d1f3'),
+('1b012da6-a926-4b9f-a432-dca6cd1111ec',	'5fb0df28-1b13-4002-8f45-a1dc9d63d1f3'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'275dfe53-0deb-46b4-8c6c-44dbda0cd69d'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'275dfe53-0deb-46b4-8c6c-44dbda0cd69d'),
+('9149e3dd-de80-453e-8361-3ed1472404b5',	'275dfe53-0deb-46b4-8c6c-44dbda0cd69d'),
+('76128e4c-f28b-4647-9061-5fe85329f5f8',	'275dfe53-0deb-46b4-8c6c-44dbda0cd69d'),
+('6c018d1e-df59-45ee-a74f-24b24201f4fb',	'0316152d-fa77-42b0-a6d6-5bfa48894674'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'0316152d-fa77-42b0-a6d6-5bfa48894674'),
+('b5a35b28-a5be-420c-9760-e2a577c31391',	'5c2f0514-275a-4cd6-8a89-ee32800a86a7'),
+('0194145a-cc12-4334-8637-b2222460a944',	'5c2f0514-275a-4cd6-8a89-ee32800a86a7'),
+('3b3fbec3-ae21-4683-bb6b-c7a7a289e2d6',	'5c2f0514-275a-4cd6-8a89-ee32800a86a7'),
+('b0815bb7-6efc-4a17-bb06-32690b05943e',	'3f4afd2d-d7f8-4ee1-8038-ae0ae6b5fbf1'),
+('b5a35b28-a5be-420c-9760-e2a577c31391',	'3f4afd2d-d7f8-4ee1-8038-ae0ae6b5fbf1'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'3f4afd2d-d7f8-4ee1-8038-ae0ae6b5fbf1'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'1006d567-9ccc-43c4-a331-55c01b9be869'),
+('3b3fbec3-ae21-4683-bb6b-c7a7a289e2d6',	'1006d567-9ccc-43c4-a331-55c01b9be869'),
+('76128e4c-f28b-4647-9061-5fe85329f5f8',	'1006d567-9ccc-43c4-a331-55c01b9be869'),
+('9149e3dd-de80-453e-8361-3ed1472404b5',	'1006d567-9ccc-43c4-a331-55c01b9be869'),
+('b5a35b28-a5be-420c-9760-e2a577c31391',	'1006d567-9ccc-43c4-a331-55c01b9be869'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'7bea4aac-ad0f-4348-8772-abad140fa21f'),
+('1b012da6-a926-4b9f-a432-dca6cd1111ec',	'7bea4aac-ad0f-4348-8772-abad140fa21f'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'96707a94-a773-45de-b6eb-329c0e5e7289'),
+('9d4201d6-8690-4b88-99a4-81670db1cabd',	'96707a94-a773-45de-b6eb-329c0e5e7289'),
+('76128e4c-f28b-4647-9061-5fe85329f5f8',	'96707a94-a773-45de-b6eb-329c0e5e7289'),
+('a8252bc5-e8c9-42a8-9196-d340acd836f9',	'96707a94-a773-45de-b6eb-329c0e5e7289'),
+('0194145a-cc12-4334-8637-b2222460a944',	'96707a94-a773-45de-b6eb-329c0e5e7289'),
+('b5a35b28-a5be-420c-9760-e2a577c31391',	'9faa356c-dbd4-48ea-9983-43fca5cd5919'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'9faa356c-dbd4-48ea-9983-43fca5cd5919'),
+('01771e30-20cf-4117-b8b9-c73d323b5a50',	'9faa356c-dbd4-48ea-9983-43fca5cd5919'),
+('6c598737-616e-4caa-bd4a-26686b5ca731',	'540b25e9-dae9-401e-bba4-4f2b3605e770'),
+('b5a35b28-a5be-420c-9760-e2a577c31391',	'540b25e9-dae9-401e-bba4-4f2b3605e770'),
+('de468ee1-4be5-4ee6-8ef2-a26d4079596e',	'540b25e9-dae9-401e-bba4-4f2b3605e770');
+
+DROP TABLE IF EXISTS "_prisma_migrations";
+CREATE TABLE "public"."_prisma_migrations" (
+    "id" character varying(36) NOT NULL,
+    "checksum" character varying(64) NOT NULL,
+    "finished_at" timestamptz,
+    "migration_name" character varying(255) NOT NULL,
+    "logs" text,
+    "rolled_back_at" timestamptz,
+    "started_at" timestamptz DEFAULT now() NOT NULL,
+    "applied_steps_count" integer DEFAULT '0' NOT NULL,
+    CONSTRAINT "_prisma_migrations_pkey" PRIMARY KEY ("id")
+) WITH (oids = false);
+
+INSERT INTO "_prisma_migrations" ("id", "checksum", "finished_at", "migration_name", "logs", "rolled_back_at", "started_at", "applied_steps_count") VALUES
+('ddf57fc5-f76e-4c7c-8a22-bc1a35d7e8a1',	'fa4057a9072e083656ea0997cd3084d0581ae0cd2a7331dac9bffe6e42d8d40a',	'2022-06-17 03:22:17.267113+00',	'20220614193457_init',	NULL,	NULL,	'2022-06-17 03:22:17.173499+00',	1),
+('6ac4f92f-d6a5-4cf8-a5d4-dcb237538c32',	'1620d1dea3776aa47df54c1c1bfb3c26b9227a6245d9cd8d575e2f92105cfd57',	'2022-06-17 03:22:17.283629+00',	'20220617021322_init',	NULL,	NULL,	'2022-06-17 03:22:17.270648+00',	1);
+
+ALTER TABLE ONLY "public"."Movie" ADD CONSTRAINT "Movie_directorId_fkey" FOREIGN KEY ("directorId") REFERENCES "Director"(id) ON UPDATE CASCADE ON DELETE RESTRICT NOT DEFERRABLE;
+
+ALTER TABLE ONLY "public"."_MovieCategory" ADD CONSTRAINT "_MovieCategory_A_fkey" FOREIGN KEY ("A") REFERENCES "Category"(id) ON UPDATE CASCADE ON DELETE CASCADE NOT DEFERRABLE;
+ALTER TABLE ONLY "public"."_MovieCategory" ADD CONSTRAINT "_MovieCategory_B_fkey" FOREIGN KEY ("B") REFERENCES "Movie"(id) ON UPDATE CASCADE ON DELETE CASCADE NOT DEFERRABLE;
+
+-- 2022-06-17 03:38:30.677516+00