Index: src/main/java/com/example/moviezone/model/exceptions/InvalidUsernameOrPasswordException.java
===================================================================
--- src/main/java/com/example/moviezone/model/exceptions/InvalidUsernameOrPasswordException.java	(revision f9cc55582c02fa97aae4ea5ba53abfc2240d0230)
+++ src/main/java/com/example/moviezone/model/exceptions/InvalidUsernameOrPasswordException.java	(revision f9cc55582c02fa97aae4ea5ba53abfc2240d0230)
@@ -0,0 +1,4 @@
+package com.example.moviezone.model.exceptions;
+
+public class InvalidUsernameOrPasswordException extends RuntimeException {
+}
Index: src/main/java/com/example/moviezone/service/Impl/UserServiceImpl.java
===================================================================
--- src/main/java/com/example/moviezone/service/Impl/UserServiceImpl.java	(revision 43a1688664ca4d96cf0cad0430b66a59f21080ea)
+++ src/main/java/com/example/moviezone/service/Impl/UserServiceImpl.java	(revision f9cc55582c02fa97aae4ea5ba53abfc2240d0230)
@@ -2,9 +2,13 @@
 
 import com.example.moviezone.model.Customer;
+import com.example.moviezone.model.Role;
 import com.example.moviezone.model.User;
 import com.example.moviezone.model.Worker;
+import com.example.moviezone.model.exceptions.InvalidUsernameOrPasswordException;
 import com.example.moviezone.model.exceptions.PasswordsDoNotMatchException;
 import com.example.moviezone.model.exceptions.UserNotFoundException;
+import com.example.moviezone.repository.CustomerRepository;
 import com.example.moviezone.repository.UserRepository;
+import com.example.moviezone.repository.WorkerRepository;
 import com.example.moviezone.service.UserService;
 import org.springframework.security.crypto.password.PasswordEncoder;
@@ -18,8 +22,12 @@
     private final UserRepository userRepository;
     private final PasswordEncoder passwordEncoder;
+    private final WorkerRepository workerRepository;
+    private final CustomerRepository customerRepository;
 
-    public UserServiceImpl(UserRepository userRepository, PasswordEncoder passwordEncoder) {
+    public UserServiceImpl(UserRepository userRepository, PasswordEncoder passwordEncoder, WorkerRepository workerRepository, CustomerRepository customerRepository) {
         this.userRepository = userRepository;
         this.passwordEncoder = passwordEncoder;
+        this.workerRepository = workerRepository;
+        this.customerRepository = customerRepository;
     }
 
@@ -40,14 +48,24 @@
 
     @Override
-    public User register(String first_name, String last_name, String username, String email, String number, String password,String repeatedPassword, String role) {
+    public User register(String first_name, String last_name, String username, String email, String number, String password,String repeatedPassword, Role role) {
        if(!password.equals(repeatedPassword))
            throw new PasswordsDoNotMatchException();
-       else
-        if(role.equals("worker"))
+       if (username==null || username.isEmpty()  || password==null || password.isEmpty())
+            throw new InvalidUsernameOrPasswordException();
+
+       if(role.equals(Role.ROLE_ADMIN))
         {
-            return userRepository.save(new Worker(passwordEncoder.encode(password),first_name,last_name,username,email,number));
+            Worker worker=new Worker(passwordEncoder.encode(password),first_name,last_name,username,email,number);
+            workerRepository.save(worker);
+            return userRepository.save(worker);
         }
         else
-            return userRepository.save(new Customer(passwordEncoder.encode(password),first_name,last_name,username,email,number));
+       {
+           Customer customer=new Customer(passwordEncoder.encode(password),first_name,last_name,username,email,number);
+          customerRepository.save(customer);
+           return userRepository.save(customer);
+
+       }
+
     }
 
Index: src/main/java/com/example/moviezone/service/UserService.java
===================================================================
--- src/main/java/com/example/moviezone/service/UserService.java	(revision 43a1688664ca4d96cf0cad0430b66a59f21080ea)
+++ src/main/java/com/example/moviezone/service/UserService.java	(revision f9cc55582c02fa97aae4ea5ba53abfc2240d0230)
@@ -1,4 +1,5 @@
 package com.example.moviezone.service;
 
+import com.example.moviezone.model.Role;
 import com.example.moviezone.model.User;
 
@@ -10,5 +11,5 @@
     User findByUsername(String username);
 
-  User register(String first_name, String last_name,String username, String email, String number, String password,String repeatedPassword, String role);
+  User register(String first_name, String last_name,String username, String email, String number, String password,String repeatedPassword, Role role);
     User login(String username,String password);
 }
Index: src/main/java/com/example/moviezone/web/HomeController.java
===================================================================
--- src/main/java/com/example/moviezone/web/HomeController.java	(revision 43a1688664ca4d96cf0cad0430b66a59f21080ea)
+++ src/main/java/com/example/moviezone/web/HomeController.java	(revision f9cc55582c02fa97aae4ea5ba53abfc2240d0230)
@@ -4,5 +4,7 @@
 import com.example.moviezone.model.Customer;
 import com.example.moviezone.model.Film;
+import com.example.moviezone.model.Role;
 import com.example.moviezone.model.User;
+import com.example.moviezone.model.exceptions.PasswordsDoNotMatchException;
 import com.example.moviezone.model.exceptions.UserNotFoundException;
 import com.example.moviezone.service.*;
@@ -93,13 +95,22 @@
     }
 
