Index: src/main/java/com/example/moviezone/model/Event.java
===================================================================
--- src/main/java/com/example/moviezone/model/Event.java	(revision a554435c82779a3fdd16512c859c8e2371cde2b5)
+++ src/main/java/com/example/moviezone/model/Event.java	(revision 693f587dbcbddc84ee05754925aa342e2c9bf9d5)
@@ -27,3 +27,9 @@
     LocalDate start_date;
 
+    public Event(String theme, String duration, String repeating, LocalDate start_date) {
+        this.theme = theme;
+        this.duration = duration;
+        this.repeating = repeating;
+        this.start_date = start_date;
+    }
 }
Index: src/main/java/com/example/moviezone/model/Film.java
===================================================================
--- src/main/java/com/example/moviezone/model/Film.java	(revision a554435c82779a3fdd16512c859c8e2371cde2b5)
+++ src/main/java/com/example/moviezone/model/Film.java	(revision 693f587dbcbddc84ee05754925aa342e2c9bf9d5)
@@ -31,4 +31,14 @@
     LocalDate end_date;
 
-
+    public Film(String name, Integer duration, String actors, String genre, String age_category, String url, String director, LocalDate start_date, LocalDate end_date) {
+        this.name = name;
+        this.duration = duration;
+        this.actors = actors;
+        this.genre = genre;
+        this.age_category = age_category;
+        this.url = url;
+        this.director = director;
+        this.start_date = start_date;
+        this.end_date = end_date;
+    }
 }
Index: src/main/java/com/example/moviezone/model/Projection.java
===================================================================
--- src/main/java/com/example/moviezone/model/Projection.java	(revision a554435c82779a3fdd16512c859c8e2371cde2b5)
+++ src/main/java/com/example/moviezone/model/Projection.java	(revision 693f587dbcbddc84ee05754925aa342e2c9bf9d5)
@@ -33,3 +33,9 @@
     Discount discount;
 
+    public Projection(LocalDate date_time_start, String type_of_technology, LocalDate date_time_end, Film film) {
+        this.date_time_start = date_time_start;
+        this.type_of_technology = type_of_technology;
+        this.date_time_end = date_time_end;
+        this.film = film;
+    }
 }
Index: src/main/java/com/example/moviezone/service/EventService.java
===================================================================
--- src/main/java/com/example/moviezone/service/EventService.java	(revision a554435c82779a3fdd16512c859c8e2371cde2b5)
+++ src/main/java/com/example/moviezone/service/EventService.java	(revision 693f587dbcbddc84ee05754925aa342e2c9bf9d5)
@@ -3,8 +3,9 @@
 import com.example.moviezone.model.Event;
 
+import java.time.LocalDate;
 import java.util.List;
 
 public interface EventService {
     List<Event> findAllEvents();
-
+    Event save(LocalDate start_date,String theme,String duration,String repeating);
 }
Index: src/main/java/com/example/moviezone/service/FilmService.java
===================================================================
--- src/main/java/com/example/moviezone/service/FilmService.java	(revision a554435c82779a3fdd16512c859c8e2371cde2b5)
+++ src/main/java/com/example/moviezone/service/FilmService.java	(revision 693f587dbcbddc84ee05754925aa342e2c9bf9d5)
@@ -3,7 +3,10 @@
 import com.example.moviezone.model.Film;
 
+import java.time.LocalDate;
 import java.util.List;
 
 public interface FilmService {
     List<Film> findAllFilms();
+    Film save(String name, Integer duration, String actors, String genre,
+              String age_category, String url, String director, LocalDate start_date,LocalDate end_date );
 }
Index: src/main/java/com/example/moviezone/service/Impl/EventServiceImpl.java
===================================================================
--- src/main/java/com/example/moviezone/service/Impl/EventServiceImpl.java	(revision a554435c82779a3fdd16512c859c8e2371cde2b5)
+++ src/main/java/com/example/moviezone/service/Impl/EventServiceImpl.java	(revision 693f587dbcbddc84ee05754925aa342e2c9bf9d5)
@@ -6,4 +6,5 @@
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDate;
 import java.util.List;
 
@@ -20,3 +21,8 @@
         return eventRepository.findAll();
     }
+
+    @Override
+    public Event save(LocalDate start_date, String theme, String duration, String repeating) {
+        return eventRepository.save(new Event(theme,duration,repeating,start_date));
+    }
 }
Index: src/main/java/com/example/moviezone/service/Impl/FilmServiceImpl.java
===================================================================
--- src/main/java/com/example/moviezone/service/Impl/FilmServiceImpl.java	(revision a554435c82779a3fdd16512c859c8e2371cde2b5)
+++ src/main/java/com/example/moviezone/service/Impl/FilmServiceImpl.java	(revision 693f587dbcbddc84ee05754925aa342e2c9bf9d5)
@@ -6,4 +6,5 @@
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDate;
 import java.util.List;
 
@@ -20,3 +21,8 @@
         return filmRepository.findAll();
     }
+
+    @Override
+    public Film save(String name, Integer duration, String actors, String genre, String age_category, String url, String director, LocalDate start_date, LocalDate end_date) {
+        return filmRepository.save(new Film(name,duration,actors,genre,age_category,url,director,start_date,end_date));
+    }
 }
Index: src/main/java/com/example/moviezone/service/Impl/ProjectionServiceImpl.java
===================================================================
--- src/main/java/com/example/moviezone/service/Impl/ProjectionServiceImpl.java	(revision a554435c82779a3fdd16512c859c8e2371cde2b5)
+++ src/main/java/com/example/moviezone/service/Impl/ProjectionServiceImpl.java	(revision 693f587dbcbddc84ee05754925aa342e2c9bf9d5)
@@ -1,5 +1,7 @@
 package com.example.moviezone.service.Impl;
 
