diff --git a/pom.xml b/pom.xml
index fd2514f..4c5fcd6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,6 +45,13 @@
spring-boot-starter-webmvc
+
+ org.projectlombok
+ lombok
+ 1.18.40
+ provided
+
+
org.postgresql
postgresql
diff --git a/src/main/java/com/example/video_downloader/controllers/VideoController.java b/src/main/java/com/example/video_downloader/controllers/VideoController.java
new file mode 100644
index 0000000..b47b44a
--- /dev/null
+++ b/src/main/java/com/example/video_downloader/controllers/VideoController.java
@@ -0,0 +1,33 @@
+package com.example.video_downloader.controllers;
+
+import com.example.video_downloader.dto.SaveNewVideoRequest;
+import com.example.video_downloader.repositories.VideoRepository;
+import com.example.video_downloader.services.VideoService;
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping(path = "/video" )
+@CrossOrigin(origins = "http://localhost:3000")
+public class VideoController {
+
+ @Autowired
+ private VideoService videoService;
+
+ @Data
+ private class Response {
+ private Long id;
+ }
+
+ @PostMapping(path = "/video")
+ public Response saveNewVideo(@RequestBody SaveNewVideoRequest request){
+
+ videoService.saveNewVideo(request);
+ Response response = new Response();
+ response.setId(videoService.saveNewVideo(request).getId());
+
+ return response;
+
+ }
+}
diff --git a/src/main/java/com/example/video_downloader/dto/SaveNewVideoRequest.java b/src/main/java/com/example/video_downloader/dto/SaveNewVideoRequest.java
new file mode 100644
index 0000000..bfdf986
--- /dev/null
+++ b/src/main/java/com/example/video_downloader/dto/SaveNewVideoRequest.java
@@ -0,0 +1,8 @@
+package com.example.video_downloader.dto;
+
+import lombok.Data;
+
+@Data
+public class SaveNewVideoRequest {
+ private String url;
+}
diff --git a/src/main/java/com/example/video_downloader/entity/StatusEnum.java b/src/main/java/com/example/video_downloader/entity/StatusEnum.java
new file mode 100644
index 0000000..11a1396
--- /dev/null
+++ b/src/main/java/com/example/video_downloader/entity/StatusEnum.java
@@ -0,0 +1,5 @@
+package com.example.video_downloader.entity;
+
+public enum StatusEnum {
+ NEW, FAILED, SAVED
+}
diff --git a/src/main/java/com/example/video_downloader/entity/Video.java b/src/main/java/com/example/video_downloader/entity/Video.java
new file mode 100644
index 0000000..1c87dd2
--- /dev/null
+++ b/src/main/java/com/example/video_downloader/entity/Video.java
@@ -0,0 +1,21 @@
+package com.example.video_downloader.entity;
+
+import jakarta.persistence.*;
+import lombok.Data;
+import lombok.ToString;
+
+@Data
+@ToString
+@Entity
+@Table(name = "videos")
+public class Video {
+ @Id
+ @GeneratedValue(strategy = GenerationType.SEQUENCE)
+ private Long id;
+
+ private String url;
+ private String ytld;
+ private String ytMetaData;
+ private StatusEnum status;
+ private String fullPath;
+}
diff --git a/src/main/java/com/example/video_downloader/repositories/VideoRepository.java b/src/main/java/com/example/video_downloader/repositories/VideoRepository.java
new file mode 100644
index 0000000..77650f4
--- /dev/null
+++ b/src/main/java/com/example/video_downloader/repositories/VideoRepository.java
@@ -0,0 +1,9 @@
+package com.example.video_downloader.repositories;
+
+import com.example.video_downloader.entity.Video;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface VideoRepository extends JpaRepository