Index: src/main/java/com/example/autopartz/controller/HomeController.java
===================================================================
--- src/main/java/com/example/autopartz/controller/HomeController.java	(revision d4b888e8c58f07ca9c34c64e3184cceecd9b65a8)
+++ src/main/java/com/example/autopartz/controller/HomeController.java	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
@@ -2,13 +2,14 @@
 
 import com.example.autopartz.model.*;
+import com.example.autopartz.model.DTO.OrderInfo;
+import com.example.autopartz.model.manytomany.OrderContainsPart;
 import com.example.autopartz.model.manytomany.PartIsInStockInWarehouse;
+import com.example.autopartz.model.views.DeliveriesInProgress;
+import com.example.autopartz.model.views.PartsForCarTypeAndCategory;
 import com.example.autopartz.repository.*;
 import com.example.autopartz.service.*;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
@@ -16,4 +17,5 @@
 import javax.servlet.http.HttpSession;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -32,8 +34,9 @@
     private final OrderService orderService;
     private final UserService userService;
+    private final DeliveriesInProgressRepository deliveriesInProgressRepository;
     private final DeliveryService deliveryService;
     private final PartIsInStockInWarehouseRepository partIsInStockInWarehouseRepository;
     public HomeController(LoginService loginService, PartService partService, PartsForCarTypeAndCategoryRepository partsForCarTypeAndCategoryRepository, CarService carService, CategoryService categoryService, RepairShopReviewSummaryRepository repairShopReviewSummaryRepository, WarehouseRepository warehouseRepository,
-                          OrderContainsPartRepository orderContainsPartRepository, OrderService orderService, UserService userService, DeliveryService deliveryService, PartIsInStockInWarehouseRepository partIsInStockInWarehouseRepository) {
+                          OrderContainsPartRepository orderContainsPartRepository, OrderService orderService, UserService userService, DeliveriesInProgressRepository deliveriesInProgressRepository, DeliveryService deliveryService, PartIsInStockInWarehouseRepository partIsInStockInWarehouseRepository) {
         this.loginService = loginService;
         this.partService = partService;
@@ -46,4 +49,5 @@
         this.orderService = orderService;
         this.userService = userService;
+        this.deliveriesInProgressRepository = deliveriesInProgressRepository;
         this.deliveryService = deliveryService;
         this.partIsInStockInWarehouseRepository = partIsInStockInWarehouseRepository;
@@ -87,5 +91,13 @@
     @GetMapping("/filtered")
     public String getPartsForCarTypeAndCategory(@RequestParam String cartype, @RequestParam String category, Model model){
-        model.addAttribute("filtered", partsForCarTypeAndCategoryRepository.findAllByCartypeAndCategory(cartype,category));
+        List<PartsForCarTypeAndCategory> tmp = partsForCarTypeAndCategoryRepository.findAllByCartypeAndCategory(cartype,category);
+        if(tmp.size()==0){
+            model.addAttribute("hasError",true);
+            model.addAttribute("error","Не постојат такви производи, обидете се повторно");
+        }
+        else {
+            model.addAttribute("hasError",false);
+            model.addAttribute("filtered", tmp);
+        }
         model.addAttribute("bodyContent","filteredParts");
         return "master-template";
@@ -179,3 +191,43 @@
         return "master-template";
     }
+    @GetMapping("myNextDeliveries")
+    public String myNextDeliveries(Model model, HttpServletRequest request){
+        Deliveryman dm = (Deliveryman) userService.findByUsername(request.getRemoteUser());
+        List<DeliveriesInProgress> ldip = deliveriesInProgressRepository.findAllByUserid(dm.getId());
+        if(ldip.size()==0){
+            model.addAttribute("hasError",true);
+            model.addAttribute("error","Сите достави се завршени");
+        }
+        else {
+            model.addAttribute("hasError",false);
+            model.addAttribute("deliveries", deliveriesInProgressRepository.findAllByUserid(dm.getId()));
+        }
+        model.addAttribute("bodyContent","myNextDeliveries");
+        return "master-template";
+    }
+    @PostMapping("/finishDelivery/{id}")
+    public void finishDelivery(@PathVariable Integer id, Model model, HttpServletResponse response){
+        Delivery d = deliveryService.findByOrder(orderService.findById(id));
+        d.setStatus("finished");
+        deliveryService.update(d);
+        try {
+            response.sendRedirect("/myDeliveries");
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+    @GetMapping("/order/{id}")
+    public String getOrderInfo(@PathVariable Integer id, Model model){
+        List<OrderContainsPart> list = orderContainsPartRepository.findAllByOrderid(id);
+        List<OrderInfo> partList = new ArrayList<>();
+        for (int i = 0; i < list.size(); i++) {
+            OrderInfo oi = new OrderInfo(partService.findById(list.get(i).getPartid()).getName(),
+                    list.get(i).getQuantity_order(),partService.findById(list.get(i).getPartid()).getManufacturer().getName());
+            partList.add(oi);
+        }
+        model.addAttribute("parts",partList);
+        model.addAttribute("o",orderService.findById(id));
+        model.addAttribute("bodyContent","orderInfo");
+        return "master-template";
+    }
 }
Index: src/main/java/com/example/autopartz/model/DTO/OrderInfo.java
===================================================================
--- src/main/java/com/example/autopartz/model/DTO/OrderInfo.java	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
+++ src/main/java/com/example/autopartz/model/DTO/OrderInfo.java	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
@@ -0,0 +1,16 @@
+package com.example.autopartz.model.DTO;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class OrderInfo {
+    String partname;
+    Integer quantity;
+    String manufacturername;
+}
+
Index: src/main/java/com/example/autopartz/model/views/DeliveriesInProgress.java
===================================================================
--- src/main/java/com/example/autopartz/model/views/DeliveriesInProgress.java	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
+++ src/main/java/com/example/autopartz/model/views/DeliveriesInProgress.java	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
@@ -0,0 +1,35 @@
+package com.example.autopartz.model.views;
+
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import lombok.Setter;
+import lombok.ToString;
+import org.hibernate.annotations.Immutable;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.Table;
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Entity
+@Getter
+@Setter
+@ToString
+@RequiredArgsConstructor
+@Immutable
+@Table(name = "`deliveries_in_progress`")
+public class DeliveriesInProgress implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 1L;
+    @Id
+    Integer deliveryid;
+    Integer userid;
+    Integer orderid;
+    LocalDateTime datum;
+    String status;
+    String address;
+}
Index: src/main/java/com/example/autopartz/repository/DeliveriesInProgressRepository.java
===================================================================
--- src/main/java/com/example/autopartz/repository/DeliveriesInProgressRepository.java	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
+++ src/main/java/com/example/autopartz/repository/DeliveriesInProgressRepository.java	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
@@ -0,0 +1,10 @@
+package com.example.autopartz.repository;
+
+import com.example.autopartz.model.views.DeliveriesInProgress;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.util.List;
+
+public interface DeliveriesInProgressRepository extends JpaRepository<DeliveriesInProgress,Integer> {
+    List<DeliveriesInProgress> findAllByUserid(Integer userid);
+}
Index: src/main/java/com/example/autopartz/repository/DeliveryRepository.java
===================================================================
--- src/main/java/com/example/autopartz/repository/DeliveryRepository.java	(revision d4b888e8c58f07ca9c34c64e3184cceecd9b65a8)
+++ src/main/java/com/example/autopartz/repository/DeliveryRepository.java	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
@@ -3,4 +3,5 @@
 import com.example.autopartz.model.Delivery;
 import com.example.autopartz.model.Deliveryman;
+import com.example.autopartz.model.Order;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
@@ -11,3 +12,4 @@
 public interface DeliveryRepository extends JpaRepository<Delivery,Integer> {
     List<Delivery> findAllByDeliveryman(Deliveryman deliveryman);
+    List<Delivery> findAllByOrder(Order order);
 }
Index: src/main/java/com/example/autopartz/service/DeliveryService.java
===================================================================
--- src/main/java/com/example/autopartz/service/DeliveryService.java	(revision d4b888e8c58f07ca9c34c64e3184cceecd9b65a8)
+++ src/main/java/com/example/autopartz/service/DeliveryService.java	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
@@ -3,4 +3,5 @@
 import com.example.autopartz.model.Delivery;
 import com.example.autopartz.model.Deliveryman;
+import com.example.autopartz.model.Order;
 
 import java.util.List;
@@ -8,3 +9,6 @@
 public interface DeliveryService {
     List<Delivery> findAllByDeliverer(Deliveryman dm);
+    Delivery findById(Integer id);
+    void update(Delivery d);
+    Delivery findByOrder(Order o);
 }
Index: src/main/java/com/example/autopartz/service/impl/DeliveryServiceImpl.java
===================================================================
--- src/main/java/com/example/autopartz/service/impl/DeliveryServiceImpl.java	(revision d4b888e8c58f07ca9c34c64e3184cceecd9b65a8)
+++ src/main/java/com/example/autopartz/service/impl/DeliveryServiceImpl.java	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
@@ -3,4 +3,5 @@
 import com.example.autopartz.model.Delivery;
 import com.example.autopartz.model.Deliveryman;
+import com.example.autopartz.model.Order;
 import com.example.autopartz.repository.DeliveryRepository;
 import com.example.autopartz.service.DeliveryService;
@@ -21,3 +22,18 @@
         return deliveryRepository.findAllByDeliveryman(dm);
     }