+import com.example.moviezone.model.Film;
 import com.example.moviezone.model.Projection;
+import com.example.moviezone.repository.FilmRepository;
 import com.example.moviezone.repository.ProjectionRepository;
 import com.example.moviezone.service.ProjectionService;
@@ -12,7 +14,8 @@
 public class ProjectionServiceImpl implements ProjectionService {
     private final ProjectionRepository projectionRepository;
-
-    public ProjectionServiceImpl(ProjectionRepository projectionRepository) {
+    private final FilmRepository filmRepository;
+    public ProjectionServiceImpl(ProjectionRepository projectionRepository, FilmRepository filmRepository) {
         this.projectionRepository = projectionRepository;
+        this.filmRepository = filmRepository;
     }
 
@@ -27,3 +30,9 @@
     }
 
+    @Override
+    public Projection save(LocalDate date_time_start, LocalDate date_time_end, String type_of_technology, Integer id_film) {
+       Film film=filmRepository.findById(id_film).orElseThrow(RuntimeException::new);
+        return projectionRepository.save(new Projection(date_time_start,type_of_technology,date_time_end,film));
+    }
+
 }
Index: src/main/java/com/example/moviezone/service/ProjectionService.java
===================================================================
--- src/main/java/com/example/moviezone/service/ProjectionService.java	(revision a554435c82779a3fdd16512c859c8e2371cde2b5)
+++ src/main/java/com/example/moviezone/service/ProjectionService.java	(revision 693f587dbcbddc84ee05754925aa342e2c9bf9d5)
@@ -1,4 +1,5 @@
 package com.example.moviezone.service;
 
+import com.example.moviezone.model.Film;
 import com.example.moviezone.model.Projection;
 
@@ -9,4 +10,4 @@
     List<Projection> findAllProjections();
 List<Projection> findAllAvailableProjections(LocalDate date);
-
+Projection save(LocalDate date_time_start,LocalDate date_time_end, String type_of_technology, Integer id_film );
 }
Index: src/main/java/com/example/moviezone/web/HomeController.java
===================================================================
--- src/main/java/com/example/moviezone/web/HomeController.java	(revision a554435c82779a3fdd16512c859c8e2371cde2b5)
+++ src/main/java/com/example/moviezone/web/HomeController.java	(revision 693f587dbcbddc84ee05754925aa342e2c9bf9d5)
@@ -2,10 +2,10 @@
 
 
+import com.example.moviezone.model.Customer;
+import com.example.moviezone.model.Film;
 import com.example.moviezone.model.User;
 import com.example.moviezone.model.exceptions.UserNotFoundException;
-import com.example.moviezone.service.EventService;
-import com.example.moviezone.service.FilmService;
-import com.example.moviezone.service.ProjectionService;
-import com.example.moviezone.service.UserService;
+import com.example.moviezone.service.*;
+import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -26,13 +26,15 @@
 private final ProjectionService projectionService;
 private final EventService eventService;
+private final TicketService ticketService;
 
-    public HomeController(FilmService filmService, UserService userService, ProjectionService projectionService, EventService eventService) {
+    public HomeController(FilmService filmService, UserService userService, ProjectionService projectionService, EventService eventService, TicketService ticketService) {
         this.filmService = filmService;
         this.userService = userService;
         this.projectionService = projectionService;
         this.eventService = eventService;
+        this.ticketService = ticketService;
     }
 
-    @GetMapping
+    @GetMapping({"/","/home"})
     public String getHomePage(Model model) {
         model.addAttribute("bodyContent", "home");
@@ -105,4 +107,65 @@
         return "master-template";
     }
+    @GetMapping("/myTickets")
+    public  String getMyTicketsPage(Model model,HttpSession session)
+    {
+        model.addAttribute("tickets",ticketService.findAllByCustomer((Customer) session.getAttribute("user")));
+        model.addAttribute("bodyContent","myTickets");
+        return "master-template";
+    }
+    @GetMapping("/addProjection")
+    public  String getAddProjectionPage(Model model)
+    {
+        model.addAttribute("films",filmService.findAllFilms());
+        model.addAttribute("bodyContent","addProjection");
+        return "master-template";
+    }
+    @GetMapping("/addEvent")
+    public  String getAddEventPage(Model model)
+    {
+        model.addAttribute("bodyContent","addEvent");
+        return "master-template";
+    }
+    @GetMapping("/addFilm")
+    public  String getAddFilmPage(Model model)
+    {
+        model.addAttribute("bodyContent","addFilm");
+        return "master-template";
+    }
+
+    @PostMapping("/addP")
+    public String saveProjection(@RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date_time_start,
+                                 @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date_time_end,
+                                 @RequestParam String type_of_technology,
+                                 @RequestParam Integer id_film)
+    {
+        projectionService.save(date_time_start,date_time_end,type_of_technology,id_film);
+         return "redirect:/home";
+    }
+    @PostMapping("/addE")
+    public String saveEvent(@RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate start_date,
+                                 @RequestParam String theme,
+                                 @RequestParam String duration,
+                            @RequestParam String repeating)
+    {
+        eventService.save(start_date,theme,duration,repeating);
+        return "redirect:/home";
+    }
+    @PostMapping("/addF")
+    public String saveFilm(
+                            @RequestParam String name,
+                            @RequestParam Integer duration,
+                            @RequestParam String actors,
+                           @RequestParam String genre,
+                           @RequestParam String age_category,
+                           @RequestParam String url,
+                           @RequestParam String director,
+                            @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate start_date,
+                            @RequestParam @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate end_date
+                           )
+    {
+        filmService.save(name,duration,actors,genre,age_category,url,director,start_date,end_date);
+        return "redirect:/home";
+    }
 
 }
