Index: src/main/java/com/example/moviezone/config/WebSecurityConfig.java
===================================================================
--- src/main/java/com/example/moviezone/config/WebSecurityConfig.java	(revision 448bd84fdf9afb4e8cbe65e87648142640def91f)
+++ src/main/java/com/example/moviezone/config/WebSecurityConfig.java	(revision f8ef9bd38a699e83d8217ae65c318b72f3bb9319)
@@ -32,5 +32,5 @@
         http.csrf().disable()
                 .authorizeRequests()
-                .antMatchers("/", "/home", "/assets/**", "/register", "/api/**").permitAll()
+                .antMatchers("/","/home/getFilm/**", "/home", "/assets/**", "/register", "/api/**").permitAll()
                 .antMatchers("/admin/**").hasRole("ADMIN")
                 .anyRequest()
Index: src/main/java/com/example/moviezone/model/Film.java
===================================================================
--- src/main/java/com/example/moviezone/model/Film.java	(revision 448bd84fdf9afb4e8cbe65e87648142640def91f)
+++ src/main/java/com/example/moviezone/model/Film.java	(revision f8ef9bd38a699e83d8217ae65c318b72f3bb9319)
@@ -46,3 +46,43 @@
 
     }
+
+    public Integer getId_film() {
+        return id_film;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public Integer getDuration() {
+        return duration;
+    }
+
+    public String getActors() {
+        return actors;
+    }
+
+    public String getGenre() {
+        return genre;
+    }
+
+    public String getAge_category() {
+        return age_category;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public String getDirector() {
+        return director;
+    }
+
+    public LocalDate getStart_date() {
+        return start_date;
+    }
+
+    public LocalDate getEnd_date() {
+        return end_date;
+    }
 }
Index: src/main/java/com/example/moviezone/model/Projection.java
===================================================================
--- src/main/java/com/example/moviezone/model/Projection.java	(revision 448bd84fdf9afb4e8cbe65e87648142640def91f)
+++ src/main/java/com/example/moviezone/model/Projection.java	(revision f8ef9bd38a699e83d8217ae65c318b72f3bb9319)
@@ -39,3 +39,6 @@
         this.film = film;
     }
+
+    public Projection() {
+    }
 }
Index: src/main/java/com/example/moviezone/repository/FilmRepository.java
===================================================================
--- src/main/java/com/example/moviezone/repository/FilmRepository.java	(revision 448bd84fdf9afb4e8cbe65e87648142640def91f)
+++ src/main/java/com/example/moviezone/repository/FilmRepository.java	(revision f8ef9bd38a699e83d8217ae65c318b72f3bb9319)
@@ -3,5 +3,10 @@
 import com.example.moviezone.model.Film;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.query.Procedure;
+import org.springframework.data.repository.query.Param;
+
+import java.util.List;
 
 public interface FilmRepository extends JpaRepository<Film,Integer> {
+
 }
Index: src/main/java/com/example/moviezone/repository/ProjectionRepository.java
===================================================================
--- src/main/java/com/example/moviezone/repository/ProjectionRepository.java	(revision 448bd84fdf9afb4e8cbe65e87648142640def91f)
+++ src/main/java/com/example/moviezone/repository/ProjectionRepository.java	(revision f8ef9bd38a699e83d8217ae65c318b72f3bb9319)
@@ -9,4 +9,4 @@
 public interface ProjectionRepository extends JpaRepository<Projection,Integer> {
     //    NOTE: CHANGE THIS WITH MATERIALIZED VIEW
-    List<Projection> findAllByDate_time_startBefore(LocalDate datum);
+    //List<Projection> findAllBydate_time_startBefore(LocalDate datum);
 }
Index: src/main/java/com/example/moviezone/service/FilmService.java
===================================================================
--- src/main/java/com/example/moviezone/service/FilmService.java	(revision 448bd84fdf9afb4e8cbe65e87648142640def91f)
+++ src/main/java/com/example/moviezone/service/FilmService.java	(revision f8ef9bd38a699e83d8217ae65c318b72f3bb9319)
@@ -5,4 +5,5 @@
 import java.time.LocalDate;
 import java.util.List;
