Index: src/main/java/com/wediscussmovies/project/configuration/SecurityConfig.java
===================================================================
--- src/main/java/com/wediscussmovies/project/configuration/SecurityConfig.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/configuration/SecurityConfig.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -29,5 +29,5 @@
         http.csrf().disable()
                 .authorizeRequests()
-                .antMatchers("/movies","/movies/**/","/actors","/persons/**/","/directors","/discussions","/discussions/**/","/discussions/all/**/","/replies","/register","/genres", "/css/**", "/js/**").permitAll()
+                .antMatchers("/movies","/movies/**/","/actors","/persons/**/","/directors","/discussions","/discussions/**/","/discussions/all/**/","/replies","/register","/genres", "/css/**","/img/**", "/js/**").permitAll()
                 .anyRequest()
                 .authenticated()
Index: src/main/java/com/wediscussmovies/project/model/Genre.java
===================================================================
--- src/main/java/com/wediscussmovies/project/model/Genre.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/model/Genre.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -22,4 +22,9 @@
     }
 
+    public Genre(int genreId, String genreType) {
+        this.genreId = genreId;
+        this.genreType = genreType;
+    }
+
     public Genre(String genreType) {
         this.genreType = genreType;
Index: src/main/java/com/wediscussmovies/project/model/Movie.java
===================================================================
--- src/main/java/com/wediscussmovies/project/model/Movie.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/model/Movie.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -66,4 +66,17 @@
     }
 
+    public Movie(int movieId, String title, Double imdbRating, String imageUrl) {
+        this.movieId = movieId;
+        this.title = title;
+        this.imdbRating = imdbRating;
+        this.imageUrl = imageUrl;
+    }
+
+    public String getDateFormatted(){
+        String dob = airingDate.toString();
+        String [] parts = dob.split("-");
+        return parts[2]+"/"+parts[1]+"/"+parts[0];
+    }
+
     @Override
     public boolean equals(Object o) {
Index: src/main/java/com/wediscussmovies/project/model/Person.java
===================================================================
--- src/main/java/com/wediscussmovies/project/model/Person.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/model/Person.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -6,5 +6,8 @@
 
 import javax.persistence.*;
+import javax.swing.text.DateFormatter;
 import java.sql.Date;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.Collection;
 
@@ -73,4 +76,10 @@
 
 
+    public String getDateFormatted(){
+        String dob = dateOfBirth.toString();
+        String [] parts = dob.split("-");
+        return parts[2]+"/"+parts[1]+"/"+parts[0];
+    }
+
 
     public Person(String name, String surname, Character type, Date dateOfBirth, String imageUrl, String description) {
Index: src/main/java/com/wediscussmovies/project/model/primarykeys/DiscussionLikesPK.java
===================================================================
--- src/main/java/com/wediscussmovies/project/model/primarykeys/DiscussionLikesPK.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
+++ src/main/java/com/wediscussmovies/project/model/primarykeys/DiscussionLikesPK.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -0,0 +1,40 @@
+package com.wediscussmovies.project.model.primarykeys;
+
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Embeddable;
+import java.io.Serializable;
+import java.util.Objects;
+
+@Embeddable
+@Data
+public class DiscussionLikesPK implements Serializable {
+    @Column(name = "discussion_id")
+    private int discussionId;
+
+    @Column(name = "user_id")
+    private int userId;
+
+    public DiscussionLikesPK(int discussionId, int userId) {
+        this.discussionId = discussionId;
+        this.userId = userId;
+    }
+
+    public DiscussionLikesPK() {
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        DiscussionLikesPK that = (DiscussionLikesPK) o;
+        return discussionId == that.discussionId && userId == that.userId;
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(discussionId, userId);
+    }
+}
Index: src/main/java/com/wediscussmovies/project/model/relation/DiscussionLikes.java
===================================================================
--- src/main/java/com/wediscussmovies/project/model/relation/DiscussionLikes.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
+++ src/main/java/com/wediscussmovies/project/model/relation/DiscussionLikes.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -0,0 +1,39 @@
+package com.wediscussmovies.project.model.relation;
+
+
+import com.wediscussmovies.project.model.Discussion;
+import com.wediscussmovies.project.model.Movie;
+import com.wediscussmovies.project.model.User;
+import com.wediscussmovies.project.model.primarykeys.DiscussionLikesPK;
+import com.wediscussmovies.project.model.primarykeys.MovieLikesPK;
+import lombok.Data;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "discussion_likes", schema = "project", catalog = "db_202122z_va_prj_wediscussmovies")
+@Data
+public class DiscussionLikes {
+    @EmbeddedId
+    private DiscussionLikesPK id;
+
+    @ManyToOne
+    @MapsId("discussion_id")
+    @JoinColumn(name = "discussion_id")
+    private Discussion discussion;
+
+
+    @ManyToOne
+    @MapsId("user_id")
+    @JoinColumn(name = "user_id")
+    private User user;
+
+    public DiscussionLikes(Discussion discussion, User user) {
+        this.id = new DiscussionLikesPK(discussion.getDiscussionId(), user.getUserId());
+        this.discussion = discussion;
+        this.user = user;
+    }
+
+    public DiscussionLikes() {
+    }
+}
Index: src/main/java/com/wediscussmovies/project/querymodels/DiscussionLikes.java
===================================================================
--- src/main/java/com/wediscussmovies/project/querymodels/DiscussionLikes.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
+++ src/main/java/com/wediscussmovies/project/querymodels/DiscussionLikes.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -0,0 +1,32 @@
+package com.wediscussmovies.project.querymodels;
+
+import lombok.Data;
+
+import java.util.Objects;
+
+@Data
+public class DiscussionLikes {
+    private Integer discussionId;
+    private Long likes;
+
+    public DiscussionLikes(Integer discussionId, Long likes) {
+        this.discussionId = discussionId;
+        this.likes = likes;
+    }
+
+    public DiscussionLikes() {
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        DiscussionLikes that = (DiscussionLikes) o;
+        return Objects.equals(discussionId, that.discussionId) && Objects.equals(likes, that.likes);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(discussionId, likes);
+    }
+}
Index: src/main/java/com/wediscussmovies/project/querymodels/MovieLikesQM.java
===================================================================
--- src/main/java/com/wediscussmovies/project/querymodels/MovieLikesQM.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
+++ src/main/java/com/wediscussmovies/project/querymodels/MovieLikesQM.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -0,0 +1,29 @@
+package com.wediscussmovies.project.querymodels;
+
+import lombok.Data;
+
+import java.util.Objects;
+
+@Data
+public class MovieLikesQM {
+    private Integer movieId;
+    private Long likes;
+
+    public MovieLikesQM(Integer movieId, Long likes) {
+        this.movieId = movieId;
+        this.likes = likes;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        MovieLikesQM that = (MovieLikesQM) o;
+        return Objects.equals(movieId, that.movieId) && Objects.equals(likes, that.likes);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(movieId, likes);
+    }
+}
Index: src/main/java/com/wediscussmovies/project/repository/DiscussionLikesRepository.java
===================================================================
--- src/main/java/com/wediscussmovies/project/repository/DiscussionLikesRepository.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
+++ src/main/java/com/wediscussmovies/project/repository/DiscussionLikesRepository.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -0,0 +1,17 @@
+package com.wediscussmovies.project.repository;
+
+import com.wediscussmovies.project.model.User;
+import com.wediscussmovies.project.model.primarykeys.DiscussionLikesPK;
+import com.wediscussmovies.project.model.primarykeys.UserGenresPK;
+import com.wediscussmovies.project.model.relation.DiscussionLikes;
+import com.wediscussmovies.project.model.relation.MovieLikes;
+import com.wediscussmovies.project.model.relation.UserGenres;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface DiscussionLikesRepository extends JpaRepository<DiscussionLikes, DiscussionLikesPK> {
+    List<DiscussionLikes> findAllByUser(User user);
+}
Index: src/main/java/com/wediscussmovies/project/repository/DiscussionRepository.java
===================================================================
--- src/main/java/com/wediscussmovies/project/repository/DiscussionRepository.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/repository/DiscussionRepository.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -4,7 +4,11 @@
 import com.wediscussmovies.project.model.Movie;
 import com.wediscussmovies.project.model.Person;
+import com.wediscussmovies.project.querymodels.DiscussionLikes;
+import com.wediscussmovies.project.querymodels.GenreLikes;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
 import org.springframework.stereotype.Repository;
 
+import javax.transaction.Transactional;
 import java.util.List;
 
@@ -14,3 +18,10 @@
      List<Discussion> findAllByMovie(Movie movie);
      List<Discussion> findAllByPerson (Person person);
+
+     @Query(value = "select new com.wediscussmovies.project.querymodels.DiscussionLikes(d.discussionId, count(dl.id.userId)) from Discussion d" +
+             " left join DiscussionLikes dl on dl.id.discussionId = d.discussionId" +
+             " group by d.discussionId" +
+             " order by count(dl.id.userId) desc")
+     @Transactional
+     List<DiscussionLikes> findAllWithLikes();
 }
Index: src/main/java/com/wediscussmovies/project/repository/GenreRepository.java
===================================================================
--- src/main/java/com/wediscussmovies/project/repository/GenreRepository.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/repository/GenreRepository.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -28,3 +28,7 @@
      @Transactional
      void insertInto(@Param("user_id")Integer userId, @Param("genre_id")Integer genreId);
+
+     @Query(value = "select new com.wediscussmovies.project.model.Genre (g.genreId, g.genreType) from Genre g" +
+     " ORDER BY g.genreType DESC")
+     List<Genre> findAllSorted();
 }
Index: src/main/java/com/wediscussmovies/project/repository/MovieRepository.java
===================================================================
--- src/main/java/com/wediscussmovies/project/repository/MovieRepository.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/repository/MovieRepository.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -3,9 +3,14 @@
 import com.wediscussmovies.project.model.Movie;
 import com.wediscussmovies.project.model.Person;
+import com.wediscussmovies.project.querymodels.GenreLikes;
+import com.wediscussmovies.project.querymodels.MovieLikesQM;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
+import javax.transaction.Transactional;
 import java.util.List;
+import java.util.Optional;
 
 @Repository
@@ -16,3 +21,24 @@
      @Query(value="select m.movieId from Movie m")
      List<Integer> findAllMovieIds();
+
+     @Query(value="select new com.wediscussmovies.project.model.Movie(m.movieId, m.title, m.imdbRating, m.imageUrl) from Movie m" +
+               " where m.movieId = :index")
+     Optional<Movie> findBasicById(@Param("index")Integer index);
+
+
+     @Query(value = "select new com.wediscussmovies.project.querymodels.MovieLikesQM(m.movieId, count(ml.id.userId)) from Movie m" +
+             " left join MovieLikes ml on ml.id.movieId = m.movieId" +
+             " group by m.movieId" +
+             " order by count(ml.id.userId) desc")
+     @Transactional
+     List<MovieLikesQM> findAllWithLikes();
+
+     @Query(value = "select new com.wediscussmovies.project.querymodels.MovieLikesQM(m.movieId, count(ml.id.userId)) from Movie m" +
+             " left join MovieLikes ml on ml.id.movieId = m.movieId" +
+             " group by m.movieId" +
+             " having m.movieId = :id")
+     @Transactional
+     List<MovieLikesQM> findLikesForMovie(@Param("id") Integer movie_id);
+
+
 }
Index: src/main/java/com/wediscussmovies/project/service/DiscussionService.java
===================================================================
--- src/main/java/com/wediscussmovies/project/service/DiscussionService.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/service/DiscussionService.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -3,4 +3,5 @@
 import com.wediscussmovies.project.model.Discussion;
 import com.wediscussmovies.project.model.User;
+import com.wediscussmovies.project.querymodels.DiscussionLikes;
 
 import java.util.List;
@@ -16,3 +17,8 @@
     void unlikeDiscussion(Integer discussionId,Integer userId);
     List<Discussion> findAllForPersonOrMovie(Integer id,Character type);
+
+    List<Discussion> findLikedDiscussionsByUser(User user);
+
+    DiscussionLikes findLikesForDiscussionWithId(int discussionId);
+
 }
Index: src/main/java/com/wediscussmovies/project/service/MovieService.java
===================================================================
--- src/main/java/com/wediscussmovies/project/service/MovieService.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/service/MovieService.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -6,4 +6,5 @@
 import com.wediscussmovies.project.model.Person;
 import com.wediscussmovies.project.model.User;