+
+    @Override
+    public Delivery findById(Integer id) {
+        return deliveryRepository.findById(id).get();
+    }
+
+    @Override
+    public void update(Delivery d) {
+        deliveryRepository.save(d);
+    }
+
+    @Override
+    public Delivery findByOrder(Order o) {
+        return deliveryRepository.findAllByOrder(o).stream().findFirst().orElseThrow(RuntimeException::new);
+    }
 }
Index: src/main/resources/templates/filteredParts.html
===================================================================
--- src/main/resources/templates/filteredParts.html	(revision d4b888e8c58f07ca9c34c64e3184cceecd9b65a8)
+++ src/main/resources/templates/filteredParts.html	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
@@ -1,12 +1,13 @@
 <div>
-<h1>Резултат од филтерот</h1>
+<h1 class="mt-3 mb-3">Резултат од филтерот</h1>
 <a th:href="${'/products'}">Врати се на сите производи</a>
-
-<table>
-    <thead>
+    <h3 th:if="${hasError}" th:text="${error}"></h3>
+    <div th:if="${!hasError}">
+<table class="table table-bordered mt-3">
+    <thead class="thead-dark">
     <tr>
-        <th>Name</th>
-        <th>Manufacturer</th>
-        <th>Details</th>
+        <th scope="col">Име</th>
+        <th scope="col">Производител</th>
+        <th scope="col">Детали</th>
     </tr>
     </thead>