+import java.util.Optional;
 
 public interface FilmService {
@@ -10,3 +11,4 @@
     Film save(String name, Integer duration, String actors, String genre,
               String age_category, String url, String director, LocalDate start_date,LocalDate end_date);
+    Optional<Film> getFilmById(Long id);
 }
Index: src/main/java/com/example/moviezone/service/Impl/FilmServiceImpl.java
===================================================================
--- src/main/java/com/example/moviezone/service/Impl/FilmServiceImpl.java	(revision 448bd84fdf9afb4e8cbe65e87648142640def91f)
+++ src/main/java/com/example/moviezone/service/Impl/FilmServiceImpl.java	(revision f8ef9bd38a699e83d8217ae65c318b72f3bb9319)
@@ -7,5 +7,7 @@
 
 import java.time.LocalDate;
+import java.util.Collections;
 import java.util.List;
+import java.util.Optional;
 
 @Service
@@ -26,3 +28,9 @@
         return filmRepository.save(new Film(name,duration,actors,genre,age_category,url,director,start_date,end_date));
     }
+
+    @Override
+    public Optional<Film> getFilmById(Long id) {
+        return filmRepository.findAllById(Collections.singleton(id.intValue())).stream().findFirst();
+    }
+
 }
Index: src/main/java/com/example/moviezone/service/Impl/ProjectionServiceImpl.java
===================================================================
--- src/main/java/com/example/moviezone/service/Impl/ProjectionServiceImpl.java	(revision 448bd84fdf9afb4e8cbe65e87648142640def91f)
+++ src/main/java/com/example/moviezone/service/Impl/ProjectionServiceImpl.java	(revision f8ef9bd38a699e83d8217ae65c318b72f3bb9319)
@@ -25,8 +25,4 @@
     }
 
-    @Override
-    public List<Projection> findAllAvailableProjections(LocalDate date) {
-        return projectionRepository.findAllByDate_time_startBefore(date);
-    }
 
     @Override
Index: src/main/java/com/example/moviezone/service/ProjectionService.java
===================================================================
--- src/main/java/com/example/moviezone/service/ProjectionService.java	(revision 448bd84fdf9afb4e8cbe65e87648142640def91f)
+++ src/main/java/com/example/moviezone/service/ProjectionService.java	(revision f8ef9bd38a699e83d8217ae65c318b72f3bb9319)
@@ -9,5 +9,4 @@
 public interface ProjectionService {
     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 448bd84fdf9afb4e8cbe65e87648142640def91f)
+++ src/main/java/com/example/moviezone/web/HomeController.java	(revision f8ef9bd38a699e83d8217ae65c318b72f3bb9319)
@@ -3,4 +3,5 @@
 
 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;
@@ -9,14 +10,14 @@
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpSession;
 import java.time.LocalDate;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
 
 @Controller
-@RequestMapping("/")
+@RequestMapping({"/","/home"})
 public class HomeController {
 
@@ -37,7 +38,19 @@
     }
 
-    @GetMapping({"/","/home"})
+    @GetMapping
     public String getHomePage(Model model) {
+        List<Film> films=filmService.findAllFilms();
+        films=films.stream().limit(5).collect(Collectors.toList());
+        model.addAttribute("films", films);
         model.addAttribute("bodyContent", "home");
+
+        return "master-template";
+    }
+    @GetMapping("/getFilm/{id}")
+    public String getFilm(@PathVariable Long id, Model model) {
+        Optional<Film> film=filmService.getFilmById(id);
+        model.addAttribute("film", film);
+        model.addAttribute("bodyContent", "home");
+
         return "master-template";
     }
@@ -97,5 +110,5 @@
     public String getProjectionsPage(Model model)
     {
-        model.addAttribute("projections",projectionService.findAllAvailableProjections(LocalDate.now()));
+        model.addAttribute("projections",projectionService.findAllProjections());
         model.addAttribute("bodyContent","projections");
         return "master-template";