+import com.wediscussmovies.project.querymodels.MovieLikesQM;
 import org.springframework.data.jpa.repository.Query;
 
@@ -17,4 +18,5 @@
      List<Movie> searchByTitle(String title);
      Movie findById(Integer id);
+     Movie findBasicById(Integer id);
      List<Integer> listAllIds();
      Movie save(String title, String description, String imageUrl, Date airingDate,Double  rating,
@@ -35,3 +37,5 @@
 
      void addGradeMovie(Integer movieId, User user, Grade grade);
+
+    MovieLikesQM findLikesForMovieById(int movieId);
 }
Index: src/main/java/com/wediscussmovies/project/service/impl/DiscussionServiceImpl.java
===================================================================
--- src/main/java/com/wediscussmovies/project/service/impl/DiscussionServiceImpl.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/service/impl/DiscussionServiceImpl.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -5,20 +5,17 @@
 import com.wediscussmovies.project.model.exception.PersonNotExistException;
 import com.wediscussmovies.project.model.exception.UserNotExistException;
-import com.wediscussmovies.project.repository.DiscussionRepository;
+import com.wediscussmovies.project.model.primarykeys.DiscussionLikesPK;
+import com.wediscussmovies.project.model.relation.DiscussionLikes;
+import com.wediscussmovies.project.repository.*;
 import com.wediscussmovies.project.model.Discussion;
 import com.wediscussmovies.project.model.Movie;
 import com.wediscussmovies.project.model.Person;
 import com.wediscussmovies.project.model.User;
-import com.wediscussmovies.project.repository.MovieRepository;
-import com.wediscussmovies.project.repository.PersonRepository;
-import com.wediscussmovies.project.repository.UserRepository;
 import com.wediscussmovies.project.service.DiscussionService;
-import com.wediscussmovies.project.service.MovieService;
-import com.wediscussmovies.project.service.PersonService;
-import com.wediscussmovies.project.service.UserService;
 import org.springframework.stereotype.Service;
 
 import java.sql.Date;
 import java.time.LocalDate;
+import java.util.ArrayList;
 import java.util.List;
 
@@ -27,4 +24,5 @@
 
     private final DiscussionRepository discussionRepository;
+    private final DiscussionLikesRepository discussionLikesRepository;
     private final UserRepository userRepository;
 
@@ -32,7 +30,8 @@
     private final PersonRepository personRepository;
 