@@ -17,5 +18,5 @@
         <td>
             <form th:action="@{'/part/{id}' (id=${f.getPartid()}) }">
-                <button type="submit">Детали</button>
+                <button class="btn btn-primary btn-block btn-lg w-50" type="submit">Детали</button>
             </form>
         </td>
@@ -23,4 +24,4 @@
     </tbody>
 </table>
-
+    </div>
 </div>
Index: src/main/resources/templates/myDeliveries.html
===================================================================
--- src/main/resources/templates/myDeliveries.html	(revision d4b888e8c58f07ca9c34c64e3184cceecd9b65a8)
+++ src/main/resources/templates/myDeliveries.html	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
@@ -1,4 +1,7 @@
 <div>
     <h1>Мои достави</h1>
+    <form class="form-signin mt-xl-5" method="get" action="/myNextDeliveries">
+    <button id="submit" class="btn btn-lg btn-primary btn-block" type="submit">Мои следни нарачки</button>
+    </form>
     <table>
         <thead>
Index: src/main/resources/templates/myNextDeliveries.html
===================================================================
--- src/main/resources/templates/myNextDeliveries.html	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
+++ src/main/resources/templates/myNextDeliveries.html	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
@@ -0,0 +1,30 @@
+<div>
+  <h1>Мои следни нарачки</h1>
+  <h1 th:if="${hasError}" th:text="${error}"></h1>
+  <div th:if="${!hasError}">
+  <table>
+    <thead>
+    <tr>
+      <th>Статус на достава</th>
+      <th>Адреса на достава</th>
+      <th>Број на нарачка</th>
+      <th>Датум на нарачка</th>
+      <th>Детали за нарачка</th>
+    </tr>
+    </thead>
+    <tbody>
+    <tr th:each="d : ${deliveries}">
+      <td th:text="${d.getStatus}"></td>
+      <td th:text="${d.getAddress()}"></td>
+      <td th:text="${d.getOrderid()}"></td>
+      <td th:text="${d.getDatum()}"></td>
+      <td>
+        <form method="get" th:action="@{'/order/{id}' (id=${d.getOrderid()}) }">
+          <button class="btn btn-primary btn-block btn-lg" type="submit">Детали</button>
+        </form>
+      </td>
+    </tr>
+    </tbody>
+  </table>
+  </div>
+</div>
Index: src/main/resources/templates/orderInfo.html
===================================================================
--- src/main/resources/templates/orderInfo.html	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
+++ src/main/resources/templates/orderInfo.html	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
@@ -0,0 +1,22 @@
+<div>
+  <h1>Нарачка број <span th:text="${o.getOrderid()}"></span></h1>
+  <table>
+    <thead>
+    <tr>
+      <th>Име на делот</th>
+      <th>Количина</th>
+      <th>Производител на делот</th>
+    </tr>
+    </thead>
+    <tbody>
+    <tr th:each="p : ${parts}">
+      <td th:text="${p.getPartname}"></td>
+      <td th:text="${p.getQuantity()}"></td>
+      <td th:text="${p.getManufacturername()}"></td>
+    </tr>
+    </tbody>
+  </table>
+  <form method="post" th:action="@{'/finishDelivery/{id}' (id=${o.getOrderid()}) }">
+    <button class="btn btn-primary btn-block btn-lg" type="submit">Заврши достава</button>
+  </form>
+</div>
Index: src/main/resources/templates/partinfo.html
===================================================================
--- src/main/resources/templates/partinfo.html	(revision d4b888e8c58f07ca9c34c64e3184cceecd9b65a8)
+++ src/main/resources/templates/partinfo.html	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
@@ -1,12 +1,27 @@
 <div>
