Index: Prototype Application/Paw5/src/main/java/finki/paw5/model/exceptions/NonExistingArgumentsException.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/model/exceptions/NonExistingArgumentsException.java	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/model/exceptions/NonExistingArgumentsException.java	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
@@ -0,0 +1,7 @@
+package finki.paw5.model.exceptions;
+
+public class NonExistingArgumentsException extends Exception{
+    public NonExistingArgumentsException() {
+        super("There are empty fields for arguments");
+    }
+}
Index: Prototype Application/Paw5/src/main/java/finki/paw5/repository/UserRepository.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/repository/UserRepository.java	(revision 65f9c716e4e7082bb521216e6e61ce61cbd8a50b)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/repository/UserRepository.java	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
@@ -5,5 +5,8 @@
 import org.springframework.stereotype.Repository;
 
+
 @Repository
 public interface UserRepository extends JpaRepository<User, Integer> {
+        User findByEmailAndPassword(String email, String password);
+        User findByEmail(String email);
 }
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/AuthService.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/AuthService.java	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/AuthService.java	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
@@ -0,0 +1,14 @@
+package finki.paw5.service;
+
+import finki.paw5.model.entities.Adopter;
+import finki.paw5.model.entities.Employee;
+import finki.paw5.model.entities.User;
+
+import java.util.Optional;
+
+public interface AuthService {
+    User login (String email, String password);
+//    Adopter registerAdopter(String password, String repeatPassword, String name, String email, String telephone);
+//    Employee registerEmployee(String password, String repeatPassword, String name, String email, String telephone);
+
+}
Index: Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/AuthServiceImpl.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/AuthServiceImpl.java	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/AuthServiceImpl.java	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
@@ -0,0 +1,47 @@
+package finki.paw5.service.implementation;
+
+import finki.paw5.model.entities.User;
+import finki.paw5.model.exceptions.NonExistingArgumentsException;
+import finki.paw5.repository.UserRepository;
+import finki.paw5.service.AuthService;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDate;
+import java.util.Objects;
+import java.util.Optional;
+
+@Service
+public class AuthServiceImpl implements AuthService {
+
+    private final UserRepository userRepository;
+
+    public AuthServiceImpl(UserRepository userRepository) {
+        this.userRepository = userRepository;
+    }
+
+    @Override
+    public User login(String email, String password) {
+
+        if(userRepository.findByEmailAndPassword(email, password)!=null){
+            return userRepository.findByEmailAndPassword(email,password);
+        }
+        return null;
+    }
+
+    /*
+    @Override
+    public Adopter registerAdopter(String password, String repeatPassword, String name, String email, String telephone) {
+        if (email == null || email.isEmpty() || password == null || password.isEmpty()) {
+            //throw new Exception();
+        }
+        if (!password.equals(repeatPassword)) {
+            //throw new Exception();
+        }
+        if (this.userRepository.findByEmail(email)!=null) {
+            //throw new Exception("Username exists:"+email);
+        }
+        User user = new User(LocalDate.now(), name, email, password, telephone);
+        return userRepository.save(user);
+    }
+    */
+}
Index: Prototype Application/Paw5/src/main/java/finki/paw5/web/controllers/HomeController.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/web/controllers/HomeController.java	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/web/controllers/HomeController.java	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
@@ -0,0 +1,19 @@
+package finki.paw5.web.controllers;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+@Controller
+@RequestMapping("/home")
+public class HomeController {
+
+    @GetMapping
+    public String getHomePage(){
+        return "home";
+    }
+    @GetMapping("/aboutUs")
+    public String getSuccessPage(){
+        return "/aboutUs";
+    }
+}
Index: Prototype Application/Paw5/src/main/java/finki/paw5/web/controllers/LoginController.java
===================================================================
--- Prototype Application/Paw5/src/main/java/finki/paw5/web/controllers/LoginController.java	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
+++ Prototype Application/Paw5/src/main/java/finki/paw5/web/controllers/LoginController.java	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
@@ -0,0 +1,49 @@
+package finki.paw5.web.controllers;
+
+import finki.paw5.model.entities.User;
+import finki.paw5.model.exceptions.NonExistingArgumentsException;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import finki.paw5.service.AuthService;
+import jakarta.servlet.http.HttpServletRequest;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.Objects;
+
+@Controller
+@RequestMapping("/login")
+public class LoginController {
+
+    private final AuthService authService;
+
+    public LoginController(AuthService authService) {
+        this.authService = authService;
+    }
+
+    @GetMapping
+    public String register(){
+        return "/login";
+    }
+    @PostMapping
+    public String register(@RequestParam String email,  @RequestParam String password, HttpServletRequest request, Model model) throws NonExistingArgumentsException {
+
+        if(email==null || email.equals("") || Objects.equals(password, "") || password==null){
+            throw new NonExistingArgumentsException();
+        }
+        User user = authService.login(email,password);
+
+        if(user!=null){
+            request.getSession().setAttribute("user",user); //go smestuvam korisnikot vo sesija
+            return "redirect:/home";
+        }
+        else{
+            return "redirect:/login";
+        }
+
+
+    }
+}
Index: Prototype Application/Paw5/src/main/resources/templates/aboutUs.html
===================================================================
--- Prototype Application/Paw5/src/main/resources/templates/aboutUs.html	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
+++ Prototype Application/Paw5/src/main/resources/templates/aboutUs.html	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Title</title>
+    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
+    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
+    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
+
+</head>
+<body xmlns:th="http://www.thymeleaf.org">
+<header>
+    <nav class="navbar navbar-expand-md navbar-dark bg-dark">
+        <div class="container">
+            <a class="navbar-brand" href="/home">Paw 5</a>
+            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault"
+                    aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
+                <span class="navbar-toggler-icon"></span>
+            </button>
+
+            <div class="collapse navbar-collapse justify-content-end" id="navbarsExampleDefault">
+                <ul class="navbar-nav m-auto">
+                    <li class="nav-item m-auto">
+                        <a class="nav-link active" href="/home/aboutUs">About us</a>
+                    </li>
+                    <li class="nav-item m-auto">
+                        <a class="nav-link active" href="/login">Login</a>
+                    </li>
+                    <li class="nav-item m-auto">
+                        <a class="nav-link active" href="/register">Register</a>
+                    </li>
+                </ul>
+            </div>
+        </div>
+    </nav>
+</header>
+<h1>About Us</h1>
+<div>
+    <h5 class="text-center text-danger">
+        You successfully logged in
+        <th:block  th:text="${session.user.getId()}"></th:block>
+    </h5>
+</div>
+</body>
+</html>
Index: Prototype Application/Paw5/src/main/resources/templates/home.html
===================================================================
--- Prototype Application/Paw5/src/main/resources/templates/home.html	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
+++ Prototype Application/Paw5/src/main/resources/templates/home.html	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Home</title>
+  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
+  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
+  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
+  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
+</head>
+<body>
+<header>
+  <nav class="navbar navbar-expand-md navbar-dark bg-dark">
+    <div class="container">
+      <a class="navbar-brand" href="/home">Paw 5</a>
+      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault"
+              aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
+        <span class="navbar-toggler-icon"></span>
+      </button>
+
+      <div class="collapse navbar-collapse justify-content-end" id="navbarsExampleDefault">
+        <ul class="navbar-nav m-auto">
+          <li class="nav-item m-auto">
+            <a class="nav-link active" href="/home/aboutUs">About us</a>
+          </li>
+          <li class="nav-item m-auto">
+            <a class="nav-link active" href="/login">Login</a>
+          </li>
+          <li class="nav-item m-auto">
+            <a class="nav-link active" href="/register">Register</a>
+          </li>
+        </ul>
+      </div>
+    </div>
+  </nav>
+</header>
+
+<div>
+  <h1>Welcome to Paw 5</h1>
+  <h3>Let's get started
+    <th:block  th:text="${session.user.getName()}"></th:block>
+  </h3>
+</div>
+
+</body>
+</html>
Index: Prototype Application/Paw5/src/main/resources/templates/login.html
===================================================================
--- Prototype Application/Paw5/src/main/resources/templates/login.html	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
+++ Prototype Application/Paw5/src/main/resources/templates/login.html	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
@@ -0,0 +1,77 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <title>Title</title>
+  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
+  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
+  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
+  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
+
+</head>
+<body xmlns:th="http://www.thymeleaf.org">
+<header>
+  <nav class="navbar navbar-expand-md navbar-dark bg-dark">
+    <div class="container">
+      <a class="navbar-brand" href="/home">Paw 5</a>
+      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault"
+              aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
+        <span class="navbar-toggler-icon"></span>
+      </button>
+
+      <div class="collapse navbar-collapse justify-content-end" id="navbarsExampleDefault">
+        <ul class="navbar-nav m-auto">
+          <li class="nav-item m-auto">
+            <a class="nav-link active" href="/home/aboutUs">About us</a>
+          </li>
+          <li class="nav-item m-auto">
+            <a class="nav-link active" href="/login">Login</a>
+          </li>
+          <li class="nav-item m-auto">
+            <a class="nav-link active" href="/register">Register</a>
+          </li>
+        </ul>
+      </div>
+    </div>
+  </nav>
+</header>
+<div>
+
+  <form method="post" action="/login">
+    <h1>Login</h1>
+    <label for="email">Username:</label>
+    <input type="text" id="email" name="email"><br><br>
+
+    <label for="password">Password:</label>
+    <input type="password" id="password" name="password"><br><br>
+
+    <input id="button" type="submit" value="Submit">
+
+  </form>
+  <a href="/register" class="btn btn-block btn-light">Register here</a>
+</div>
+<style>
+  body{
+    color: darkslategray;
+  }
+  form{
+    background-color: bisque;
+    text-align: center;
+    padding: 20px;
+    border-radius: 20px;
+    width: 60%;
+  }
+  body{
+    font-family: Montserrat,serif;
+  }
+  #button{
+    background-color: cadetblue;
+    color: azure;
+    border: none;
+    height: 40px;
+    width: 80px;
+    border-radius: 20px;
+  }
+</style>
+</body>
+</html>
Index: Prototype Application/Paw5/src/main/resources/templates/register.html
===================================================================
--- Prototype Application/Paw5/src/main/resources/templates/register.html	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
+++ Prototype Application/Paw5/src/main/resources/templates/register.html	(revision f0232fb99a3ac7792c71956fb500c0a49afd9ea6)
@@ -0,0 +1,162 @@
+<!DOCTYPE html>
+<html lang="en" xmlns:th="http://www.thymeleaf.org">
+<head>
+  <meta charset="UTF-8">
+  <title>Title</title>
+  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
+  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
+  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
+  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
+
+</head>
+<body>
+<header>
+  <nav class="navbar navbar-expand-md navbar-dark bg-dark">
+    <div class="container">
+      <a class="navbar-brand" href="/home">Paw 5</a>
+      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault"
+              aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
+        <span class="navbar-toggler-icon"></span>
+      </button>
+
+      <div class="collapse navbar-collapse justify-content-end" id="navbarsExampleDefault">
+        <ul class="navbar-nav m-auto">
+          <li class="nav-item m-auto">
+            <a class="nav-link active" href="/home/aboutUs">About us</a>
+          </li>
+          <li class="nav-item m-auto">
+            <a class="nav-link active" href="/login">Login</a>
+          </li>
+          <li class="nav-item m-auto">
+            <a class="nav-link active" href="/register">Register</a>
+          </li>
+        </ul>
+      </div>
+    </div>
+  </nav>
+</header>
+<h3>You can take one or more roles on our site.</h3>
+<p>You want to adopt or foster a pet? - You are an adopter <br>
+  You want your pet to be adopted by another person? - You are a surendee <br>
+  You want to donate to an organisation protection animal rights? - You are a donor<br>
+  You work in one of our partner's shelters? - You are an employee <br>
+</p>
+<div>
+  <form method="post" action="/register"> <!--vaka e na aud-->
+    <h1>Register</h1>
+    <label for="name">Name and surname:</label>
+    <input type="text" id="name" name="name"><br><br>
+
+    <label for="email">Email:</label>
+    <input type="email" id="email" name="email"><br><br>
+
+    <label for="password">Password:</label>
+    <input type="password" id="password" name="password"><br><br>
+
+    <label for="repeatPassword">Repeat password:</label>
+    <input type="password" id="repeatPassword" name="repeatPassword"><br><br>
+
+    <label for="telephone">Telephone number:</label>
+    <input type="text" id="telephone" name="telephone"><br><br>
+
+
+    <!-- Employee -->
+    <label for="employee">Register as employee in a shelter</label>
+    <input type="checkbox" id="employee" name="employee" value="yes"><br><br>
+
+    <label for="shelter">From which organisation are you coming from?</label>
+    <select id="shelter" name="shelter" class="form-control">
+
+      <option
+              th:each="sh : ${shelters}"
+              th:value="${sh.getId()}"
+              th:text="${sh.getName()}">
+      </option>
+
+    </select>
+
+    <label for="position">Register as employee in a shelter</label>
+    <input type="text" id="position" name="position" value="yes"><br><br>
+
+
+    <!-- Adopter -->
+    <label for="adopter">Register as adopter</label>
+    <input type="checkbox" id="adopter" name="adopter" value="yes"><br><br>
+
+    <label for="freeTime">Free time:</label>
+    <select id="freeTime" name="freeTime">
+      <option value="LOW">low</option>
+      <option value="MEDIUM">medium</option>
+      <option value="HIGH">high</option>
+    </select><br><br>
+
+    <label for="funds">Finances:</label>
+    <select id="funds" name="funds">
+      <option value="LOW">low</option>
+      <option value="MEDIUM">medium</option>
+      <option value="HIGH">high</option>
+    </select><br><br>
+
+    <label for="hasOtherPets">You keep other pets</label>
+    <input type="checkbox" id="hasOtherPets" name="hasOtherPets" value="yes"> Yes <br><br>
+
+    <label for="hasKids">The adopted pet will have interaction with kids</label>
+    <input type="checkbox" id="hasKids" name="hasKids" value="yes"><br><br>
+
+    <label for="housing">Housing:</label>
+    <select id="housing" name="housing">
+      <option value="APARTMENT">apartment</option>
+      <option value="HOUSE">house</option>
+    </select><br><br>
+
+    <label for="physicalActivity">Physical activity:</label>
+    <select id="physicalActivity" name="physicalActivity">
+      <option value="LOW">low</option>
+      <option value="MEDIUM">medium</option>
+      <option value="HIGH">high</option>
+    </select><br><br>
+
+    <label for="willFoster">The adopted pet will have interaction with kids</label>
+    <input type="checkbox" id="willFoster" name="willFoster" value="yes"><br><br>
+
+    <!-- Donor -->
+    <label for="donor">Register as donor</label>
+    <input type="checkbox" id="donor" name="donor" value="yes"><br><br>
+
+    <label for="organisation">From which organisation are you coming from?</label>
+    <select id="organisation" name="organisation">
+      <option value="EVN">EVN</option>
+    </select><br><br>
+
+    <!-- Surendee -->
+    <label for="surendee">Register as surendee</label>
+    <input type="checkbox" id="surendee" name="surendee" value="yes"><br><br>
+
+    <input id="button" type="submit" value="Submit">
+  </form>
+</div>
+</body>
+<style>
+  body{
+    color: darkslategray;
+  }
+  form{
+    background-color: bisque;
+    text-align: center;
+    padding: 20px;
+    border-radius: 20px;
+    width: 60%;
+  }
+  body{
+    font-family: Montserrat,serif;
+  }
+  #button{
+    background-color: cadetblue;
+    color: azure;
+    border: none;
+    height: 40px;
+    width: 80px;
+    border-radius: 20px;
+  }
+</style>
+</html>