-    public DiscussionServiceImpl(DiscussionRepository discussionRepository, UserRepository userRepository,
+    public DiscussionServiceImpl(DiscussionRepository discussionRepository, DiscussionLikesRepository discussionLikesRepository, UserRepository userRepository,
                                  MovieRepository movieRepository, PersonRepository personRepository) {
         this.discussionRepository = discussionRepository;
+        this.discussionLikesRepository = discussionLikesRepository;
         this.userRepository = userRepository;
         this.movieRepository = movieRepository;
@@ -94,11 +93,30 @@
     @Override
     public void likeDiscussion(Integer discussionId, Integer userId) {
-        //ova fali od dijagram
+        Discussion discussion = discussionRepository.findById(discussionId).orElseThrow(() -> new DiscussionNotExistException(discussionId));
+        User user = userRepository.findById(userId).orElseThrow(() -> new UserNotExistException(userId.toString()));
+        this.discussionLikesRepository.save(new DiscussionLikes(discussion, user));
+    }
+
+    @Override
+    public List<Discussion> findLikedDiscussionsByUser(User user) {
+        List<DiscussionLikes> likes = discussionLikesRepository.findAllByUser(user);
+        List<Discussion> discussions = new ArrayList<>();
+        for(DiscussionLikes dl: likes){
+            discussions.add(dl.getDiscussion());
+        }
+        return discussions;
     }
 
     @Override
     public void unlikeDiscussion(Integer discussionId, Integer userId) {
-        // ova fali od dijagram
+        DiscussionLikesPK pk = new DiscussionLikesPK(discussionId, userId);
+        this.discussionLikesRepository.deleteById(pk);
     }
+
+    @Override
+    public com.wediscussmovies.project.querymodels.DiscussionLikes findLikesForDiscussionWithId(int discussionId) {
+        return discussionRepository.findAllWithLikes().stream().filter(d ->  d.getDiscussionId().equals(discussionId)).findFirst().get();
+    }
+
 
     @Override
Index: src/main/java/com/wediscussmovies/project/service/impl/GenreServiceImpl.java
===================================================================
--- src/main/java/com/wediscussmovies/project/service/impl/GenreServiceImpl.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/service/impl/GenreServiceImpl.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -56,5 +56,5 @@
     @Override
     public List<Genre> findAll() {
-        return this.genreRepository.findAll();
+        return this.genreRepository.findAllSorted();
     }
 
Index: src/main/java/com/wediscussmovies/project/service/impl/MovieServiceImpl.java
===================================================================
--- src/main/java/com/wediscussmovies/project/service/impl/MovieServiceImpl.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/service/impl/MovieServiceImpl.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -13,4 +13,5 @@
 import com.wediscussmovies.project.model.relation.MovieLikes;
 import com.wediscussmovies.project.model.relation.MovieRates;
+import com.wediscussmovies.project.querymodels.MovieLikesQM;
 import com.wediscussmovies.project.repository.*;
 import com.wediscussmovies.project.model.exception.MovieIdNotFoundException;
@@ -73,4 +74,14 @@
     public Movie findById(Integer id) {
         return this.movieRepository.findById(id).orElseThrow(() -> new MovieIdNotFoundException(id));
+    }
+
+    @Override
+    public Movie findBasicById(Integer id) {
+        return this.movieRepository.findBasicById(id).orElseThrow(() -> new MovieIdNotFoundException(id));
+    }
+
+    @Override
+    public MovieLikesQM findLikesForMovieById(int movieId) {
+        return this.movieRepository.findLikesForMovie(movieId).get(0);
     }
 
Index: src/main/java/com/wediscussmovies/project/service/impl/PersonServiceImpl.java
===================================================================
--- src/main/java/com/wediscussmovies/project/service/impl/PersonServiceImpl.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/service/impl/PersonServiceImpl.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -9,4 +9,5 @@
 import com.wediscussmovies.project.model.primarykeys.PersonRatesPK;
 import com.wediscussmovies.project.model.relation.MovieActors;
+import com.wediscussmovies.project.model.relation.MovieLikes;
 import com.wediscussmovies.project.model.relation.PersonRates;
 import com.wediscussmovies.project.repository.*;
@@ -28,5 +29,4 @@
     private final MovieActorsRepository movieActorsRepository;
     private final PersonRatesRepository personRatesRepository;
-
     public PersonServiceImpl(PersonRepository personRepository,
                              MovieRepository movieRepository, MovieActorsRepository movieActorsRepository,
@@ -152,5 +152,4 @@
 
 
-
     private void addActorForMovies(Person person, List<Integer> movieIds){
 
Index: src/main/java/com/wediscussmovies/project/web/PageFrontMovies.java
===================================================================
--- src/main/java/com/wediscussmovies/project/web/PageFrontMovies.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/web/PageFrontMovies.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -32,5 +32,8 @@
 
         for(Integer id: movieIds){
-            movies.add(movieService.findById(id));
+            //Trying to improve load times by not pulling all things from the database, excluding un-needed stuff
+            //
+            //movies.add(movieService.findById(id));
+            movies.add(movieService.findBasicById(id));
         }
         model.addAttribute("page", page);
Index: src/main/java/com/wediscussmovies/project/web/controller/DiscussionController.java
===================================================================
--- src/main/java/com/wediscussmovies/project/web/controller/DiscussionController.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/web/controller/DiscussionController.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -5,4 +5,5 @@
 import com.wediscussmovies.project.model.Reply;
 import com.wediscussmovies.project.model.User;
+import com.wediscussmovies.project.model.relation.DiscussionLikes;
 import com.wediscussmovies.project.service.DiscussionService;
 import com.wediscussmovies.project.service.MovieService;
@@ -17,4 +18,5 @@
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
 import java.util.List;
 
@@ -46,4 +48,6 @@
         model.addAttribute("contentTemplate", "discussionsList");
         model.addAttribute("user",LoggedUser.getLoggedUser());
+        this.addModelPropertiesForUser(model);
+        this.addModelPropertiesLikes(model,null, discussions);
         return "template";
     }
@@ -62,4 +66,6 @@
             model.addAttribute("user",LoggedUser.getLoggedUser());
             model.addAttribute("replies",this.replyService.findAllByDiscussion(disc));
+            addModelPropertiesLikes(model, disc, null);
+            addModelPropertiesForUser(model);
 
             return "template";
@@ -171,4 +177,21 @@
 
     }
+    private void addModelPropertiesForUser(Model model){
+        User user = LoggedUser.getLoggedUser();
+        model.addAttribute("likedDiscussions",this.discussionService.findLikedDiscussionsByUser(user));
+        model.addAttribute("user",user);
+    }
+    private void addModelPropertiesLikes(Model model, Discussion discussion, List<Discussion> discussions){
+        if(discussion==null){
+            List<com.wediscussmovies.project.querymodels.DiscussionLikes> discussionLikes = new ArrayList<>();
+            for(Discussion d: discussions){
+                discussionLikes.add(discussionService.findLikesForDiscussionWithId(d.getDiscussionId()));
+            }
+            model.addAttribute("likes", discussionLikes);
+        }
+        else{
+            model.addAttribute("likes",discussionService.findLikesForDiscussionWithId(discussion.getDiscussionId()).getLikes());
+        }
+    }
 
 
Index: src/main/java/com/wediscussmovies/project/web/controller/MovieController.java
===================================================================
--- src/main/java/com/wediscussmovies/project/web/controller/MovieController.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/web/controller/MovieController.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -5,4 +5,5 @@
 import com.wediscussmovies.project.model.Person;
 import com.wediscussmovies.project.model.User;
+import com.wediscussmovies.project.querymodels.MovieLikesQM;
 import com.wediscussmovies.project.service.GenreService;
 import com.wediscussmovies.project.service.MovieService;
@@ -23,4 +24,6 @@
 import java.time.LocalDate;
 import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
 import java.util.List;
 
@@ -39,5 +42,5 @@
 
     @GetMapping("/old")
-    public String getMovies(@RequestParam(required = false) String titleQuery, Model model,
+    public String getMoviesOld(@RequestParam(required = false) String titleQuery, Model model,
                             @RequestParam(required = false) String error){
         List<Movie> movies;
@@ -56,4 +59,5 @@
         model.addAttribute("movie_rows", movie_rows);
         model.addAttribute("contentTemplate", "moviesList");
+        model.addAttribute("genres", genreService.findAll());
         if (error != null && !error.equals(" "))
             model.addAttribute("error",error);
@@ -63,5 +67,5 @@
 
     @GetMapping
-    public String getMoviesAlternative(@RequestParam(required = false) String titleQuery, Model model,
+    public String getMovies(@RequestParam(required = false) String titleQuery, Model model,
                             @RequestParam(required = false) String error, @RequestParam(required = false) String page){
         if (page==null){
@@ -72,6 +76,8 @@
         List<List<Movie>> movie_rows = new ArrayList<>();
         DesignFrontMovies.designMovieList(movies,movie_rows);
+        //addModelPropertiesForMoviesLikes(model, movies);
         model.addAttribute("movies", movies);
         model.addAttribute("movie_rows", movie_rows);
+        model.addAttribute("genres", genreService.findAll());
         model.addAttribute("contentTemplate", "moviesListPaged");
         if (error != null && !error.equals(" "))
@@ -84,4 +90,5 @@
         model.addAttribute("movie", movieService.findById(id));
         addModelPropertiesForUser(model);
+        model.addAttribute("likes", movieService.findLikesForMovieById(id).getLikes());
         model.addAttribute("contentTemplate", "movieShow");
         return "template";
@@ -189,4 +196,11 @@
         model.addAttribute("user",user);
     }
+    private void addModelPropertiesForMoviesLikes(Model model, List<Movie> movies){
+        HashMap<Integer,MovieLikesQM> movieLikes = new HashMap<>();
+        for(Movie m: movies){
+            movieLikes.put(m.getMovieId(),movieService.findLikesForMovieById(m.getMovieId()));
+        }
+        model.addAttribute("movieLikes", movieLikes);
+    }
 
 }
Index: src/main/java/com/wediscussmovies/project/web/controller/rest/MovieRestController.java
===================================================================
--- src/main/java/com/wediscussmovies/project/web/controller/rest/MovieRestController.java	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/java/com/wediscussmovies/project/web/controller/rest/MovieRestController.java	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -52,4 +52,8 @@
     public ResponseEntity addGrade(@PathVariable Integer movieId, @RequestBody Grade grade){
         try {
+            if(grade.getRating() < 5)
+                grade.setRating(5);
+            else if(grade.getRating()>10)
+                grade.setRating(10);
             this.movieService.addGradeMovie(movieId, LoggedUser.getLoggedUser(),grade);
             return ResponseEntity.ok(true);
Index: src/main/resources/static/css/shared.css
===================================================================
--- src/main/resources/static/css/shared.css	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/resources/static/css/shared.css	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -52,5 +52,5 @@
 .bottom{
     position: absolute;
-    top: 80%;
+    top: 75%;
     margin:auto;
     width: 100%;
@@ -60,7 +60,15 @@
     background-color: rgba(0,0,0,0.25);
 }
-
-
-.bottom-heart{
+.bottom h3, .bottom span{
+    margin-bottom: 0px;
+    margin-top: 0px;
+}
+.bottom span{
+    font-size: 75%;
+    margin-top: 5px;
+}
+
+
+.elements .card .btn{
     top: 60%;
     left: auto;
@@ -105,2 +113,103 @@
     opacity: 0;
 }
+
+.person-movies-list{
+    margin: auto;
+    margin-top: 20px;
+    padding: 10px;
+    width: 80%;
+    background-color: rgba(52, 58, 64, 0.7);
+    border-radius: 10px;
+    transition: 200ms;
+    color: white;
+}
+
+.person-movies-list:hover{
+    background-color: rgba(52, 58, 64, 1);
+}
+
+.person-movies-list ul{
+    list-style-type: none;
+}
+
+.person-movies-list ul li{
+    color:black;
+    background-color: rgba(255,255,255,0.7);
+    padding: 12px;
+    font-size: 120%;
+    width: 80%;
+    text-align: center;
+    margin: auto;
+    transition: 200ms;
+    border-radius: 10px;
+    margin-bottom: 5px;
+    text-decoration: underline;
+}
+
+.person-movies-list hr{
+    color: white;
+    background-color: white;
+    border-color: white;
+}
+
+.person-movies-list ul li:hover{
+    background-color: rgba(255,255,255,1);
+    text-decoration-color: blue;
+}
+
+.genres-listing ul li:hover{
+    background-color: rgba(222,128,128,1);
+}
+
+.genres-listing ul li{
+    background-color: rgba(192,128,128,0.7);
+    text-decoration: none !important;
+}
+
+.person-movies-list ul li a{
+    color: black;
+    transition: 250ms;
+    text-decoration: underline;
+    text-decoration-color: black;
+}
+
+.person-movies-list ul li a:hover{
+    color:blue;
+}
+
+
+#admin-buttons a{
+    display: inline-block;
+    width: 95%;
+    margin: auto;
+    margin-top: 10px;
+    font-size: 125%;
+    clear: both;
+}
+
+#image-movie-section{
+    height: fit-content;
+    min-height: fit-content;
+}
+
+#likes-showcase{
+    background-color: rgba(192,128,128,0.7);
+    border-radius: 10px;
+    padding:10px;
+    width: 60%;
+    margin: auto;
+    transition: 200ms;
+    margin-top: 2%;
+}
+
+#likes-showcase strong{
+    font-size: 150%;
+}
+
+#likes-showcase:hover{
+    background-color: rgba(222,128,128,1);
+}
+
+.invisible-search{
+    display: none;
+}
Index: src/main/resources/static/js/sharedScript.js
===================================================================
--- src/main/resources/static/js/sharedScript.js	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/resources/static/js/sharedScript.js	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -4,5 +4,5 @@
     var elements = $(".elements")
     var elementGrade;
-
+    var first_time = true;
 
     $("#button-add").on("click", function (){
@@ -56,10 +56,10 @@
     $(".button-add-grade-movie").on("click",function (){
         elementGrade = $(this)
-        urlRating ="api/movies/grade/"+$(this).attr("movie-id")
+        urlRating ="/api/movies/grade/"+$(this).attr("movie-id")
         $("#dialog-rating").dialog("open")
     })
     $(".button-add-grade-person").on("click",function (){
         elementGrade = $(this)
-        urlRating ="api/persons/grade/"+$(this).attr("person-id")
+        urlRating ="/api/persons/grade/"+$(this).attr("person-id")
         $("#dialog-rating").dialog("open")
     })
@@ -81,14 +81,32 @@
     })*/
 
+    $("#button_toggle_filters").on("click", function (){
+        if(first_time){
+            $("#filters_div").removeClass("invisible-search")
+            first_time=false
+        }
+        else
+            $("#filters_div").fadeToggle();
+    })
 
    $(".search-button").on("click",function () {
-        let filter = $("#searchGenre").val()
+       elements = $(".elements")
+       let filter = $("#searchGenre").val()
+       console.log('\''+filter+'\'')
+       console.log(elements)
+       if(filter.length==0){
+           console.log("HERE")
+           for (let item of elements) {
+               $(item).removeClass("visibility")
+           }
+       }
        for (let item of elements) {
-            let genre = $(item).find(".card-genre")
+           $(item).removeClass("visibility")
+            let genre = $(item).children(".card-genre")
             let visible = false;
-
+            console.log(genre.length)
             for (let g of genre) {
-
-                if (( $(g).text().toLowerCase() === filter.toLowerCase() && !$(g).hasClass("visibility") && filter.trim().length != 0)) {
+                if (( $(g).text().toLowerCase() === filter.toLowerCase())){
+                    console.log(item.text + ' ' + $(g).text())
                     visible = true
                     $(item).removeClass("visibility")
@@ -96,8 +114,7 @@
                 }
             }
-            if (!visible && filter.trim().length != 0)
+            if(!visible){
                 $(item).addClass("visibility")
-            else
-                $(item).removeClass("visibility")
+            }
 
         }
@@ -106,15 +123,15 @@
     $(".button-delete-movie").on("click",function (){
         let button = $(this)
-        let url = "api/movies/delete/" + $(button).attr("movie-id")
+        let url = "/api/movies/delete/" + $(button).attr("movie-id")
         ajaxCallDelete(url,button)
     })
     $(".button-delete-actor").on("click",function (){
         let button = $(this)
-        let url  = "api/persons/delete/" + $(button).attr("person-id")
+        let url  = "/api/persons/delete/" + $(button).attr("person-id")
         ajaxCallDelete(url,button)
     })
     $(".button-delete-discussion").on("click",function (){
         let button = $(this)
-        let url = "api/discussions/delete/" + $(button).attr("discussion-id")
+        let url = "/api/discussions/delete/" + $(button).attr("discussion-id")
         ajaxCallDelete(url,button)
     })
@@ -139,21 +156,41 @@
     $(document.body).on("click",".button-add-favourite-list",function (){
         let button = $(this)
-        let url = "api/movies/like/"+ $(this).attr("movie-id") + "?userId="+ $(this).attr("user-id")
+        let url = "/api/movies/like/"+ $(this).attr("movie-id") + "?userId="+ $(this).attr("user-id")
         ajaxCallLike(url,button,'like','Веќе е филмот допаднат!')
     })
     $(document.body).on("click",".button-remove-favourite-list",function (){
         let button = $(this)
-        let url = "api/movies/unlike/"+ $(this).attr("movie-id")+"?userId="+ $(this).attr("user-id")
+        let url = "/api/movies/unlike/"+ $(this).attr("movie-id")+"?userId="+ $(this).attr("user-id")
         ajaxCallLike(url,button,'unlike','Немате оставено допаѓање на филмот!')
     })
     $(document.body).on("click",".button-add-genre-liked-list",function (){
         let button = $(this)
-        let url = "api/genres/like/"+ $(this).attr("genre-id") + "?userId="+ $(this).attr("user-id")
+        let url = "/api/genres/like/"+ $(this).attr("genre-id") + "?userId="+ $(this).attr("user-id")
         ajaxCallLikeGenre(url,button,'like','Веќе ви се допаѓа жанрот!')
     })
     $(document.body).on("click",".button-remove-genre-liked-list",function (){
         let button = $(this)
-        let url = "api/genres/unlike/"+ $(this).attr("genre-id")+"?userId="+ $(this).attr("user-id")
+        let url = "/api/genres/unlike/"+ $(this).attr("genre-id")+"?userId="+ $(this).attr("user-id")
         ajaxCallLikeGenre(url,button,'unlike','Немате оставено допаѓање на жанрот!')
+    })
+    $(document.body).on("click",".button-like-discussion",function (){
+        let button = $(this)
+        let url = "/api/discussions/like/"+ $(this).attr("discussion-id")+"?userId="+ $(this).attr("user-id")
+        ajaxCallLikeDiscussion(url,button,'like','Веќе имате оставено допаѓање на дискусијата!')
+    })
+    $(document.body).on("click",".button-unlike-discussion",function (){
+        let button = $(this)
+        let url = "/api/discussions/unlike/"+ $(this).attr("discussion-id")+"?userId="+ $(this).attr("user-id")
+        ajaxCallLikeDiscussion(url,button,'unlike','Немате оставено допаѓање на дискусијата!')
+    })
+    $(document.body).on("click",".button-like-discussion-alt",function (){
+        let button = $(this)
+        let url = "/api/discussions/like/"+ $(this).attr("discussion-id")+"?userId="+ $(this).attr("user-id")
+        ajaxCallLikeDiscussionAlternative(url,button,'like','Веќе имате оставено допаѓање на дискусијата!')
+    })
+    $(document.body).on("click",".button-unlike-discussion-alt",function (){
+        let button = $(this)
+        let url = "/api/discussions/unlike/"+ $(this).attr("discussion-id")+"?userId="+ $(this).attr("user-id")
+        ajaxCallLikeDiscussionAlternative(url,button,'unlike','Немате оставено допаѓање на дискусијата!')
     })
     $(".discussion-type").change(function (){
@@ -189,11 +226,17 @@
                 let movieId=$(button).attr("movie-id")
                 if (type==='like') {
-                    $(button).parent().append("<a class='bottom-heart btn btn-danger button-remove-favourite-list' movie-id=" + movieId + " user-id=" + userId + ">💔</a>")
+                    $(button).parent().append("<a class='btn btn-danger button-remove-favourite-list' movie-id=" + movieId + " user-id=" + userId + ">💔</a>")
                     console.log("da")
                 }
                 else{
-                    $(button).parent().append("<a class='bottom-heart btn btn-success button-add-favourite-list' movie-id=" + movieId + " user-id=" + userId + ">❤</a>")
-
-                }
+                    $(button).parent().append("<a class='btn btn-success button-add-favourite-list' movie-id=" + movieId + " user-id=" + userId + ">❤</a>")
+                }
+                likes_count = $("#movie_likes_count")
+                count = Number($(likes_count).text())
+                if(type==="like")
+                    count++
+                else
+                    count--
+                likes_count.text(count)
                 $(button).remove()
             }
@@ -263,4 +306,87 @@
 
 
+
+
+function ajaxCallLikeDiscussion(url,button,type,message){
+    $.ajax({
+        url:url,
+        success:function (data){
+            if (data){
+                let el = $(button).parent().siblings().eq(3)
+                console.log(el)
+                if (type=="like") {
+                    $(el).html(parseInt($(el).text()) + 1)
+                    console.log("da")
+                }
+                else
+                    $(el).html(parseInt($(el).text()) - 1)
+                $(button).css("display","none")
+                let userId = $(button).attr("user-id")
+                let discussionId=$(button).attr("discussion-id")
+                if (type==='like') {
+                    $(button).parent().append("<a class='btn btn-danger button-unlike-discussion' discussion-id=" + discussionId + " user-id=" + userId + ">💔</a>")
+                    console.log("da")
+                }
+                else{
+                    $(button).parent().append("<a class='btn btn-success button-like-discussion' discussion-id=" + discussionId + " user-id=" + userId + ">❤</a>")
+                }
+                var likes_count = $("#likes_count")
+                var count = Number($(likes_count).text())
+                if(type==='like')
+                    count += 1
+                else
+                    count -= 1
+                $(likes_count).text(count);
+                $(button).remove()
+            }
+            else {
+                $(button).parent().append("<div>" + message +" <button class='button-confirm'>Ок</button></div>")
+            }
+        }
+    })
+}
+
+
+
+function ajaxCallLikeDiscussionAlternative(url,button,type,message){
+    $.ajax({
+        url:url,
+        success:function (data){
+            if (data){
+                let el = $(button).parent().siblings().eq(3)
+                console.log(el)
+                if (type=="like") {
+                    $(el).html(parseInt($(el).text()) + 1)
+                    console.log("da")
+                }
+                else
+                    $(el).html(parseInt($(el).text()) - 1)
+                $(button).css("display","none")
+                let userId = $(button).attr("user-id")
+                let discussionId=$(button).attr("discussion-id")
+                if (type==='like') {
+                    $(button).parent().append("<a class='btn btn-danger button-unlike-discussion-alt' discussion-id=" + discussionId + " user-id=" + userId + ">💔</a>")
+                    console.log("da")
+                }
+                else{
+                    $(button).parent().append("<a class='btn btn-success button-like-discussion-alt' discussion-id=" + discussionId + " user-id=" + userId + ">❤</a>")
+                }
+                var likes_count = $(button).parent().siblings(".likes_count").first()
+                var count = Number(likes_count.text())
+                if(type==='like')
+                    count += 1
+                else
+                    count -= 1
+                $(likes_count).text(count);
+                $(button).remove()
+            }
+            else {
+                $(button).parent().append("<div>" + message +" <button class='button-confirm'>Ок</button></div>")
+            }
+        }
+    })
+}
+
+
 function  ajaxCallRating(url,button,type){
     model = {
Index: src/main/resources/templates/discussion.html
===================================================================
--- src/main/resources/templates/discussion.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/resources/templates/discussion.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -1,12 +1,21 @@
 <div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml">
     <div style="width: 85%; text-align: justify; margin: auto; clear: both">
-        <div>
-            <h1 th:text="${disc.getTitle()}" style="width: 80%; float: left"></h1>
+        <div style="background-color: rgba(128,128,128, 0.2); border-radius: 20px; padding: 20px">
+            <h1 th:text="${disc.getTitle()}" style="width: 80%; display: inline; height: fit-content; clear: both"></h1>
         </div>
-        <hr><br><br>
+        <hr>
         <div>
             <h5 th:text="${disc.getText()}" style="width: 90%; margin: auto; background-color: lightblue; border-radius: 4px; padding: 20px"></h5>
         </div>
-        <br><br><br>
+        <br>
+        <h4>
+            <span th:if="${!disc.getUser().equals(user)}" sec:authorize="isAuthenticated()">
+                <a class='btn btn-success button-like-discussion' th:if="${!likedDiscussions.contains(disc)}" th:discussion-id="${disc.getDiscussionId()}" th:user-id="${user.getUserId()}" >❤</a>
+                <a class='btn btn-danger button-unlike-discussion' th:if="${likedDiscussions.contains(disc)}" th:discussion-id="${disc.getDiscussionId()}" th:user-id="${user.getUserId()}" >💔</a>
+            </span>
+            <span>Број на допаѓања:</span>
+            <span th:text="${likes}" id="likes_count"></span>
+        </h4>
+        <br>
         <h6 style="width: 60%; float:left;">
             <span th:text="${'Поставено од: '+disc.getUser().getUsername()}"></span>
@@ -17,8 +26,9 @@
         </h6>
         <div style="float: right"  sec:authorize="isAuthenticated()">
-        <a th:if="${disc.getUser().equals(user)}" class="btn btn-warning" th:href="@{'/discussions/add/{id}' (id=${disc.getDiscussionId()})}">Промени</a>
-        <a th:if="${disc.getUser().equals(user)}" class="btn btn-danger button-delete-discussion" th:discussion-id="${disc.getDiscussionId()}">Избриши</a>
-        <a class="btn btn-success" th:href="@{'/replies/add/{discussionId}' (discussionId=${disc.getDiscussionId()})}">Реплицирај</a>
-        </div>
+            <a th:if="${disc.getUser().equals(user)}" class="btn btn-warning" th:href="@{'/discussions/add/{id}' (id=${disc.getDiscussionId()})}">Промени</a>
+            <a th:if="${disc.getUser().equals(user)}" class="btn btn-danger button-delete-discussion" th:discussion-id="${disc.getDiscussionId()}">Избриши</a>
+            <a class="btn btn-success" th:href="@{'/replies/add/{discussionId}' (discussionId=${disc.getDiscussionId()})}">Реплицирај</a>
+
+        </div><br>
     </div>
     <table class="table table-striped" style="width: 70%; margin: auto;">
Index: src/main/resources/templates/discussionsList.html
===================================================================
--- src/main/resources/templates/discussionsList.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/resources/templates/discussionsList.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -4,5 +4,4 @@
     </div>
     <div class="container mb-4">
-        <div class="row">
             <div class="col-12" th:if="${discussions.size() > 0}">
                 <div class="table-responsive">
@@ -10,6 +9,7 @@
                         <thead>
                         <tr>
+                            <th scope="col">За</th>
                             <th scope="col">Наслов</th>
-                            <th scope="col">Опис</th>
+                            <th scope="col">Допаѓања</th>
                             <th scope="col">Датум</th>
                             <th scope="col">Корисник</th>
@@ -27,9 +27,10 @@
                         <tbody>
                         <tr th:each="disc : ${discussions}" class="movie">
-                            <td th:text="${disc.getMovie() != null ? disc.getMovie().getTitle() : disc.getPerson().getName() + ' ' + disc.getPerson().getSurname()}"></td>
+                            <td th:text="${disc.getMovie() != null ? 'Филмот ' + disc.getMovie().getTitle() : 'Актерот ' + disc.getPerson().getName() + ' ' + disc.getPerson().getSurname()}"></td>
                             <td>
                                 <a th:text="${disc.getTitle()}" th:href="@{'/discussions/{id}' (id=${disc.getDiscussionId()})}"></a>
                             </td>
-                            <td th:text="${disc.getText()}"></td>
+                            <td th:each="like : ${likes}" th:if="${like.getDiscussionId().equals(disc.getDiscussionId())}" th:text="${like.getLikes()}" class="likes_count">
+                            </td>
                             <td th:text="${disc.getDate()}"></td>
                             <td th:text="${disc.getUser().getUsername()}"></td>
@@ -40,9 +41,8 @@
                             <td th:if="${!disc.getUser().equals(user)}"><a class="btn btn-success" th:href="@{'/replies/add/{discussionId}' (discussionId=${disc.getDiscussionId()})}">Реплицирај</a> </td>
                             <td th:if="${!disc.getUser().equals(user)}">
-                                <a class="btn btn-success">👍 </a>
-                                <a class="btn btn-danger">👎</a>
+                                <a class='btn btn-success button-like-discussion-alt' th:if="${!likedDiscussions.contains(disc)}" th:discussion-id="${disc.getDiscussionId()}" th:user-id="${user.getUserId()}" >❤</a>
+                                <a class='btn btn-danger button-unlike-discussion-alt' th:if="${likedDiscussions.contains(disc)}" th:discussion-id="${disc.getDiscussionId()}" th:user-id="${user.getUserId()}" >💔</a>
                             </td>
                             </th:block>
-
 
                         </tr>
@@ -51,5 +51,4 @@
                 </div>
             </div>
-        </div>
     </div>
 
Index: src/main/resources/templates/fragments/header.html
===================================================================
--- src/main/resources/templates/fragments/header.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/resources/templates/fragments/header.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -2,5 +2,4 @@
     <nav class="navbar navbar-expand-md navbar-dark bg-dark">
         <div class="container">
-            <a class="navbar-brand" href="/movies">Форум за филмови</a>
             <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault"
                     aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
@@ -28,5 +27,5 @@
                     </li>
                 </ul>
-                <form class="form-inline my-2 my-lg-0">
+                <form class="form-inline my-2 my-lg-0 hidden">
                     <div class="input-group input-group-sm">
                         <input type="text" class="form-control" aria-label="Small"
Index: src/main/resources/templates/fragments/searchBarGenre.html
===================================================================
--- src/main/resources/templates/fragments/searchBarGenre.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/resources/templates/fragments/searchBarGenre.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -1,5 +1,9 @@
-<div>
-      <label for="searchGenre" style="width: 150px;">Пребарај по жанр</label>
-        <input id="searchGenre" type="text" placeholder="жанр">
-        <button class="search-button">Пребарај</button>
+<div xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" style="width:60%; margin: auto; margin-bottom: 10px">
+        <select th:if="${genres!=null}" id="searchGenre" class="form-control" style="float: left; display: block; width: 50%">
+            <option value="" selected>Сите</option>
+            <option th:each="genre: ${genres}" th:value="${genre.getGenreType()}" th:text="${genre.getGenreType()}"></option>
+        </select>
+        <div class="input-group-append" style="width: 40%">
+            <button class="btn btn-secondary  search-button" style="width: 100%">Филтрирај по жанр</button>
+        </div>
 </div>
Index: src/main/resources/templates/fragments/searchBarName.html
===================================================================
--- src/main/resources/templates/fragments/searchBarName.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/resources/templates/fragments/searchBarName.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -1,5 +1,8 @@
-<div>
-    <label for="searchTitle" style="width: 150px;">Прабарај по име</label>
-    <input id="searchTitle" type="text" placeholder="име">
-    <button class="search-button-title">Пребарај</button>
+<div style="width:60%; margin: auto;">
+    <input id="searchTitle" class="form-control" style="float: left; display: block; width: 50%" type="text" placeholder="...">
+
+    <div class="input-group-append" style="width: 40%">
+        <button class="btn btn-secondary search-button-title" style="width: 100%">Филтрирај по Наслов</button>
+    </div>
+
 </div>
Index: src/main/resources/templates/movieShow.html
===================================================================
--- src/main/resources/templates/movieShow.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/resources/templates/movieShow.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -13,6 +13,18 @@
 <div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml" style="width: 80%; margin: auto">
     <div>
-        <div style="width: 30%; margin-right: 10px; padding:20px; border-right: 3px solid black; border-radius: 10px; float:left">
-            <img th:src="${movie.getImageUrl()}" style="width: 90%; height: auto">
+        <div style="width: 30%; margin-right: 10px; padding:20px; border-right: 3px solid black; border-radius: 10px; float:left" id="image-movie-section">
+            <img th:src="${movie.getImageUrl()}" style="width: 90%; height: auto; clear: both; margin-bottom: 20px">
+            <div id="admin-buttons">
+                <a class="btn btn-primary" th:href="@{'/discussions/all/{id}?type=M' (id=${movie.getMovieId()})}" >Прегледај дискусии</a>
+                <th:block sec:authorize="isAuthenticated()" >
+                    <div>
+                        <a class="btn btn-success button-add-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${!likedMovies.contains(movie)}">❤</a>
+                        <a class="btn btn-danger button-remove-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${likedMovies.contains(movie)}">💔</a>
+                    </div>
+                    <a class="btn btn-secondary button-add-grade-movie" th:movie-id="${movie.getMovieId()}">Остави оценка</a>
+                    <a class="btn btn-warning" th:href="@{'/movies/{id}/edit' (id=${movie.getMovieId()})}">Промени</a>
+                    <a class="btn btn-danger button-delete-movie" th:movie-id="${movie.getMovieId()}">Избриши филм</a>
+                </th:block>
+            </div>
         </div>
 
@@ -26,5 +38,5 @@
             </h3>
             <h3 th:text="${'IMDB оцена: ' + movie.getImdbRating()}"></h3>
-            <h3 th:text="${'Прикажан на: ' + movie.getAiringDate()}"></h3>
+            <h3 th:text="${'Прикажан на: ' + movie.getDateFormatted()}"></h3>
 
             <div style="background-color: rgba(200,200,200,0.5); border-radius: 10px; padding:15px; ">
@@ -33,5 +45,13 @@
             </div>
 
-            <div>
+            <div id="likes-showcase">
+                <h4 style="text-align: center">
+                    <span>Филмот му се допаднал на </span>
+                    <strong th:text="${likes}" id="movie_likes_count"></strong>
+                    <span> корисници</span>
+                </h4>
+            </div>
+
+            <div class="person-movies-list genres-listing">
                 <h3>Жанрови:</h3>
                 <ul>
@@ -39,5 +59,5 @@
                 </ul>
             </div>
-            <div>
+            <div class="person-movies-list">
                 <h3>Актери:</h3>
                 <ul>
@@ -48,14 +68,5 @@
         </div>
     </div>
-    <div id="admin-buttons">
-        <a class="btn btn-primary" th:href="@{'/discussions/all/{id}?type=M' (id=${movie.getMovieId()})}" >Прегледај дискусии</a>
-        <th:block sec:authorize="isAuthenticated()" >
-            <a class="btn btn-success button-add-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${!likedMovies.contains(movie)}">Додади во омилена листа</a>
-            <a class="btn btn-warning button-remove-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${likedMovies.contains(movie)}">Избриши од омилена листа</a>
-            <a class="btn btn-success button-add-grade-movie" th:movie-id="${movie.getMovieId()}">Остави оценка</a>
-            <a class="btn btn-warning" th:href="@{'/movies/{id}/edit' (id=${movie.getMovieId()})}">Промени</a>
-            <a class="btn btn-danger button-delete-movie" th:movie-id="${movie.getMovieId()}">Избриши филм</a>
-        </th:block>
-    </div>
+
     <hr>
     <div style="width: 45%; margin: 25px; float:left; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px">
@@ -70,6 +81,6 @@
                 </div>
                 <div style="width: 30%; float:right; background-color: darkorange; border-radius: 10px 30px; color: whitesmoke; padding: 10px;">
-                    <h2 style="text-align: center">Rated:</h2>
-                    <p th:text="${rating.getStarsRated() + ' out of 10 stars'}" style="text-align: center"></p>
+                    <h2 style="text-align: center">Оценет:</h2>
+                    <p th:text="${rating.getStarsRated() + ' од 10'}" style="text-align: center"></p>
                 </div>
         </div>
@@ -77,6 +88,5 @@
     <div style="width: 45%; margin: 25px; float:left; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px">
         <h2>
-            <span>Бројот на лајкови кои филмот ги добил:</span>
-            <span th:text="${movie.getLikes().size()}"></span>
+            <span>Лајковите кои филмот ги добил:</span>
         </h2>
         <hr>
Index: src/main/resources/templates/moviesList.html
===================================================================
--- src/main/resources/templates/moviesList.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/resources/templates/moviesList.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -2,5 +2,5 @@
 
     <div style="width: 70%; margin: auto">
-        <div th:replace="fragments/searchBarName"></div>
+        <div th:replace="fragments/searchBarName"></div><br>
         <div th:replace="fragments/searchBarGenre"></div>
     </div>
Index: src/main/resources/templates/moviesListPaged.html
===================================================================
--- src/main/resources/templates/moviesListPaged.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/resources/templates/moviesListPaged.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -1,10 +1,12 @@
 <div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml">
-
-    <div style="width: 70%; margin: auto">
-        <div th:replace="fragments/searchBarName"></div>
-        <div th:replace="fragments/searchBarGenre"></div>
-
+    <div style="margin:auto; width: 60%">
+        <div style="width: 30%; margin: auto; height: 100%; margin-bottom: 10px">
+            <a class="btn btn-outline-dark" style="height: 100%; width: 100%; font-size: 125%" id="button_toggle_filters">Прикажи филтрирање</a>
+        </div>
+        <div style="width: 100%; margin: auto; transition: 200ms" id="filters_div" class="invisible-search">
+            <div th:replace="fragments/searchBarName"></div><br>
+            <div th:replace="fragments/searchBarGenre"></div>
+        </div>
     </div>
-
     <div id="paging-section">
         <div id="inner-paging" class="input-group">
@@ -25,5 +27,5 @@
             </div>
         </div>
-    </div><br><br><br>
+    </div><br>
 
     <div class="container mb-4">
@@ -34,11 +36,13 @@
         <div class="row" th:each="row: ${movie_rows}" >
             <div class="col-md-3 elements" th:each="movie: ${row}" >
+                <span th:each="genre: ${movie.getGenres()}"  th:text="${genre?.getGenre()?.getGenreType()}" hidden class="card-genre"></span>
                     <div class="card-body card bg-image" th:style="'background:url(' + ${movie.getImageUrl()} + ') no-repeat center #eee;'">
                         <a class="card-text-center" style="color: white" th:href="@{'/movies/{id}' (id=${movie.getMovieId()})}" >
                         <h3 class="card-title title" th:text="${movie.getTitle()}"></h3>
                             <span th:each="genre: ${movie.getGenres()}"  th:text="${genre?.getGenre()?.getGenreType()}" hidden class="card-genre"></span>
-
                         </a>
-                        <h3 class="card-text bottom" th:text="${'Rated '+movie.getImdbRating()}"></h3>
+                        <span class="card-text bottom">
+                            <h3 th:text="${'Оценет '+movie.getImdbRating() + '/10'}"></h3>
+                        </span>
                         <th:block sec:authorize="isAuthenticated()">
                             <a class="bottom-heart btn btn-success button-add-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${!likedMovies.contains(movie)}">❤</a>
Index: src/main/resources/templates/personShow.html
===================================================================
--- src/main/resources/templates/personShow.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/resources/templates/personShow.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -1,63 +1,50 @@
 
-<div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml" style="width: 80%; margin: auto">
-    <div>
-
+<div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml" style="width: 70%; margin: auto">
+    <div style="clear: both; margin-bottom: 10px; display:  inline-block">
         <div style="width: 60%; margin-left: 10px; padding:20px; float:left">
             <h1 th:text="${person.getName() + ' ' + person.getSurname()}" style="text-align: center; padding:10px; background-color: rgba(64,64,64,0.5); color:white; border-radius: 10px 0px"></h1>
             <hr>
-            <h3 th:text="${'Born on: ' + person.getDateOfBirth()}"></h3>
+            <h3 th:text="${'Роден на: ' + person.getDateFormatted()}"></h3>
             <div style="background-color: rgba(200,200,200,0.5); border-radius: 10px; padding:15px; ">
-                <h3>Description:</h3>
+                <h3>Краток Опис:</h3>
                 <p th:text="${person.getDescription()}" style="text-align: justify"></p>
             </div>
 
-            <div th:if="${person.getType() == 'D'}">
-                <h3 >Directed movies:</h3>
+            <div th:if="${person.getType().toString().contains('D')}" class="person-movies-list">
+                <h3 >Режисирани филмови:</h3>
+                <hr>
                 <ul>
-                    <li th:each="movie: ${actor.getMovies()}"><a th:text="${movie.getTitle()}" th:href="@{'/movies/{id}' (id=${movie.getMovieId()})}" ></a></li>
+                    <li th:each="movie: ${person.getMovies()}"><a th:text="${movie.getTitle()}" th:href="@{'/movies/{id}' (id=${movie.getMovieId()})}" ></a></li>
                 </ul>
             </div>
-            <div th:if="${person.getType() == 'A'}">
-                <h3 >Acted in movies:</h3>
+            <div th:if="${person.getType().toString().contains('A')}" class="person-movies-list">
+                <h3 >Се појавува во филмовите:</h3>
+                <hr>
                 <ul>
-                    <li th:each="movie: ${actor.getMovieActors()}" ><a th:text="${movie.getMovie().getTitle()}" th:href="@{'/movies/{id}' (id=${movie.getMovie().getMovieId()})}" ></a></li>
+                    <li th:each="movie: ${person.getMovieActors()}" ><a th:text="${movie.getMovie().getTitle()}" th:href="@{'/movies/{id}' (id=${movie.getMovie().getMovieId()})}" ></a></li>
                 </ul>
             </div>
-
         </div>
-        <div style="width: 30%; margin-left: 10px; padding:20px; border-left: 3px solid black; border-radius: 10px; float:left">
+        <div style="width: 30%; margin-left: 10px; padding:20px; border-left: 3px solid black; border-radius: 10px; float:right">
             <img th:src="${person.getImageUrl()}" style="width: 90%; height: auto">
         </div>
     </div>
-    <div style="width: 45%; margin: 25px; float:left; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px">
+    <br>
+    <div style="clear:both; display: inline-block; width: 100%; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px">
         <h2>
-            <span>Бројот на оцени кои филмот ги добил:</span>
-            <span th:text="${movie.getRates().size()}"></span>
+            <span>Бројот на оцени кои личноста ги има добиено:</span>
+            <span th:text="${person.getPersonRates().size()}"></span>
         </h2>
         <hr>
-        <div th:each="rating: ${movie.getRates()}" style="margin-bottom: 10px; border: 2px solid gray; border-radius: 10px; background-color: lightblue; padding: 10px; border-radius: 10px; min-height: 130px;">
+        <div th:each="rating: ${person.getPersonRates()}" style="margin-bottom: 10px; border: 2px solid gray; border-radius: 10px; background-color: lightblue; padding: 10px; border-radius: 10px; min-height: 130px;">
             <div style="width: 60%; float:left;">
                 <p th:text="${rating.getReason()}" style="text-align: justify"></p>
             </div>
             <div style="width: 30%; float:right; background-color: darkorange; border-radius: 10px 30px; color: whitesmoke; padding: 10px;">
-                <h2 style="text-align: center">Rated:</h2>
-                <p th:text="${rating.getStarsRated() + ' out of 10 stars'}" style="text-align: center"></p>
+                <h2 style="text-align: center">Оценет со :</h2>
+                <p th:text="${rating.getStarsRated() + ' од 10'}" style="text-align: center"></p>
             </div>
         </div>
     </div>
-    <div style="width: 45%; margin: 25px; float:left; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px">
-        <h2>
-            <span>Бројот на лајкови кои филмот ги добил:</span>
-            <span th:text="${movie.getLikes().size()}"></span>
-        </h2>
-        <hr>
-        <div th:each="liked: ${movie.getLikes()}" style="margin-bottom: 10px; border: 2px solid gray; border-radius: 10px; background-color: lightblue; padding: 10px; border-radius: 10px; min-height: 60px;">
-            <div style="width: 100%; float:left;">
-                <h3  style="text-align: center">
-                    <span th:text="${liked.getUser().getName() + ' ' + liked.getUser().getSurname()}"></span>
-                    <span style="color: green; font-size: 100%" >✔</span>
-                </h3>
-            </div>
-        </div>
-    </div>
+
 </div>
Index: src/main/resources/templates/personsList.html
===================================================================
--- src/main/resources/templates/personsList.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/resources/templates/personsList.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -5,5 +5,4 @@
     </div>
     <div class="container mb-4">
-        <div class="row">
             <div class="col-12" th:if="${persons.size() > 0}">
                 <div class="table-responsive">
@@ -47,23 +46,14 @@
                             <th:block sec:authorize="isAuthenticated()">
                                 <td>
-                                    <a class="btn btn-primary button-add-grade-person" th:person-id="${person.getPersonId()}">Остави оценка</a>
+                                    <a class="btn btn-secondary button-add-grade-person" th:person-id="${person.getPersonId()}">Остави оценка</a>
 
                                 </td>
                             <td>
-                                <a class="btn btn-primary" th:href="@{'persons/edit/{personId}' (personId = ${person.getPersonId()})}">Промени</a>
+                                <a class="btn btn-warning" th:href="@{'persons/edit/{personId}' (personId = ${person.getPersonId()})}">Промени</a>
                             </td>
                             <td>
-                                <a class="btn btn-primary button-delete-actor" th:person-id="${person.getPersonId()}">Избриши</a>
+                                <a class="btn btn-danger button-delete-actor" th:person-id="${person.getPersonId()}">Избриши</a>
 
                             </td>
-
-                            <a class="bottom-heart btn btn-success button-add-favourite-list"
-                               th:movie-id="${person.getMovieId()}"
-                               th:user-id="${user.getUserId()}"
-                               th:if="${!likedPersons.contains(movie)}">❤</a>
-
-                            <a class="bottom-heart btn btn-danger button-remove-favourite-list"
-                               th:movie-id="${person.getMovieId()}" th:user-id="${user.getUserId()}"
-                               th:if="${likedPersons.contains(movie)}">💔</a>
 
 
@@ -75,5 +65,4 @@
                 </div>
             </div>
-        </div>
     </div>
 
Index: src/main/resources/templates/template.html
===================================================================
--- src/main/resources/templates/template.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ src/main/resources/templates/template.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -16,8 +16,7 @@
 </head>
 <body>
-<section class="jumbotron text-center">
-    <div class="container">
-        <!--<img th:src="@{/img/logo.png}" style="opacity: 0.3; z-index: 5; position: absolute; margin: auto; height: 225px; width: auto; left: 42%; top: 2%">-->
-        <h1 class="jumbotron-heading" style="z-index: -1">weDiscussMovies</h1>
+<section class="jumbotron text-center" style="background: url('/img/cover.jpg') center; background-repeat: no-repeat; background-size: 100% auto; height: 280px; margin-bottom: 0px ">
+    <div class="container" >
+        <h1 class="jumbotron-heading" style="z-index: -1"></h1>
     </div>
 </section>
Index: target/classes/static/css/shared.css
===================================================================
--- target/classes/static/css/shared.css	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ target/classes/static/css/shared.css	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -52,5 +52,5 @@
 .bottom{
     position: absolute;
-    top: 80%;
+    top: 75%;
     margin:auto;
     width: 100%;
@@ -60,7 +60,15 @@
     background-color: rgba(0,0,0,0.25);
 }
-
-
-.bottom-heart{
+.bottom h3, .bottom span{
+    margin-bottom: 0px;
+    margin-top: 0px;
+}
+.bottom span{
+    font-size: 75%;
+    margin-top: 5px;
+}
+
+
+.elements .card .btn{
     top: 60%;
     left: auto;
@@ -105,2 +113,103 @@
     opacity: 0;
 }
+
+.person-movies-list{
+    margin: auto;
+    margin-top: 20px;
+    padding: 10px;
+    width: 80%;
+    background-color: rgba(52, 58, 64, 0.7);
+    border-radius: 10px;
+    transition: 200ms;
+    color: white;
+}
+
+.person-movies-list:hover{
+    background-color: rgba(52, 58, 64, 1);
+}
+
+.person-movies-list ul{
+    list-style-type: none;
+}
+
+.person-movies-list ul li{
+    color:black;
+    background-color: rgba(255,255,255,0.7);
+    padding: 12px;
+    font-size: 120%;
+    width: 80%;
+    text-align: center;
+    margin: auto;
+    transition: 200ms;
+    border-radius: 10px;
+    margin-bottom: 5px;
+    text-decoration: underline;
+}
+
+.person-movies-list hr{
+    color: white;
+    background-color: white;
+    border-color: white;
+}
+
+.person-movies-list ul li:hover{
+    background-color: rgba(255,255,255,1);
+    text-decoration-color: blue;
+}
+
+.genres-listing ul li:hover{
+    background-color: rgba(222,128,128,1);
+}
+
+.genres-listing ul li{
+    background-color: rgba(192,128,128,0.7);
+    text-decoration: none !important;
+}
+
+.person-movies-list ul li a{
+    color: black;
+    transition: 250ms;
+    text-decoration: underline;
+    text-decoration-color: black;
+}
+
+.person-movies-list ul li a:hover{
+    color:blue;
+}
+
+
+#admin-buttons a{
+    display: inline-block;
+    width: 95%;
+    margin: auto;
+    margin-top: 10px;
+    font-size: 125%;
+    clear: both;
+}
+
+#image-movie-section{
+    height: fit-content;
+    min-height: fit-content;
+}
+
+#likes-showcase{
+    background-color: rgba(192,128,128,0.7);
+    border-radius: 10px;
+    padding:10px;
+    width: 60%;
+    margin: auto;
+    transition: 200ms;
+    margin-top: 2%;
+}
+
+#likes-showcase strong{
+    font-size: 150%;
+}
+
+#likes-showcase:hover{
+    background-color: rgba(222,128,128,1);
+}
+
+.invisible-search{
+    display: none;
+}
Index: target/classes/static/js/sharedScript.js
===================================================================
--- target/classes/static/js/sharedScript.js	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ target/classes/static/js/sharedScript.js	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -4,5 +4,5 @@
     var elements = $(".elements")
     var elementGrade;
-
+    var first_time = true;
 
     $("#button-add").on("click", function (){
@@ -56,10 +56,10 @@
     $(".button-add-grade-movie").on("click",function (){
         elementGrade = $(this)
-        urlRating ="api/movies/grade/"+$(this).attr("movie-id")
+        urlRating ="/api/movies/grade/"+$(this).attr("movie-id")
         $("#dialog-rating").dialog("open")
     })
     $(".button-add-grade-person").on("click",function (){
         elementGrade = $(this)
-        urlRating ="api/persons/grade/"+$(this).attr("person-id")
+        urlRating ="/api/persons/grade/"+$(this).attr("person-id")
         $("#dialog-rating").dialog("open")
     })
@@ -81,14 +81,32 @@
     })*/
 
+    $("#button_toggle_filters").on("click", function (){
+        if(first_time){
+            $("#filters_div").removeClass("invisible-search")
+            first_time=false
+        }
+        else
+            $("#filters_div").fadeToggle();
+    })
 
    $(".search-button").on("click",function () {
-        let filter = $("#searchGenre").val()
+       elements = $(".elements")
+       let filter = $("#searchGenre").val()
+       console.log('\''+filter+'\'')
+       console.log(elements)
+       if(filter.length==0){
+           console.log("HERE")
+           for (let item of elements) {
+               $(item).removeClass("visibility")
+           }
+       }
        for (let item of elements) {
-            let genre = $(item).find(".card-genre")
+           $(item).removeClass("visibility")
+            let genre = $(item).children(".card-genre")
             let visible = false;
-
+            console.log(genre.length)
             for (let g of genre) {
-
-                if (( $(g).text().toLowerCase() === filter.toLowerCase() && !$(g).hasClass("visibility") && filter.trim().length != 0)) {
+                if (( $(g).text().toLowerCase() === filter.toLowerCase())){
+                    console.log(item.text + ' ' + $(g).text())
                     visible = true
                     $(item).removeClass("visibility")
@@ -96,8 +114,7 @@
                 }
             }
-            if (!visible && filter.trim().length != 0)
+            if(!visible){
                 $(item).addClass("visibility")
-            else
-                $(item).removeClass("visibility")
+            }
 
         }
@@ -106,15 +123,15 @@
     $(".button-delete-movie").on("click",function (){
         let button = $(this)
-        let url = "api/movies/delete/" + $(button).attr("movie-id")
+        let url = "/api/movies/delete/" + $(button).attr("movie-id")
         ajaxCallDelete(url,button)
     })
     $(".button-delete-actor").on("click",function (){
         let button = $(this)
-        let url  = "api/persons/delete/" + $(button).attr("person-id")
+        let url  = "/api/persons/delete/" + $(button).attr("person-id")
         ajaxCallDelete(url,button)
     })
     $(".button-delete-discussion").on("click",function (){
         let button = $(this)
-        let url = "api/discussions/delete/" + $(button).attr("discussion-id")
+        let url = "/api/discussions/delete/" + $(button).attr("discussion-id")
         ajaxCallDelete(url,button)
     })
@@ -139,21 +156,41 @@
     $(document.body).on("click",".button-add-favourite-list",function (){
         let button = $(this)
-        let url = "api/movies/like/"+ $(this).attr("movie-id") + "?userId="+ $(this).attr("user-id")
+        let url = "/api/movies/like/"+ $(this).attr("movie-id") + "?userId="+ $(this).attr("user-id")
         ajaxCallLike(url,button,'like','Веќе е филмот допаднат!')
     })
     $(document.body).on("click",".button-remove-favourite-list",function (){
         let button = $(this)
-        let url = "api/movies/unlike/"+ $(this).attr("movie-id")+"?userId="+ $(this).attr("user-id")
+        let url = "/api/movies/unlike/"+ $(this).attr("movie-id")+"?userId="+ $(this).attr("user-id")
         ajaxCallLike(url,button,'unlike','Немате оставено допаѓање на филмот!')
     })
     $(document.body).on("click",".button-add-genre-liked-list",function (){
         let button = $(this)
-        let url = "api/genres/like/"+ $(this).attr("genre-id") + "?userId="+ $(this).attr("user-id")
+        let url = "/api/genres/like/"+ $(this).attr("genre-id") + "?userId="+ $(this).attr("user-id")
         ajaxCallLikeGenre(url,button,'like','Веќе ви се допаѓа жанрот!')
     })
     $(document.body).on("click",".button-remove-genre-liked-list",function (){
         let button = $(this)
-        let url = "api/genres/unlike/"+ $(this).attr("genre-id")+"?userId="+ $(this).attr("user-id")
+        let url = "/api/genres/unlike/"+ $(this).attr("genre-id")+"?userId="+ $(this).attr("user-id")
         ajaxCallLikeGenre(url,button,'unlike','Немате оставено допаѓање на жанрот!')
+    })
+    $(document.body).on("click",".button-like-discussion",function (){
+        let button = $(this)
+        let url = "/api/discussions/like/"+ $(this).attr("discussion-id")+"?userId="+ $(this).attr("user-id")
+        ajaxCallLikeDiscussion(url,button,'like','Веќе имате оставено допаѓање на дискусијата!')
+    })
+    $(document.body).on("click",".button-unlike-discussion",function (){
+        let button = $(this)
+        let url = "/api/discussions/unlike/"+ $(this).attr("discussion-id")+"?userId="+ $(this).attr("user-id")
+        ajaxCallLikeDiscussion(url,button,'unlike','Немате оставено допаѓање на дискусијата!')
+    })
+    $(document.body).on("click",".button-like-discussion-alt",function (){
+        let button = $(this)
+        let url = "/api/discussions/like/"+ $(this).attr("discussion-id")+"?userId="+ $(this).attr("user-id")
+        ajaxCallLikeDiscussionAlternative(url,button,'like','Веќе имате оставено допаѓање на дискусијата!')
+    })
+    $(document.body).on("click",".button-unlike-discussion-alt",function (){
+        let button = $(this)
+        let url = "/api/discussions/unlike/"+ $(this).attr("discussion-id")+"?userId="+ $(this).attr("user-id")
+        ajaxCallLikeDiscussionAlternative(url,button,'unlike','Немате оставено допаѓање на дискусијата!')
     })
     $(".discussion-type").change(function (){
@@ -189,11 +226,17 @@
                 let movieId=$(button).attr("movie-id")
                 if (type==='like') {
-                    $(button).parent().append("<a class='bottom-heart btn btn-danger button-remove-favourite-list' movie-id=" + movieId + " user-id=" + userId + ">💔</a>")
+                    $(button).parent().append("<a class='btn btn-danger button-remove-favourite-list' movie-id=" + movieId + " user-id=" + userId + ">💔</a>")
                     console.log("da")
                 }
                 else{
-                    $(button).parent().append("<a class='bottom-heart btn btn-success button-add-favourite-list' movie-id=" + movieId + " user-id=" + userId + ">❤</a>")
-
-                }
+                    $(button).parent().append("<a class='btn btn-success button-add-favourite-list' movie-id=" + movieId + " user-id=" + userId + ">❤</a>")
+                }
+                likes_count = $("#movie_likes_count")
+                count = Number($(likes_count).text())
+                if(type==="like")
+                    count++
+                else
+                    count--
+                likes_count.text(count)
                 $(button).remove()
             }
@@ -263,4 +306,87 @@
 
 
+
+
+function ajaxCallLikeDiscussion(url,button,type,message){
+    $.ajax({
+        url:url,
+        success:function (data){
+            if (data){
+                let el = $(button).parent().siblings().eq(3)
+                console.log(el)
+                if (type=="like") {
+                    $(el).html(parseInt($(el).text()) + 1)
+                    console.log("da")
+                }
+                else
+                    $(el).html(parseInt($(el).text()) - 1)
+                $(button).css("display","none")
+                let userId = $(button).attr("user-id")
+                let discussionId=$(button).attr("discussion-id")
+                if (type==='like') {
+                    $(button).parent().append("<a class='btn btn-danger button-unlike-discussion' discussion-id=" + discussionId + " user-id=" + userId + ">💔</a>")
+                    console.log("da")
+                }
+                else{
+                    $(button).parent().append("<a class='btn btn-success button-like-discussion' discussion-id=" + discussionId + " user-id=" + userId + ">❤</a>")
+                }
+                var likes_count = $("#likes_count")
+                var count = Number($(likes_count).text())
+                if(type==='like')
+                    count += 1
+                else
+                    count -= 1
+                $(likes_count).text(count);
+                $(button).remove()
+            }
+            else {
+                $(button).parent().append("<div>" + message +" <button class='button-confirm'>Ок</button></div>")
+            }
+        }
+    })
+}
+
+
+
+function ajaxCallLikeDiscussionAlternative(url,button,type,message){
+    $.ajax({
+        url:url,
+        success:function (data){
+            if (data){
+                let el = $(button).parent().siblings().eq(3)
+                console.log(el)
+                if (type=="like") {
+                    $(el).html(parseInt($(el).text()) + 1)
+                    console.log("da")
+                }
+                else
+                    $(el).html(parseInt($(el).text()) - 1)
+                $(button).css("display","none")
+                let userId = $(button).attr("user-id")
+                let discussionId=$(button).attr("discussion-id")
+                if (type==='like') {
+                    $(button).parent().append("<a class='btn btn-danger button-unlike-discussion-alt' discussion-id=" + discussionId + " user-id=" + userId + ">💔</a>")
+                    console.log("da")
+                }
+                else{
+                    $(button).parent().append("<a class='btn btn-success button-like-discussion-alt' discussion-id=" + discussionId + " user-id=" + userId + ">❤</a>")
+                }
+                var likes_count = $(button).parent().siblings(".likes_count").first()
+                var count = Number(likes_count.text())
+                if(type==='like')
+                    count += 1
+                else
+                    count -= 1
+                $(likes_count).text(count);
+                $(button).remove()
+            }
+            else {
+                $(button).parent().append("<div>" + message +" <button class='button-confirm'>Ок</button></div>")
+            }
+        }
+    })
+}
+
+
 function  ajaxCallRating(url,button,type){
     model = {
Index: target/classes/templates/discussion.html
===================================================================
--- target/classes/templates/discussion.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ target/classes/templates/discussion.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -1,12 +1,21 @@
 <div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml">
     <div style="width: 85%; text-align: justify; margin: auto; clear: both">
-        <div>
-            <h1 th:text="${disc.getTitle()}" style="width: 80%; float: left"></h1>
+        <div style="background-color: rgba(128,128,128, 0.2); border-radius: 20px; padding: 20px">
+            <h1 th:text="${disc.getTitle()}" style="width: 80%; display: inline; height: fit-content; clear: both"></h1>
         </div>
-        <hr><br><br>
+        <hr>
         <div>
             <h5 th:text="${disc.getText()}" style="width: 90%; margin: auto; background-color: lightblue; border-radius: 4px; padding: 20px"></h5>
         </div>
-        <br><br><br>
+        <br>
+        <h4>
+            <span th:if="${!disc.getUser().equals(user)}" sec:authorize="isAuthenticated()">
+                <a class='btn btn-success button-like-discussion' th:if="${!likedDiscussions.contains(disc)}" th:discussion-id="${disc.getDiscussionId()}" th:user-id="${user.getUserId()}" >❤</a>
+                <a class='btn btn-danger button-unlike-discussion' th:if="${likedDiscussions.contains(disc)}" th:discussion-id="${disc.getDiscussionId()}" th:user-id="${user.getUserId()}" >💔</a>
+            </span>
+            <span>Број на допаѓања:</span>
+            <span th:text="${likes}" id="likes_count"></span>
+        </h4>
+        <br>
         <h6 style="width: 60%; float:left;">
             <span th:text="${'Поставено од: '+disc.getUser().getUsername()}"></span>
@@ -17,8 +26,9 @@
         </h6>
         <div style="float: right"  sec:authorize="isAuthenticated()">
-        <a th:if="${disc.getUser().equals(user)}" class="btn btn-warning" th:href="@{'/discussions/add/{id}' (id=${disc.getDiscussionId()})}">Промени</a>
-        <a th:if="${disc.getUser().equals(user)}" class="btn btn-danger button-delete-discussion" th:discussion-id="${disc.getDiscussionId()}">Избриши</a>
-        <a class="btn btn-success" th:href="@{'/replies/add/{discussionId}' (discussionId=${disc.getDiscussionId()})}">Реплицирај</a>
-        </div>
+            <a th:if="${disc.getUser().equals(user)}" class="btn btn-warning" th:href="@{'/discussions/add/{id}' (id=${disc.getDiscussionId()})}">Промени</a>
+            <a th:if="${disc.getUser().equals(user)}" class="btn btn-danger button-delete-discussion" th:discussion-id="${disc.getDiscussionId()}">Избриши</a>
+            <a class="btn btn-success" th:href="@{'/replies/add/{discussionId}' (discussionId=${disc.getDiscussionId()})}">Реплицирај</a>
+
+        </div><br>
     </div>
     <table class="table table-striped" style="width: 70%; margin: auto;">
Index: target/classes/templates/discussionsList.html
===================================================================
--- target/classes/templates/discussionsList.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ target/classes/templates/discussionsList.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -4,5 +4,4 @@
     </div>
     <div class="container mb-4">
-        <div class="row">
             <div class="col-12" th:if="${discussions.size() > 0}">
                 <div class="table-responsive">
@@ -10,6 +9,7 @@
                         <thead>
                         <tr>
+                            <th scope="col">За</th>
                             <th scope="col">Наслов</th>
-                            <th scope="col">Опис</th>
+                            <th scope="col">Допаѓања</th>
                             <th scope="col">Датум</th>
                             <th scope="col">Корисник</th>
@@ -27,9 +27,10 @@
                         <tbody>
                         <tr th:each="disc : ${discussions}" class="movie">
-                            <td th:text="${disc.getMovie() != null ? disc.getMovie().getTitle() : disc.getPerson().getName() + ' ' + disc.getPerson().getSurname()}"></td>
+                            <td th:text="${disc.getMovie() != null ? 'Филмот ' + disc.getMovie().getTitle() : 'Актерот ' + disc.getPerson().getName() + ' ' + disc.getPerson().getSurname()}"></td>
                             <td>
                                 <a th:text="${disc.getTitle()}" th:href="@{'/discussions/{id}' (id=${disc.getDiscussionId()})}"></a>
                             </td>
-                            <td th:text="${disc.getText()}"></td>
+                            <td th:each="like : ${likes}" th:if="${like.getDiscussionId().equals(disc.getDiscussionId())}" th:text="${like.getLikes()}" class="likes_count">
+                            </td>
                             <td th:text="${disc.getDate()}"></td>
                             <td th:text="${disc.getUser().getUsername()}"></td>
@@ -40,9 +41,8 @@
                             <td th:if="${!disc.getUser().equals(user)}"><a class="btn btn-success" th:href="@{'/replies/add/{discussionId}' (discussionId=${disc.getDiscussionId()})}">Реплицирај</a> </td>
                             <td th:if="${!disc.getUser().equals(user)}">
-                                <a class="btn btn-success">👍 </a>
-                                <a class="btn btn-danger">👎</a>
+                                <a class='btn btn-success button-like-discussion-alt' th:if="${!likedDiscussions.contains(disc)}" th:discussion-id="${disc.getDiscussionId()}" th:user-id="${user.getUserId()}" >❤</a>
+                                <a class='btn btn-danger button-unlike-discussion-alt' th:if="${likedDiscussions.contains(disc)}" th:discussion-id="${disc.getDiscussionId()}" th:user-id="${user.getUserId()}" >💔</a>
                             </td>
                             </th:block>
-
 
                         </tr>
@@ -51,5 +51,4 @@
                 </div>
             </div>
-        </div>
     </div>
 
Index: target/classes/templates/fragments/header.html
===================================================================
--- target/classes/templates/fragments/header.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ target/classes/templates/fragments/header.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -2,5 +2,4 @@
     <nav class="navbar navbar-expand-md navbar-dark bg-dark">
         <div class="container">
-            <a class="navbar-brand" href="/movies">Форум за филмови</a>
             <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault"
                     aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
@@ -28,5 +27,5 @@
                     </li>
                 </ul>
-                <form class="form-inline my-2 my-lg-0">
+                <form class="form-inline my-2 my-lg-0 hidden">
                     <div class="input-group input-group-sm">
                         <input type="text" class="form-control" aria-label="Small"
Index: target/classes/templates/fragments/searchBarGenre.html
===================================================================
--- target/classes/templates/fragments/searchBarGenre.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ target/classes/templates/fragments/searchBarGenre.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -1,5 +1,9 @@
-<div>
-      <label for="searchGenre" style="width: 150px;">Пребарај по жанр</label>
-        <input id="searchGenre" type="text" placeholder="жанр">
-        <button class="search-button">Пребарај</button>
+<div xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" style="width:60%; margin: auto; margin-bottom: 10px">
+        <select th:if="${genres!=null}" id="searchGenre" class="form-control" style="float: left; display: block; width: 50%">
+            <option value="" selected>Сите</option>
+            <option th:each="genre: ${genres}" th:value="${genre.getGenreType()}" th:text="${genre.getGenreType()}"></option>
+        </select>
+        <div class="input-group-append" style="width: 40%">
+            <button class="btn btn-secondary  search-button" style="width: 100%">Филтрирај по жанр</button>
+        </div>
 </div>
Index: target/classes/templates/fragments/searchBarName.html
===================================================================
--- target/classes/templates/fragments/searchBarName.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ target/classes/templates/fragments/searchBarName.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -1,5 +1,8 @@
-<div>
-    <label for="searchTitle" style="width: 150px;">Прабарај по име</label>
-    <input id="searchTitle" type="text" placeholder="име">
-    <button class="search-button-title">Пребарај</button>
+<div style="width:60%; margin: auto;">
+    <input id="searchTitle" class="form-control" style="float: left; display: block; width: 50%" type="text" placeholder="...">
+
+    <div class="input-group-append" style="width: 40%">
+        <button class="btn btn-secondary search-button-title" style="width: 100%">Филтрирај по Наслов</button>
+    </div>
+
 </div>
Index: target/classes/templates/movieShow.html
===================================================================
--- target/classes/templates/movieShow.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ target/classes/templates/movieShow.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -13,6 +13,18 @@
 <div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml" style="width: 80%; margin: auto">
     <div>
-        <div style="width: 30%; margin-right: 10px; padding:20px; border-right: 3px solid black; border-radius: 10px; float:left">
-            <img th:src="${movie.getImageUrl()}" style="width: 90%; height: auto">
+        <div style="width: 30%; margin-right: 10px; padding:20px; border-right: 3px solid black; border-radius: 10px; float:left" id="image-movie-section">
+            <img th:src="${movie.getImageUrl()}" style="width: 90%; height: auto; clear: both; margin-bottom: 20px">
+            <div id="admin-buttons">
+                <a class="btn btn-primary" th:href="@{'/discussions/all/{id}?type=M' (id=${movie.getMovieId()})}" >Прегледај дискусии</a>
+                <th:block sec:authorize="isAuthenticated()" >
+                    <div>
+                        <a class="btn btn-success button-add-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${!likedMovies.contains(movie)}">❤</a>
+                        <a class="btn btn-danger button-remove-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${likedMovies.contains(movie)}">💔</a>
+                    </div>
+                    <a class="btn btn-secondary button-add-grade-movie" th:movie-id="${movie.getMovieId()}">Остави оценка</a>
+                    <a class="btn btn-warning" th:href="@{'/movies/{id}/edit' (id=${movie.getMovieId()})}">Промени</a>
+                    <a class="btn btn-danger button-delete-movie" th:movie-id="${movie.getMovieId()}">Избриши филм</a>
+                </th:block>
+            </div>
         </div>
 
@@ -26,5 +38,5 @@
             </h3>
             <h3 th:text="${'IMDB оцена: ' + movie.getImdbRating()}"></h3>
-            <h3 th:text="${'Прикажан на: ' + movie.getAiringDate()}"></h3>
+            <h3 th:text="${'Прикажан на: ' + movie.getDateFormatted()}"></h3>
 
             <div style="background-color: rgba(200,200,200,0.5); border-radius: 10px; padding:15px; ">
@@ -33,5 +45,13 @@
             </div>
 
-            <div>
+            <div id="likes-showcase">
+                <h4 style="text-align: center">
+                    <span>Филмот му се допаднал на </span>
+                    <strong th:text="${likes}" id="movie_likes_count"></strong>
+                    <span> корисници</span>
+                </h4>
+            </div>
+
+            <div class="person-movies-list genres-listing">
                 <h3>Жанрови:</h3>
                 <ul>
@@ -39,5 +59,5 @@
                 </ul>
             </div>
-            <div>
+            <div class="person-movies-list">
                 <h3>Актери:</h3>
                 <ul>
@@ -48,14 +68,5 @@
         </div>
     </div>
-    <div id="admin-buttons">
-        <a class="btn btn-primary" th:href="@{'/discussions/all/{id}?type=M' (id=${movie.getMovieId()})}" >Прегледај дискусии</a>
-        <th:block sec:authorize="isAuthenticated()" >
-            <a class="btn btn-success button-add-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${!likedMovies.contains(movie)}">Додади во омилена листа</a>
-            <a class="btn btn-warning button-remove-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${likedMovies.contains(movie)}">Избриши од омилена листа</a>
-            <a class="btn btn-success button-add-grade-movie" th:movie-id="${movie.getMovieId()}">Остави оценка</a>
-            <a class="btn btn-warning" th:href="@{'/movies/{id}/edit' (id=${movie.getMovieId()})}">Промени</a>
-            <a class="btn btn-danger button-delete-movie" th:movie-id="${movie.getMovieId()}">Избриши филм</a>
-        </th:block>
-    </div>
+
     <hr>
     <div style="width: 45%; margin: 25px; float:left; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px">
@@ -70,6 +81,6 @@
                 </div>
                 <div style="width: 30%; float:right; background-color: darkorange; border-radius: 10px 30px; color: whitesmoke; padding: 10px;">
-                    <h2 style="text-align: center">Rated:</h2>
-                    <p th:text="${rating.getStarsRated() + ' out of 10 stars'}" style="text-align: center"></p>
+                    <h2 style="text-align: center">Оценет:</h2>
+                    <p th:text="${rating.getStarsRated() + ' од 10'}" style="text-align: center"></p>
                 </div>
         </div>
@@ -77,6 +88,5 @@
     <div style="width: 45%; margin: 25px; float:left; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px">
         <h2>
-            <span>Бројот на лајкови кои филмот ги добил:</span>
-            <span th:text="${movie.getLikes().size()}"></span>
+            <span>Лајковите кои филмот ги добил:</span>
         </h2>
         <hr>
Index: target/classes/templates/moviesList.html
===================================================================
--- target/classes/templates/moviesList.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ target/classes/templates/moviesList.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -2,5 +2,5 @@
 
     <div style="width: 70%; margin: auto">
-        <div th:replace="fragments/searchBarName"></div>
+        <div th:replace="fragments/searchBarName"></div><br>
         <div th:replace="fragments/searchBarGenre"></div>
     </div>
Index: target/classes/templates/moviesListPaged.html
===================================================================
--- target/classes/templates/moviesListPaged.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ target/classes/templates/moviesListPaged.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -1,10 +1,12 @@
 <div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml">
-
-    <div style="width: 70%; margin: auto">
-        <div th:replace="fragments/searchBarName"></div>
-        <div th:replace="fragments/searchBarGenre"></div>
-
+    <div style="margin:auto; width: 60%">
+        <div style="width: 30%; margin: auto; height: 100%; margin-bottom: 10px">
+            <a class="btn btn-outline-dark" style="height: 100%; width: 100%; font-size: 125%" id="button_toggle_filters">Прикажи филтрирање</a>
+        </div>
+        <div style="width: 100%; margin: auto; transition: 200ms" id="filters_div" class="invisible-search">
+            <div th:replace="fragments/searchBarName"></div><br>
+            <div th:replace="fragments/searchBarGenre"></div>
+        </div>
     </div>
-
     <div id="paging-section">
         <div id="inner-paging" class="input-group">
@@ -25,5 +27,5 @@
             </div>
         </div>
-    </div><br><br><br>
+    </div><br>
 
     <div class="container mb-4">
@@ -34,11 +36,13 @@
         <div class="row" th:each="row: ${movie_rows}" >
             <div class="col-md-3 elements" th:each="movie: ${row}" >
+                <span th:each="genre: ${movie.getGenres()}"  th:text="${genre?.getGenre()?.getGenreType()}" hidden class="card-genre"></span>
                     <div class="card-body card bg-image" th:style="'background:url(' + ${movie.getImageUrl()} + ') no-repeat center #eee;'">
                         <a class="card-text-center" style="color: white" th:href="@{'/movies/{id}' (id=${movie.getMovieId()})}" >
                         <h3 class="card-title title" th:text="${movie.getTitle()}"></h3>
                             <span th:each="genre: ${movie.getGenres()}"  th:text="${genre?.getGenre()?.getGenreType()}" hidden class="card-genre"></span>
-
                         </a>
-                        <h3 class="card-text bottom" th:text="${'Rated '+movie.getImdbRating()}"></h3>
+                        <span class="card-text bottom">
+                            <h3 th:text="${'Оценет '+movie.getImdbRating() + '/10'}"></h3>
+                        </span>
                         <th:block sec:authorize="isAuthenticated()">
                             <a class="bottom-heart btn btn-success button-add-favourite-list" th:movie-id="${movie.getMovieId()}" th:user-id="${user.getUserId()}" th:if="${!likedMovies.contains(movie)}">❤</a>
Index: target/classes/templates/personShow.html
===================================================================
--- target/classes/templates/personShow.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ target/classes/templates/personShow.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -1,63 +1,50 @@
 
-<div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml" style="width: 80%; margin: auto">
-    <div>
-
+<div xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.w3.org/1999/xhtml" style="width: 70%; margin: auto">
+    <div style="clear: both; margin-bottom: 10px; display:  inline-block">
         <div style="width: 60%; margin-left: 10px; padding:20px; float:left">
             <h1 th:text="${person.getName() + ' ' + person.getSurname()}" style="text-align: center; padding:10px; background-color: rgba(64,64,64,0.5); color:white; border-radius: 10px 0px"></h1>
             <hr>
-            <h3 th:text="${'Born on: ' + person.getDateOfBirth()}"></h3>
+            <h3 th:text="${'Роден на: ' + person.getDateFormatted()}"></h3>
             <div style="background-color: rgba(200,200,200,0.5); border-radius: 10px; padding:15px; ">
-                <h3>Description:</h3>
+                <h3>Краток Опис:</h3>
                 <p th:text="${person.getDescription()}" style="text-align: justify"></p>
             </div>
 
-            <div th:if="${person.getType() == 'D'}">
-                <h3 >Directed movies:</h3>
+            <div th:if="${person.getType().toString().contains('D')}" class="person-movies-list">
+                <h3 >Режисирани филмови:</h3>
+                <hr>
                 <ul>
-                    <li th:each="movie: ${actor.getMovies()}"><a th:text="${movie.getTitle()}" th:href="@{'/movies/{id}' (id=${movie.getMovieId()})}" ></a></li>
+                    <li th:each="movie: ${person.getMovies()}"><a th:text="${movie.getTitle()}" th:href="@{'/movies/{id}' (id=${movie.getMovieId()})}" ></a></li>
                 </ul>
             </div>
-            <div th:if="${person.getType() == 'A'}">
-                <h3 >Acted in movies:</h3>
+            <div th:if="${person.getType().toString().contains('A')}" class="person-movies-list">
+                <h3 >Се појавува во филмовите:</h3>
+                <hr>
                 <ul>
-                    <li th:each="movie: ${actor.getMovieActors()}" ><a th:text="${movie.getMovie().getTitle()}" th:href="@{'/movies/{id}' (id=${movie.getMovie().getMovieId()})}" ></a></li>
+                    <li th:each="movie: ${person.getMovieActors()}" ><a th:text="${movie.getMovie().getTitle()}" th:href="@{'/movies/{id}' (id=${movie.getMovie().getMovieId()})}" ></a></li>
                 </ul>
             </div>
-
         </div>
-        <div style="width: 30%; margin-left: 10px; padding:20px; border-left: 3px solid black; border-radius: 10px; float:left">
+        <div style="width: 30%; margin-left: 10px; padding:20px; border-left: 3px solid black; border-radius: 10px; float:right">
             <img th:src="${person.getImageUrl()}" style="width: 90%; height: auto">
         </div>
     </div>
-    <div style="width: 45%; margin: 25px; float:left; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px">
+    <br>
+    <div style="clear:both; display: inline-block; width: 100%; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px">
         <h2>
-            <span>Бројот на оцени кои филмот ги добил:</span>
-            <span th:text="${movie.getRates().size()}"></span>
+            <span>Бројот на оцени кои личноста ги има добиено:</span>
+            <span th:text="${person.getPersonRates().size()}"></span>
         </h2>
         <hr>
-        <div th:each="rating: ${movie.getRates()}" style="margin-bottom: 10px; border: 2px solid gray; border-radius: 10px; background-color: lightblue; padding: 10px; border-radius: 10px; min-height: 130px;">
+        <div th:each="rating: ${person.getPersonRates()}" style="margin-bottom: 10px; border: 2px solid gray; border-radius: 10px; background-color: lightblue; padding: 10px; border-radius: 10px; min-height: 130px;">
             <div style="width: 60%; float:left;">
                 <p th:text="${rating.getReason()}" style="text-align: justify"></p>
             </div>
             <div style="width: 30%; float:right; background-color: darkorange; border-radius: 10px 30px; color: whitesmoke; padding: 10px;">
-                <h2 style="text-align: center">Rated:</h2>
-                <p th:text="${rating.getStarsRated() + ' out of 10 stars'}" style="text-align: center"></p>
+                <h2 style="text-align: center">Оценет со :</h2>
+                <p th:text="${rating.getStarsRated() + ' од 10'}" style="text-align: center"></p>
             </div>
         </div>
     </div>
-    <div style="width: 45%; margin: 25px; float:left; background-color: rgb(200,200,200); padding: 10px; border-radius: 5px">
-        <h2>
-            <span>Бројот на лајкови кои филмот ги добил:</span>
-            <span th:text="${movie.getLikes().size()}"></span>
-        </h2>
-        <hr>
-        <div th:each="liked: ${movie.getLikes()}" style="margin-bottom: 10px; border: 2px solid gray; border-radius: 10px; background-color: lightblue; padding: 10px; border-radius: 10px; min-height: 60px;">
-            <div style="width: 100%; float:left;">
-                <h3  style="text-align: center">
-                    <span th:text="${liked.getUser().getName() + ' ' + liked.getUser().getSurname()}"></span>
-                    <span style="color: green; font-size: 100%" >✔</span>
-                </h3>
-            </div>
-        </div>
-    </div>
+
 </div>
Index: target/classes/templates/personsList.html
===================================================================
--- target/classes/templates/personsList.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ target/classes/templates/personsList.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -5,5 +5,4 @@
     </div>
     <div class="container mb-4">
-        <div class="row">
             <div class="col-12" th:if="${persons.size() > 0}">
                 <div class="table-responsive">
@@ -47,23 +46,14 @@
                             <th:block sec:authorize="isAuthenticated()">
                                 <td>
-                                    <a class="btn btn-primary button-add-grade-person" th:person-id="${person.getPersonId()}">Остави оценка</a>
+                                    <a class="btn btn-secondary button-add-grade-person" th:person-id="${person.getPersonId()}">Остави оценка</a>
 
                                 </td>
                             <td>
-                                <a class="btn btn-primary" th:href="@{'persons/edit/{personId}' (personId = ${person.getPersonId()})}">Промени</a>
+                                <a class="btn btn-warning" th:href="@{'persons/edit/{personId}' (personId = ${person.getPersonId()})}">Промени</a>
                             </td>
                             <td>
-                                <a class="btn btn-primary button-delete-actor" th:person-id="${person.getPersonId()}">Избриши</a>
+                                <a class="btn btn-danger button-delete-actor" th:person-id="${person.getPersonId()}">Избриши</a>
 
                             </td>
-
-                            <a class="bottom-heart btn btn-success button-add-favourite-list"
-                               th:movie-id="${person.getMovieId()}"
-                               th:user-id="${user.getUserId()}"
-                               th:if="${!likedPersons.contains(movie)}">❤</a>
-
-                            <a class="bottom-heart btn btn-danger button-remove-favourite-list"
-                               th:movie-id="${person.getMovieId()}" th:user-id="${user.getUserId()}"
-                               th:if="${likedPersons.contains(movie)}">💔</a>
 
 
@@ -75,5 +65,4 @@
                 </div>
             </div>
-        </div>
     </div>
 
Index: target/classes/templates/template.html
===================================================================
--- target/classes/templates/template.html	(revision 3c0f9a97ce7897bbdf19cc016cc2edaede3e204c)
+++ target/classes/templates/template.html	(revision c02189fa25621ce1d654581cba8f42042572979c)
@@ -16,8 +16,7 @@
 </head>
 <body>
-<section class="jumbotron text-center">
-    <div class="container">
-        <!--<img th:src="@{/img/logo.png}" style="opacity: 0.3; z-index: 5; position: absolute; margin: auto; height: 225px; width: auto; left: 42%; top: 2%">-->
-        <h1 class="jumbotron-heading" style="z-index: -1">weDiscussMovies</h1>
+<section class="jumbotron text-center" style="background: url('/img/cover.jpg') center; background-repeat: no-repeat; background-size: 100% auto; height: 280px; margin-bottom: 0px ">
+    <div class="container" >
+        <h1 class="jumbotron-heading" style="z-index: -1"></h1>
     </div>
 </section>