-<p th:text="${part.getName()}"></p>
-<p th:text="${part.getDescription()}"></p>
-<p th:text="${part.getManufacturer().getName()}"></p>
-<p><span th:text="${amount}"></span><span> денари</span></p>
+    <table class="table table-bordered mt-4">
+        <thead class="thead-dark">
+        <tr>
+            <th scope="col">Име</th>
+            <th scope="col">Опис</th>
+            <th scope="col">Производител</th>
+            <th scope="col">Цена</th>
+        </tr>
+        </thead>
+        <tbody>
+        <tr>
+            <td th:text="${part.getName()}"></td>
+            <td th:text="${part.getDescription()}"></td>
+            <td th:text="${part.getManufacturer().getName()}"></td>
+            <td><span th:text="${amount}"></span><span> денари</span></td>
+        </tr>
+        </tbody>
+    </table>
+
 <form method="post" th:action="@{'/part/addToOrder/{id}' (id=${part.getId()}) }">
     <label>
-        <input type="number" name="quantity" required min="1" placeholder="Количина"/>
+        <input class="form-control d-inline" type="number" name="quantity" required min="1" placeholder="Количина"/>
     </label>
-    <button class="btn btn-primary btn-block btn-lg" type="submit">Додај во нарачка</button>
+    <button class="btn btn-primary btn-block btn-lg w-25 d-inline" type="submit">Додај во нарачка</button>
 </form>
 </div>
Index: src/main/resources/templates/products.html
===================================================================
--- src/main/resources/templates/products.html	(revision d4b888e8c58f07ca9c34c64e3184cceecd9b65a8)
+++ src/main/resources/templates/products.html	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
@@ -9,7 +9,7 @@
 </header>
 <main>
-    <h1>Сите производи</h1>
+    <h1 class="mt-3 mb-3">Сите производи</h1>
     <form th:action="@{/filtered}">
-        <label for="cartype"></label><select id="cartype" required name="cartype">
+        <label for="cartype"></label><select id="cartype" class="form-control w-25 d-inline mr-3" required name="cartype">
             <option  th:each="car : ${cars}"
                      th:text="${car.getCartype()}"
@@ -17,5 +17,5 @@
             </option>
         </select>
-        <label for="category"></label><select id="category" required name="category">
+        <label for="category"></label><select id="category" class="form-control w-25 d-inline mr-3" required name="category">
             <option  th:each="cat : ${categories}"
                      th:text="${cat.getCname()}"
@@ -23,12 +23,12 @@
             </option>
         </select>
-        <button type="submit">Филтрирај</button>
+        <button class="btn btn-lg btn-block btn-primary w-25 d-inline" type="submit">Филтрирај</button>
     </form>
-    <table>
-        <thead>
+    <table class="table table-bordered mt-4">
+        <thead class="thead-dark">
         <tr>
-            <th>Name</th>
-            <th>Manufacturer</th>
-            <th>Details</th>
+            <th scope="col">Име</th>
+            <th scope="col">Производител</th>
+            <th scope="col">Детали</th>
         </tr>
         </thead>
@@ -39,5 +39,5 @@
             <td>
                 <form th:action="@{'/part/{id}' (id=${part.getId()}) }">
-                    <button type="submit">Детали</button>
+                    <button class="btn btn-primary btn-block btn-lg w-50" type="submit">Детали</button>
                 </form>
             </td>
Index: src/main/resources/templates/services.html
===================================================================
--- src/main/resources/templates/services.html	(revision d4b888e8c58f07ca9c34c64e3184cceecd9b65a8)
+++ src/main/resources/templates/services.html	(revision 9dcbf444a75f533d0d8f1bfbf8d0603e8dea6f85)
@@ -1,11 +1,11 @@
 <div>
   <main>
-    <h1>Информации за сервиси</h1>
-    <table>
-      <thead>
+    <h1 class="mt-3 mb-3">Информации за сервиси</h1>
+    <table class="table table-bordered">
+      <thead class="thead-dark">
       <tr>
-        <th>Name</th>
-        <th>Number of reviews</th>
-        <th>Average rating</th>
+        <th scope="col">Име на сервис</th>
+        <th scope="col">Број на критики</th>
+        <th scope="col">Просечна оценка</th>
       </tr>
       </thead>