-    @PostMapping("register")
-    public String register(@RequestParam String username, @RequestParam String first_name, @RequestParam String last_name,
-                         @RequestParam String password, @RequestParam String repeatedPassword,
-                         @RequestParam String email, @RequestParam String number,
-                         @RequestParam String role)
-    {
-        User user = null;
-            user=userService.register(first_name,last_name,username,email,number,password,repeatedPassword,role);
+    @PostMapping()
+    public String register(@RequestParam String username,
+                           @RequestParam String first_name,
+                           @RequestParam String last_name,
+                           @RequestParam String password,
+                           @RequestParam String repeatedPassword,
+                           @RequestParam String email,
+                           @RequestParam String number,
+                           @RequestParam Role role)
+    {
+        try {
+           User user=userService.register(first_name,last_name,username,email,number,password,repeatedPassword,role);
             return "redirect:/login";
+        }catch (PasswordsDoNotMatchException exception)
+        {
+            return "redirect:/register?error=" + exception.getMessage();
+        }
+
     }
 
Index: src/main/resources/templates/fragments/header.html
===================================================================
--- src/main/resources/templates/fragments/header.html	(revision 43a1688664ca4d96cf0cad0430b66a59f21080ea)
+++ src/main/resources/templates/fragments/header.html	(revision f9cc55582c02fa97aae4ea5ba53abfc2240d0230)
@@ -68,6 +68,6 @@
     </ul>
     <ul class="menu-right">
-        <li class="reg"><a href="#!">Најава</a></li>
-        <li class="reg"><a href="#!">Регистрација</a></li>
+        <li class="reg"><a href="/login">Најава</a></li>
+        <li class="reg"><a href="/register">Регистрација</a></li>
     </ul>
 </nav></div>
Index: src/main/resources/templates/register.html
===================================================================
--- src/main/resources/templates/register.html	(revision 43a1688664ca4d96cf0cad0430b66a59f21080ea)
+++ src/main/resources/templates/register.html	(revision f9cc55582c02fa97aae4ea5ba53abfc2240d0230)
@@ -30,4 +30,9 @@
         </p>
         <p>
+            <label for="number" class="sr-only">Phone Number</label>
+            <input type="text" id="number" name="number" class="form-control" placeholder="Enter Number" required=""
+                   autofocus="">
+        </p>
+        <p>
         <div class="form-check form-check-inline">
             <input class="form-check-input" name="role" type="radio" id="ROLE_ADMIN" value="ROLE_ADMIN">
