Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/config/SecurityConfig.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/config/SecurityConfig.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/config/SecurityConfig.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -27,5 +27,5 @@
         http
                 .csrf(AbstractHttpConfigurer::disable)
-                .authorizeHttpRequests(auth-> auth
+                .authorizeHttpRequests(auth -> auth
                         .anyRequest().permitAll()
                 )
@@ -37,45 +37,42 @@
 
 
+    // FOR PRODUCTION:
 
-    // FOR PRODUCTION:
     /**
-    @Bean
-    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
-//        http
-//                .authorizeHttpRequests(authorize -> authorize
-//                        .requestMatchers("/login","/register").permitAll()
-//                        .anyRequest().authenticated()
-//                )
-//                .formLogin(form -> form
-//                        .loginPage("/login")
-//                        .permitAll()
-//                )
-//                .logout(LogoutConfigurer::permitAll);
-
-        http
-                .csrf(AbstractHttpConfigurer::disable)
-                .authorizeHttpRequests(auth -> auth
-                        .requestMatchers("/register", "/login", "/css/**", "/js/**").permitAll()
-                        .requestMatchers("/manager/**").hasAuthority("Manager")
-                        .requestMatchers("/driver/**").hasAuthority("Driver")
-                        .requestMatchers("/customer/**").hasAuthority("Customer")
-                        .anyRequest().authenticated()
-                )
-                .formLogin(login -> login
-                        .loginPage("/login")
-                        .defaultSuccessUrl("/home", true)
-                        .permitAll()
-                )
-                .logout(logout -> logout
-                        .logoutUrl("/logout")
-                        .logoutSuccessUrl("/login")
-                        .permitAll()
-                );
-
-        return http.build();
-    }
-
+     * @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
+     * //        http
+     * //                .authorizeHttpRequests(authorize -> authorize
+     * //                        .requestMatchers("/login","/register").permitAll()
+     * //                        .anyRequest().authenticated()
+     * //                )
+     * //                .formLogin(form -> form
+     * //                        .loginPage("/login")
+     * //                        .permitAll()
+     * //                )
+     * //                .logout(LogoutConfigurer::permitAll);
+     * <p>
+     * http
+     * .csrf(AbstractHttpConfigurer::disable)
+     * .authorizeHttpRequests(auth -> auth
+     * .requestMatchers("/register", "/login", "/css/**", "/js/**").permitAll()
+     * .requestMatchers("/manager/**").hasAuthority("Manager")
+     * .requestMatchers("/driver/**").hasAuthority("Driver")
+     * .requestMatchers("/customer/**").hasAuthority("Customer")
+     * .anyRequest().authenticated()
+     * )
+     * .formLogin(login -> login
+     * .loginPage("/login")
+     * .defaultSuccessUrl("/home", true)
+     * .permitAll()
+     * )
+     * .logout(logout -> logout
+     * .logoutUrl("/logout")
+     * .logoutSuccessUrl("/login")
+     * .permitAll()
+     * );
+     * <p>
+     * return http.build();
+     * }
      **/
-
 
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ArticleDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ArticleDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ArticleDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -5,13 +5,18 @@
 import lombok.NoArgsConstructor;
 
+import java.math.BigDecimal;
+
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
 public class ArticleDto {
-    Long id;
-    String name;
-    String manufacturer;
-    String category;
-    Integer weight;
-    String image;
+    private Long id;
+    private String name;
+    private String manufacturer;
+    private Long manufacturerId;
+    private BigDecimal price;
+    private String category;
+    private Long categoryId;
+    private Integer weight;
+    private String image;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ArticleUnitDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ArticleUnitDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ArticleUnitDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,7 +1,26 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
 
 @Data
+@AllArgsConstructor
+@NoArgsConstructor
 public class ArticleUnitDto {
+    private Long id;
+    private Date expiryDate;
+    private String serialNo;
+    private String batchNo;
+    private Date manufactureDate;
+    private Double costPrice;
+    private Long artId;
+    private String artName;
+    private Integer whId;
+    private String whRegion;
+    private String whCity;
+    private Long ordId;
+    private String customerEmail;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/CityDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/CityDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/CityDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,10 +1,15 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 @Data
+@AllArgsConstructor
+@NoArgsConstructor
 public class CityDto {
     private Long id;
     private String name;
+    private Integer regionId;
     private String regionName;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/CustomerDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/CustomerDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/CustomerDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,23 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
 public class CustomerDto {
+    private Long id;
+    private String name;
+    private String email;
+    private String phone;
+    private String edb;
+    private String compName;
+    private String address;
+    private LocalTime openTime;
+    private LocalTime closeTime;
+    private String repImage;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/CustomerWeekdayDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/CustomerWeekdayDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/CustomerWeekdayDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,18 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+import java.time.LocalTime;
+
+@Data
+@AllArgsConstructor
 public class CustomerWeekdayDto {
+    private Long id;
+    private Long customerId;
+    private String customerName;
+    private Short dayId;
+    private String dayName;
+    private LocalTime dayStartTime;
+    private LocalTime dayEndTime;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/DeliveryDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/DeliveryDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/DeliveryDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,27 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDate;
+import java.time.LocalTime;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
 public class DeliveryDto {
+    private Long id;
+    private LocalDate dateCreated;
+    private LocalDate deliveryDate;
+    private Integer delStartKm;
+    private Integer delEndKm;
+    private LocalTime delStartTime;
+    private LocalTime deliveryEndTime;
+    private Short dStatusId;
+    private String delStatus;
+    private Integer vehId;
+    private Long driverId;
+    private String driverName;
+    private String driverImg;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/DeliveryStatusDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/DeliveryStatusDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/DeliveryStatusDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,12 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+@Data
+@AllArgsConstructor
 public class DeliveryStatusDto {
+    private Short id;
+    private String statusName;
+    private String statusDescription;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/DriverDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/DriverDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/DriverDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,15 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+@Data
+@AllArgsConstructor
 public class DriverDto {
+    private Long id;
+    private String name;
+    private String email;
+    private String phone;
+    private String image;
+    private Integer vehId;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ManagerDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ManagerDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ManagerDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,17 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+@Data
+@AllArgsConstructor
 public class ManagerDto {
+    private Long id;
+    private String name;
+    private String email;
+    private String phone;
+    private String image;
+    private Integer whId;
+    private String whRegion;
+    private String whCity;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ManufacturerDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ManufacturerDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ManufacturerDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,14 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+@Data
+@AllArgsConstructor
 public class ManufacturerDto {
+    private Long id;
+    private String name;
+    private String address;
+    private String phone;
+    private String email;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/OrderStatusDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/OrderStatusDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/OrderStatusDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,12 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+@Data
+@AllArgsConstructor
 public class OrderStatusDto {
+    private Short id;
+    private String statusName;
+    private String statusDescription;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/OrdersDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/OrdersDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/OrdersDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,30 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
 public class OrdersDto {
+    private Long id;
+    private LocalDate ordDate;
+    private Integer ordSum;
+    private LocalDateTime orderFulfillmentDate;
+    private String ordComment;
+    private Short oStatusId;
+    private String statusName;
+    private Long customerId;
+    private String customerName;
+    private String customerPhone;
+    private String customerEmail;
+    private Long deliveryId;
+    private Long driverId;
+    private String driverName;
+    private String driverPhone;
+    private String driverEmail;
+    private Long pfId;
+    private String pfStatus;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/PriceDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/PriceDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/PriceDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,17 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
 public class PriceDto {
+    private Integer id;
+    private BigDecimal price;
+    private LocalDateTime dateEffective;
+    private Long artId;
+    private String artName;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ProFormaDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ProFormaDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ProFormaDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,21 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+import java.time.LocalDate;
+
+@Data
+@AllArgsConstructor
 public class ProFormaDto {
+    private Long id;
+    private LocalDate pfDeadline;
+    private LocalDate pfDateCreated;
+    private Short statusId;
+    private String statusName;
+    private Long ordId;
+    private Long customerId;
+    private String customerName;
+    private String customerEmail;
+    private String customerPhone;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ProFormaStatusDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ProFormaStatusDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/ProFormaStatusDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,12 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+@Data
+@AllArgsConstructor
 public class ProFormaStatusDto {
+    private Short id;
+    private String statusName;
+    private String statusDescription;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/RegionDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/RegionDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/RegionDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,7 +1,9 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
 import lombok.Data;
 
 @Data
+@AllArgsConstructor
 public class RegionDto {
     public Integer id;
Index: ckend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/UserDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/UserDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ 	(revision )
@@ -1,11 +1,0 @@
-package mk.ukim.finki.db.distributorapp.model.dto;
-
-import lombok.Data;
-
-@Data
-public class UserDto {
-    private Long id;
-    private String firstName;
-    private String lastName;
-    private String email;
-}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/UsersDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/UsersDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/UsersDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,16 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.Data;
+
+@Data
 public class UsersDto {
+    private Long id;
+    private String firstName;
+    private String lastName;
+    private String email;
+    private String phone;
+    private String image;
+    private Long cityId;
+    private String cityName;
+    private String regionName;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/VehicleDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/VehicleDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/VehicleDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,28 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+import java.time.LocalDate;
+
+@Data
+@AllArgsConstructor
 public class VehicleDto {
+    private Integer id;
+    private Integer carryWeight;
+    private Short serviceInterval;
+    private Integer kilometers;
+    private LocalDate lastServiceDate;
+    private Integer lastServiceKm;
+    private String plate;
+    private String vin;
+    private LocalDate registrationDate;
+    private Integer whId;
+    private String city;
+    private String region;
+    private Long driverId;
+    private String driverName;
+    private String driverEmail;
+    private String driverPhone;
+    private String driverImg;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/WarehouseDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/WarehouseDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/WarehouseDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,15 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+@Data
+@AllArgsConstructor
 public class WarehouseDto {
+    private Integer id;
+    private String address;
+    private Long cityId;
+    private String cityName;
+    private Integer regionId;
+    private String regionName;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/WeekdayDto.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/WeekdayDto.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/dto/WeekdayDto.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,11 @@
 package mk.ukim.finki.db.distributorapp.model.dto;
 
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+@Data
+@AllArgsConstructor
 public class WeekdayDto {
+    private Short id;
+    private String dayName;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Article.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Article.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Article.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -2,6 +2,4 @@
 
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.persistence.*;
 import lombok.Data;
@@ -16,35 +14,27 @@
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     @Column(name = "art_id", nullable = false)
-    @JsonProperty("articleId")
     private Long articleId;
 
     @Column(name = "art_name", nullable = false)
-    @JsonProperty("articleName")
     private String articleName;
 
     @Column(name = "art_weight", nullable = false)
-    @JsonProperty("articleWeight")
     private Integer articleWeight;
 
     @Column(name = "art_image", nullable = false)
-    @JsonProperty("articleImage")
     private String artImage;
 
     @ManyToOne
     @JoinColumn(name = "ctg_id", nullable = false)
-    @JsonProperty("category")
     private Category category;
 
     @ManyToOne
     @JoinColumn(name = "man_id", nullable = false)
-    @JsonProperty("manufacturer")
     private Manufacturer manufacturer;
 
     @OneToMany(mappedBy = "article")
-    @JsonIgnore
     private List<Price> prices;
 
     @OneToMany(mappedBy = "article")
-    @JsonIgnore
     private List<ArticleUnit> articleUnits;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/ArticleUnit.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/ArticleUnit.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/ArticleUnit.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,6 +1,4 @@
 package mk.ukim.finki.db.distributorapp.model.entities;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.persistence.*;
 import lombok.Data;
@@ -14,38 +12,29 @@
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @JsonProperty("unitId")
     private Long unitId;
 
     @Column(name = "unit_expiration_date", nullable = false)
-    @JsonProperty("unitExpirationDate")
     private Date unitExpirationDate;
 
     @Column(name = "unit_serial_number", nullable = false)
-    @JsonProperty("unitSerialNumber")
     private String unitSerialNumber;
 
     @Column(name = "unit_batch_number", nullable = false)
-    @JsonProperty("unitBatchNumber")
     private String unitBatchNumber;
 
     @Column(name = "unit_manufacture_date", nullable = false)
-    @JsonProperty("unitManufactureDate")
     private Date unitManufactureDate;
 
     @Column(name = "unit_cost_price", nullable = false)
-    @JsonProperty("unitCostPrice")
     private Double unitCostPrice;
 
     @ManyToOne
     @JoinColumn(name = "art_id", nullable = false)
-    @JsonIgnore
     private Article article;
 
     @ManyToOne
-    @JsonIgnore
     private Warehouse warehouse;
 
     @ManyToOne
-    @JsonIgnore
     private Orders order;
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Category.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Category.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Category.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,6 +1,4 @@
 package mk.ukim.finki.db.distributorapp.model.entities;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.persistence.*;
 import lombok.Data;
@@ -15,13 +13,10 @@
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     @Column(name = "ctg_id")
-    @JsonProperty("categoryId")
     private Long categoryId;
 
     @Column(name = "ctg_name", nullable = false)
-    @JsonProperty("categoryName")
     private String categoryName;
 
     @OneToMany(mappedBy = "category")
-    @JsonIgnore
     private List<Article> articles;
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/City.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/City.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/City.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -11,23 +11,23 @@
 @Table(name = "city")
 public class City {
-  @Id
-  @GeneratedValue(strategy = GenerationType.IDENTITY)
-  @Column(name = "city_id")
-  @JsonProperty("cityId")
-  private Long cityId;
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "city_id")
+    @JsonProperty("cityId")
+    private Long cityId;
 
-  @Column(name = "city_name", nullable = false)
-  @JsonProperty("cityName")
-  private String cityName;
+    @Column(name = "city_name", nullable = false)
+    @JsonProperty("cityName")
+    private String cityName;
 
-  @OneToMany(mappedBy = "city")
-  private List<Users> users;
+    @OneToMany(mappedBy = "city")
+    private List<Users> users;
 
-  @OneToOne(mappedBy = "city")
-  private Warehouse warehouse;
+    @OneToOne(mappedBy = "city")
+    private Warehouse warehouse;
 
-  @ManyToOne(fetch = FetchType.LAZY, optional = false)
-  @JoinColumn(name = "region_id", nullable = false)
-  private Region region;
+    @ManyToOne(fetch = FetchType.LAZY, optional = false)
+    @JoinColumn(name = "region_id", nullable = false)
+    private Region region;
 
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Customer.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Customer.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Customer.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -2,5 +2,8 @@
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import jakarta.persistence.*;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/CustomerWeekday.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/CustomerWeekday.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/CustomerWeekday.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,5 +1,4 @@
 package mk.ukim.finki.db.distributorapp.model.entities;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.persistence.*;
 import lombok.Getter;
@@ -16,5 +15,4 @@
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     @Column(name = "cust_day_id", nullable = false)
-    @JsonProperty("customerDayId")
     private Long customerDayId;
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Driver.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Driver.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Driver.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,5 +1,8 @@
 package mk.ukim.finki.db.distributorapp.model.entities;
 
-import jakarta.persistence.*;
+import jakarta.persistence.Entity;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.OneToOne;
+import jakarta.persistence.Table;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Manager.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Manager.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Manager.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,5 +1,8 @@
 package mk.ukim.finki.db.distributorapp.model.entities;
 
-import jakarta.persistence.*;
+import jakarta.persistence.Entity;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.OneToOne;
+import jakarta.persistence.Table;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Manufacturer.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Manufacturer.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Manufacturer.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,5 +1,4 @@
 package mk.ukim.finki.db.distributorapp.model.entities;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.persistence.*;
 import lombok.Data;
@@ -14,21 +13,16 @@
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     @Column(name = "man_id")
-    @JsonProperty("manufacturerId")
     private Long manufacturerId;
 
     @Column(name = "man_name", nullable = false)
-    @JsonProperty("manufacturerName")
     private String manufacturerName;
 
     @Column(name = "man_address", nullable = false)
-    @JsonProperty("manufacturerAddress")
     private String manufacturerAddress;
 
     @Column(name = "man_mobile", nullable = false)
-    @JsonProperty("manufacturerMobile")
     private String manufacturerMobile;
 
     @Column(name = "man_email", nullable = false)
-    @JsonProperty("manufacturerEmail")
     private String manufacturerEmail;
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Orders.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Orders.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Orders.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,5 +1,4 @@
 package mk.ukim.finki.db.distributorapp.model.entities;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.persistence.*;
 import lombok.Data;
@@ -16,25 +15,20 @@
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     @Column(name = "ord_id", nullable = false)
-    @JsonProperty("orderId")
     private Long orderId;
 
     @Column(name = "ord_date", nullable = false)
-    @JsonProperty("orderDate")
     private LocalDate orderDate;
 
     @Column(name = "ord_sum", nullable = false)
-    @JsonProperty("orderSum")
     private Integer orderSum;
 
     @Column(name = "ord_fulfillment_date")
-    @JsonProperty("orderFulfillmentDate")
     private LocalDateTime orderFulfillmentDate;
 
     @Column(name = "ord_comment")
-    @JsonProperty("orderComment")
     private String orderComment;
 
     @ManyToOne
-    @JoinColumn(name = "ord_status_id",nullable = false)
+    @JoinColumn(name = "ord_status_id", nullable = false)
     private OrderStatus orderStatus;
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Region.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Region.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Region.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -11,16 +11,16 @@
 @Table(name = "region")
 public class Region {
-  @Id
-  @GeneratedValue(strategy = GenerationType.IDENTITY)
-  @Column(name = "region_id", nullable = false)
-  @JsonProperty("regionId")
-  private Integer regionId;
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "region_id", nullable = false)
+    @JsonProperty("regionId")
+    private Integer regionId;
 
-  @Column(name = "region_name", nullable = false)
-  @JsonProperty("regionName")
-  private String regionName;
+    @Column(name = "region_name", nullable = false)
+    @JsonProperty("regionName")
+    private String regionName;
 
-  @OneToMany(mappedBy = "region")
-  private List<City> cities;
+    @OneToMany(mappedBy = "region")
+    private List<City> cities;
 
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Weekday.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Weekday.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Weekday.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,5 +1,4 @@
 package mk.ukim.finki.db.distributorapp.model.entities;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.persistence.*;
 import lombok.Getter;
@@ -16,9 +15,7 @@
     @Id
     @Column(name = "day_id", nullable = false)
-    @JsonProperty("weekdayId")
     private Short id;
 
     @Column(name = "day_name", nullable = false, length = 20)
-    @JsonProperty("dayName")
     private String dayName;
 
Index: ckend/src/main/java/mk/ukim/finki/db/distributorapp/model/mapper/CategoryMapper.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/mapper/CategoryMapper.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ 	(revision )
@@ -1,13 +1,0 @@
-package mk.ukim.finki.db.distributorapp.model.mapper;
-
-import mk.ukim.finki.db.distributorapp.model.dto.CategoryDto;
-import mk.ukim.finki.db.distributorapp.model.entities.Category;
-
-public class CategoryMapper {
-    private static CategoryDto toCategoryDto(Category category) {
-        CategoryDto categoryDto = new CategoryDto();
-        categoryDto.setId(category.getCategoryId());
-        categoryDto.setName(category.getCategoryName());
-        return categoryDto;
-    }
-}
Index: ckend/src/main/java/mk/ukim/finki/db/distributorapp/model/mapper/CityMapper.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/mapper/CityMapper.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ 	(revision )
@@ -1,13 +1,0 @@
-package mk.ukim.finki.db.distributorapp.model.mapper;
-
-import mk.ukim.finki.db.distributorapp.model.dto.CityDto;
-import mk.ukim.finki.db.distributorapp.model.entities.City;
-
-public class CityMapper {
-    public static CityDto toCityDto(City city) {
-        CityDto cityDto = new CityDto();
-        cityDto.setId(city.getCityId());
-        cityDto.setName(city.getCityName());
-        return cityDto;
-    }
-}
Index: ckend/src/main/java/mk/ukim/finki/db/distributorapp/model/mapper/RegionMapper.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/mapper/RegionMapper.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ 	(revision )
@@ -1,13 +1,0 @@
-package mk.ukim.finki.db.distributorapp.model.mapper;
-
-import mk.ukim.finki.db.distributorapp.model.dto.RegionDto;
-import mk.ukim.finki.db.distributorapp.model.entities.Region;
-
-public class RegionMapper {
-    public static RegionDto toRegionDto(Region region) {
-        RegionDto regionDto = new RegionDto();
-        regionDto.setId(region.getRegionId());
-        regionDto.setName(region.getRegionName());
-        return regionDto;
-    }
-}
Index: ckend/src/main/java/mk/ukim/finki/db/distributorapp/model/mapper/UserMapper.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/mapper/UserMapper.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ 	(revision )
@@ -1,15 +1,0 @@
-package mk.ukim.finki.db.distributorapp.model.mapper;
-
-import mk.ukim.finki.db.distributorapp.model.dto.UserDto;
-import mk.ukim.finki.db.distributorapp.model.entities.Users;
-
-public class UserMapper {
-    public static UserDto toUserDto(Users user) {
-        UserDto userDto = new UserDto();
-        userDto.setId(user.getUserId());
-        userDto.setFirstName(userDto.getFirstName());
-        userDto.setLastName(userDto.getLastName());
-        userDto.setEmail(userDto.getEmail());
-        return userDto;
-    }
-}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ArticleRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ArticleRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ArticleRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -43,5 +43,5 @@
                     "values (?1,?2,?3,?4,?5)"
     )
-    Optional<Article> create(
+    Integer create(
             @NonNull @Param("name") String name,
             @NonNull @Param("image") String image,
@@ -58,5 +58,5 @@
                     "where art_id=?1"
     )
-    Optional<Article> edit(
+    Integer edit(
             @NonNull @Param("id") Long id,
             @NonNull @Param("name") String name,
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ArticleUnitRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ArticleUnitRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ArticleUnitRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -47,5 +47,5 @@
                     "values (?1,?2,?3,?4,?5,?6,?7,?8)"
     )
-    Optional<ArticleUnit> create(
+    Integer create(
             @NonNull @Param("exp_date") Date unit_exp_date,
             @NonNull @Param("ser_no") String unit_ser_number,
@@ -66,5 +66,5 @@
                     "where unit_id=?1"
     )
-    Optional<ArticleUnit> edit(
+    Integer edit(
             @NonNull @Param("id") Long id,
             @NonNull @Param("exp_date") Date unit_exp_date,
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/CategoryRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/CategoryRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/CategoryRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -42,5 +42,5 @@
             nativeQuery = true
     )
-    Optional<Category> create(@NonNull @Param("name") String name);
+    Integer create(@NonNull @Param("name") String name);
 
     @Modifying
@@ -52,6 +52,6 @@
                     "where ctg_id=:id"
     )
-    Optional<Category> edit(@NonNull @Param("id") Long id,
-                            @NonNull @Param("name") String name);
+    Integer edit(@NonNull @Param("id") Long id,
+                 @NonNull @Param("name") String name);
 
     @Modifying
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/CityRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/CityRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/CityRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -44,5 +44,5 @@
                     "values (:name,:region)"
     )
-    Optional<City> create(
+    Integer create(
             @NonNull @Param("name") String name,
             @NonNull @Param("region") Integer region);
@@ -56,5 +56,5 @@
                     "where city_id=:id"
     )
-    Optional<City> edit(
+    Integer edit(
             @NonNull @Param("id") Long id,
             @NonNull @Param("name") String name,
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/CustomerRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/CustomerRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/CustomerRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -44,5 +44,5 @@
                     "values (:id,:edb,:name,:adr,:oTime,:cTime,:img)"
     )
-    Optional<Customer> create(
+    Integer create(
             @NonNull @Param("id") Long id,
             @NonNull @Param("edb") String customerEDB,
@@ -61,5 +61,5 @@
                     "where user_id=:id"
     )
-    Optional<Customer> edit(
+    Integer edit(
             @NonNull @Param("id") Long id,
             @NonNull @Param("edb") String customerEDB,
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/CustomerWeekdayRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/CustomerWeekdayRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/CustomerWeekdayRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,63 @@
+package mk.ukim.finki.db.distributorapp.repository;
+
+import mk.ukim.finki.db.distributorapp.model.entities.CustomerWeekday;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalTime;
+import java.util.List;
+
+public interface CustomerWeekdayRepository extends JpaRepository<CustomerWeekday, Long> {
+
+    @Query(
+            nativeQuery = true,
+            value = "select * from customer_weekday"
+    )
+    List<CustomerWeekday> listAll();
+
+    @Query(
+            nativeQuery = true,
+            value = "select * " +
+                    "from customer_weekday " +
+                    "where cust_id=?1"
+    )
+    List<CustomerWeekday> findByCustomerId(Long customerId);
+
+    @Modifying
+    @Transactional
+    @Query(
+            nativeQuery = true,
+            value = "insert into customer_weekday(cust_id, day_id, start_time, end_time) " +
+                    "values (?1,?2,?3,?4)"
+    )
+    Integer create(
+            Long userId,
+            Short weekdayId,
+            LocalTime startTime,
+            LocalTime endTime);
+
+    @Modifying
+    @Transactional
+    @Query(
+            nativeQuery = true,
+            value = "update customer_weekday " +
+                    "set cust_id=?2,day_id=?3,start_time=?4,end_time=?5 " +
+                    "where cust_day_id=?1"
+    )
+    Integer edit(
+            Long custDayId,
+            Long userId,
+            Short weekdayId,
+            LocalTime startTime,
+            LocalTime endTime);
+
+    @Modifying
+    @Transactional
+    @Query(
+            nativeQuery = true,
+            value = "delete from customer_weekday where cust_day_id=?1"
+    )
+    void deleteById(Long id);
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/DeliveryRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/DeliveryRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/DeliveryRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -50,5 +50,5 @@
                     "values (:dCreated,:dDel,:startKm,:endKm,:startT,:endT,:status,:veh)"
     )
-    Optional<Delivery> create(
+    Integer create(
             @NonNull @Param("dCreated") LocalDate del_date_created,
             @NonNull @Param("dDel") LocalDate del_date,
@@ -69,5 +69,5 @@
                     "where del_id=:id"
     )
-    Optional<Delivery> edit(
+    Integer edit(
             @NonNull @Param("id") Long id,
             @NonNull @Param("dCreated") LocalDate del_date_created,
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/DeliveryStatusRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/DeliveryStatusRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/DeliveryStatusRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -38,5 +38,5 @@
                     "values (?1,?2)"
     )
-    Optional<DeliveryStatus> create(@NonNull String name, @NonNull String description);
+    Integer create(@NonNull String name, @NonNull String description);
 
     @Modifying
@@ -48,5 +48,5 @@
                     "where del_status_id=?1"
     )
-    Optional<DeliveryStatus> edit(@NonNull Short id, @NonNull String name, @NonNull String description);
+    Integer edit(@NonNull Short id, @NonNull String name, @NonNull String description);
 
     @Modifying
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/DriverRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/DriverRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/DriverRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -39,5 +39,5 @@
                     "values (:id,:veh)"
     )
-    Optional<Driver> create(
+    Integer create(
             @NonNull @Param("id") Long usr_id,
             @NonNull @Param("veh") Integer veh_id);
@@ -51,5 +51,5 @@
                     "where user_id=:id"
     )
-    Optional<Driver> edit(
+    Integer edit(
             @NonNull @Param("id") Long usr_id,
             @NonNull @Param("veh") Integer veh_id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ManagerRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ManagerRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ManagerRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -39,5 +39,5 @@
                     "values (:id,:wh)"
     )
-    Optional<Manager> create(
+    Integer create(
             @NonNull @Param("id") Long id,
             @NonNull @Param("wh") Integer whId);
@@ -51,5 +51,5 @@
                     "where user_id=:id"
     )
-    Optional<Manager> edit(
+    Integer edit(
             @NonNull @Param("id") Long id,
             @NonNull @Param("wh") Integer whId);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ManufacturerRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ManufacturerRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ManufacturerRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -38,5 +38,5 @@
                     "values (:name,:adr,:mob,:email)"
     )
-    Optional<Manufacturer> create(
+    Integer create(
             @NonNull @Param("name") String name,
             @NonNull @Param("adr") String address,
@@ -52,5 +52,5 @@
                     "where man_id=:id"
     )
-    Optional<Manufacturer> edit(
+    Integer edit(
             @NonNull @Param("id") Long id,
             @NonNull @Param("name") String name,
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/OrderStatusRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/OrderStatusRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/OrderStatusRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -38,5 +38,5 @@
                     "values (?1,?2)"
     )
-    Optional<OrderStatus> create(@NonNull String name, @NonNull String description);
+    Integer create(@NonNull String name, @NonNull String description);
 
     @Modifying
@@ -48,5 +48,5 @@
                     "where ord_status_id=?1"
     )
-    Optional<OrderStatus> edit(@NonNull Short id, @NonNull String name, @NonNull String description);
+    Integer edit(@NonNull Short id, @NonNull String name, @NonNull String description);
 
     @Modifying
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/OrdersRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/OrdersRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/OrdersRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -40,5 +40,5 @@
                     "values (:date,:sum,:fulDate,:comment,:status,:cust,:del,:pf)"
     )
-    Optional<Orders> create(
+    Integer create(
             @NonNull @Param("date") LocalDate ord_date,
             @NonNull @Param("sum") Integer ord_sum,
@@ -59,5 +59,5 @@
                     "where ord_id=:id"
     )
-    Optional<Orders> edit(
+    Integer edit(
             @NonNull @Param("id") Long id,
             @NonNull @Param("date") LocalDate ord_date,
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/PriceRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/PriceRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/PriceRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -40,5 +40,5 @@
                     "values (:price,:effD,:art)"
     )
-    Optional<Price> create(
+    Integer create(
             @NonNull @Param("price") BigDecimal price,
             @NonNull @Param("effD") LocalDateTime price_eff_date,
@@ -53,5 +53,5 @@
                     "where price_id=:id"
     )
-    Optional<Price> edit(
+    Integer edit(
             @NonNull @Param("id") Integer id,
             @NonNull @Param("price") BigDecimal price,
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ProFormaRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ProFormaRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ProFormaRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -33,5 +33,5 @@
                     "values (:ddl,:createD,:status)"
     )
-    Optional<ProForma> create(
+    Integer create(
             @NonNull @Param("ddl") LocalDate pf_deadline,
             @NonNull @Param("createD") LocalDate pf_create_date,
@@ -46,5 +46,5 @@
                     "where pf_id=:id"
     )
-    Optional<ProForma> edit(
+    Integer edit(
             @NonNull @Param("id") Long pf_id,
             @NonNull @Param("ddl") LocalDate pf_deadline,
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ProFormaStatusRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ProFormaStatusRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/ProFormaStatusRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -38,5 +38,5 @@
                     "values (?1,?2)"
     )
-    Optional<ProFormaStatus> create(@NonNull String name, @NonNull String description);
+    Integer create(@NonNull String name, @NonNull String description);
 
     @Modifying
@@ -48,5 +48,5 @@
                     "where pf_status_id=?1"
     )
-    Optional<ProFormaStatus> edit(@NonNull Short id, @NonNull String name, @NonNull String description);
+    Integer edit(@NonNull Short id, @NonNull String name, @NonNull String description);
 
     @Modifying
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/RegionRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/RegionRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/RegionRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -43,5 +43,5 @@
                     "values (:name)"
     )
-    Optional<Region> create(
+    Integer create(
             @NonNull @Param("name") String name);
 
@@ -54,5 +54,5 @@
                     "where region_id=:id"
     )
-    Optional<Region> edit(
+    Integer edit(
             @NonNull @Param("id") Integer id,
             @NonNull @Param("name") String name);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/UsersRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/UsersRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/UsersRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -38,5 +38,5 @@
                     "values (:name,:sur,:pass,:salt,:email,:mob,:active,:img,:cty)"
     )
-    Users create(
+    Integer create(
             @NonNull @Param("name") String name,
             @NonNull @Param("sur") String surname,
@@ -57,5 +57,5 @@
                     "where user_id=:id"
     )
-    Optional<Users> edit(
+    Integer edit(
             @NonNull @Param("id") Long id,
             @NonNull @Param("name") String name,
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/VehicleRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/VehicleRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/VehicleRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -39,5 +39,5 @@
                     "values (:carryW,:serInterval,:vehKm,:lastSerD,:lastSerKm,:plate,:vin,:vehRegD,:wh)"
     )
-    Optional<Vehicle> create(
+    Integer create(
             @NonNull @Param("carryW") Integer vehicleCarryWeight,
             @NonNull @Param("serInterval") Short vehicleServiceInterval,
@@ -59,5 +59,5 @@
                     "where veh_id=:id"
     )
-    Optional<Vehicle> edit(
+    Integer edit(
             @NonNull @Param("id") Integer id,
             @NonNull @Param("carryW") Integer vehicleCarryWeight,
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/WarehouseRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/WarehouseRepository.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/WarehouseRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -38,5 +38,5 @@
                     "values (:adr,:cty)"
     )
-    Optional<Warehouse> create(
+    Integer create(
             @NonNull @Param("adr") String whAddress,
             @NonNull @Param("cty") Long city);
@@ -50,6 +50,6 @@
                     "where wh_id=:id"
     )
-    Optional<Warehouse> edit(
-            @NonNull @Param("id") Long id,
+    Integer edit(
+            @NonNull @Param("id") Integer id,
             @NonNull @Param("adr") String whAddress,
             @NonNull @Param("cty") Long city);
@@ -61,4 +61,4 @@
             value = "delete from warehouse where wh_id=:id"
     )
-    void delete(@NonNull @Param("id") Long id);
+    void delete(@NonNull @Param("id") Integer id);
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/WeekdayRepository.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/WeekdayRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/repository/WeekdayRepository.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,65 @@
+package mk.ukim.finki.db.distributorapp.repository;
+
+import lombok.NonNull;
+import mk.ukim.finki.db.distributorapp.model.entities.Weekday;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Optional;
+
+public interface WeekdayRepository extends JpaRepository<Weekday, Short> {
+
+    @Query(
+            nativeQuery = true,
+            value = "select * " +
+                    "from weekday"
+    )
+    List<Weekday> listAll();
+
+    @Query(
+            nativeQuery = true,
+            value = "select * " +
+                    "from weekday " +
+                    "where day_id=?1"
+    )
+    Optional<Weekday> findWeekdayById(@NonNull Short id);
+
+    @Query(
+            nativeQuery = true,
+            value = "select * " +
+                    "from weekday " +
+                    "where day_name like ?1"
+    )
+    Optional<Weekday> findWeekdayByName(@NonNull String dayName);
+
+    @Modifying
+    @Transactional
+    @Query(
+            nativeQuery = true,
+            value = "insert into weekday(day_id,day_name) " +
+                    "values (?1,?2)"
+    )
+    Integer create(@NonNull String dayName);
+
+    @Modifying
+    @Transactional
+    @Query(
+            nativeQuery = true,
+            value = "update weekday " +
+                    "set day_name=?2 " +
+                    "where day_id=?1"
+    )
+    Integer edit(@NonNull Short id, @NonNull String dayName);
+
+    @Modifying
+    @Transactional
+    @Query(
+            nativeQuery = true,
+            value = "delete from weekday " +
+                    "where day_id=?1"
+    )
+    void deleteById(@NonNull Short id);
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ArticleService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ArticleService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ArticleService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -2,25 +2,18 @@
 
 import mk.ukim.finki.db.distributorapp.model.dto.ArticleDto;
-import mk.ukim.finki.db.distributorapp.model.entities.Article;
-import mk.ukim.finki.db.distributorapp.model.entities.Category;
-import mk.ukim.finki.db.distributorapp.model.entities.Manufacturer;
 
 import java.util.List;
-import java.util.Optional;
 
 public interface ArticleService {
+    List<ArticleDto> getAllArticles();
 
-    List<Article> getAllArticles();
+    ArticleDto findById(Long id);
 
-    List<ArticleDto> getAllArticlesDto();
-
-    Optional<Article> findById(Long id);
-
-    List<Article> findAllByName(String name);
+    List<ArticleDto> findAllByName(String name);
 
     void deleteById(Long id);
 
-    Optional<Article> editById(Article article);
+    Integer editById(ArticleDto article);
 
-    Optional<Article> create(String name, String image, Integer weight, Category category, Manufacturer manufacturer);
+    Integer create(ArticleDto article);
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ArticleUnitService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ArticleUnitService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ArticleUnitService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,44 +1,21 @@
 package mk.ukim.finki.db.distributorapp.service;
 
-import mk.ukim.finki.db.distributorapp.model.entities.Article;
-import mk.ukim.finki.db.distributorapp.model.entities.ArticleUnit;
-import mk.ukim.finki.db.distributorapp.model.entities.Orders;
+import mk.ukim.finki.db.distributorapp.model.dto.ArticleUnitDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Warehouse;
 
-import java.util.Date;
 import java.util.List;
-import java.util.Optional;
 
 public interface ArticleUnitService {
-    List<ArticleUnit> getAllArticleUnits();
+    List<ArticleUnitDto> getAllArticleUnits();
 
-    List<ArticleUnit> findALlByName(String name);
+    List<ArticleUnitDto> findALlByName(String name);
 
-    List<ArticleUnit> findAllByWarehouse(Warehouse warehouse);
+    List<ArticleUnitDto> findAllByWarehouse(Warehouse warehouse);
 
-    Optional<ArticleUnit> findById(Long id);
+    ArticleUnitDto findById(Long id);
 
-    Optional<ArticleUnit> create(
-            Date unit_exp_date,
-            String unit_ser_number,
-            String unit_batch_number,
-            Date unit_manufacture_date,
-            Double unit_cost_price,
-            Article article,
-            Warehouse warehouse,
-            Orders order
-    );
+    Integer create(ArticleUnitDto articleUnitDto);
 
-    Optional<ArticleUnit> edit(
-            Long id,
-            Date unit_exp_date,
-            String unit_ser_number,
-            String unit_batch_number,
-            Date unit_manufacture_date,
-            Double unit_cost_price,
-            Article article,
-            Warehouse warehouse,
-            Orders order
-    );
+    Integer edit(ArticleUnitDto articleUnitDto);
 
     void delete(Long id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/CategoryService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/CategoryService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/CategoryService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -9,16 +9,14 @@
 public interface CategoryService {
 
-    List<Category> listCategories();
-
-    List<CategoryDto> listCategoriesDto();
+    List<CategoryDto> listCategories();
 
     Optional<Category> getCategoryById(Long id);
 
-    Optional<Category> createCategory(String name);
+    Integer create(CategoryDto categoryDto);
 
-    Optional<Category> updateCategory(Long id, String name);
+    Integer update(CategoryDto categoryDto);
 
     void delete(Long id);
 
-    List<Category> searchCategories(String text);
+    List<CategoryDto> searchCategories(String text);
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/CityService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/CityService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/CityService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,22 +1,20 @@
 package mk.ukim.finki.db.distributorapp.service;
 
-import mk.ukim.finki.db.distributorapp.model.entities.City;
-import mk.ukim.finki.db.distributorapp.model.entities.Region;
+import mk.ukim.finki.db.distributorapp.model.dto.CityDto;
 
 import java.util.List;
-import java.util.Optional;
 
 public interface CityService {
 
-    List<City> listCities();
+    List<CityDto> listCities();
 
-    Optional<City> getCityById(Long id);
+    CityDto getCityById(Long id);
 
-    Optional<City> create(String name, Region region);
+    Integer create(CityDto cityDto);
 
-    Optional<City> edit(Long id, String name, Region region);
+    Integer edit(CityDto cityDto);
 
     void delete(Long id);
 
-    List<City> searchCities(String text);
+    List<CityDto> searchCities(String text);
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/CustomerService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/CustomerService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/CustomerService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,23 +1,19 @@
 package mk.ukim.finki.db.distributorapp.service;
 
-import mk.ukim.finki.db.distributorapp.model.entities.Customer;
+import mk.ukim.finki.db.distributorapp.model.dto.CustomerDto;
 
-import java.time.LocalTime;
 import java.util.List;
-import java.util.Optional;
 
 public interface CustomerService {
 
-    List<Customer> findAllCustomers();
+    List<CustomerDto> findAllCustomers();
 
-    List<Customer> findCustomerByName(String name);
+    List<CustomerDto> findCustomerByName(String name);
 
-    Optional<Customer> findCustomerById(Long id);
+    CustomerDto findCustomerById(Long id);
 
-    Optional<Customer> create(Long userId, String customerEDB, String customerName,
-                              String customerStreet, LocalTime openTime, LocalTime closeTime, String customerImage);
+    Integer create(CustomerDto customerDto);
 
-    Optional<Customer> edit(Long id, String customerEDB, String customerName,
-                            String customerStreet, LocalTime openTime, LocalTime closeTime, String customerImage);
+    Integer edit(CustomerDto customerDto);
 
     void delete(Long id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/CustomerWeekdayService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/CustomerWeekdayService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/CustomerWeekdayService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,17 @@
+package mk.ukim.finki.db.distributorapp.service;
+
+import mk.ukim.finki.db.distributorapp.model.dto.CustomerWeekdayDto;
+
+import java.util.List;
+
+public interface CustomerWeekdayService {
+    List<CustomerWeekdayDto> getAllWeekdays();
+
+    List<CustomerWeekdayDto> getWeekdaysByCustomerId(Long customerId);
+
+    Integer create(CustomerWeekdayDto customerWeekdayDto);
+
+    Integer edit(CustomerWeekdayDto customerWeekdayDto);
+
+    void delete(Long customerWeekdayId);
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/DeliveryService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/DeliveryService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/DeliveryService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,45 +1,22 @@
 package mk.ukim.finki.db.distributorapp.service;
 
-import mk.ukim.finki.db.distributorapp.model.entities.Delivery;
+import mk.ukim.finki.db.distributorapp.model.dto.DeliveryDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Driver;
 import mk.ukim.finki.db.distributorapp.model.entities.Vehicle;
-import mk.ukim.finki.db.distributorapp.model.entities.DeliveryStatus;
 
-import java.time.LocalDate;
-import java.time.LocalTime;
 import java.util.List;
-import java.util.Optional;
 
 public interface DeliveryService {
-    List<Delivery> getAllDeliveries();
+    List<DeliveryDto> getAllDeliveries();
 
-    List<Delivery> getAllDeliveriesByVehicleId(Vehicle vehicle);
+    List<DeliveryDto> getAllDeliveriesByVehicleId(Vehicle vehicle);
 
-    List<Delivery> getAllDeliveriesByDriver(Driver driver);
+    List<DeliveryDto> getAllDeliveriesByDriver(Driver driver);
 
-    Optional<Delivery> findDeliveryById(Long id);
+    DeliveryDto findDeliveryById(Long id);
 
-    Optional<Delivery> create(
-            LocalDate del_date_created,
-            LocalDate del_date,
-            Integer del_start_km,
-            Integer del_end_km,
-            LocalTime del_start_time,
-            LocalTime del_end_time,
-            DeliveryStatus del_status,
-            Vehicle vehicle
-    );
+    Integer create(DeliveryDto deliveryDto);
 
-    Optional<Delivery> edit(
-            Long del_id,
-            LocalDate del_date_created,
-            LocalDate del_date,
-            Integer del_start_km,
-            Integer del_end_km,
-            LocalTime del_start_time,
-            LocalTime del_end_time,
-            DeliveryStatus del_status,
-            Vehicle vehicle
-    );
+    Integer edit(DeliveryDto deliveryDto);
 
     void delete(Long del_id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/DeliveryStatusService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/DeliveryStatusService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/DeliveryStatusService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,19 +1,18 @@
 package mk.ukim.finki.db.distributorapp.service;
 
-import mk.ukim.finki.db.distributorapp.model.entities.DeliveryStatus;
+import mk.ukim.finki.db.distributorapp.model.dto.DeliveryStatusDto;
 
 import java.util.List;
-import java.util.Optional;
 
 public interface DeliveryStatusService {
-    List<DeliveryStatus> listDeliveryStatus();
+    List<DeliveryStatusDto> listDeliveryStatus();
 
-    Optional<DeliveryStatus> getDeliveryStatusById(Short id);
+    DeliveryStatusDto getDeliveryStatusById(Short id);
 
-    Optional<DeliveryStatus> createDeliveryStatus(String name, String description);
+    Integer create(DeliveryStatusDto deliveryStatusDto);
 
-    Optional<DeliveryStatus> updateDeliveryStatus(Short id, String name, String description);
+    Integer edit(DeliveryStatusDto deliveryStatusDto);
 
-    List<DeliveryStatus> getDeliveryStatusByName(String name);
+    List<DeliveryStatusDto> getDeliveryStatusByName(String name);
 
     void delete(Short id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/DriverService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/DriverService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/DriverService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,20 +1,18 @@
 package mk.ukim.finki.db.distributorapp.service;
 
-import mk.ukim.finki.db.distributorapp.model.entities.Driver;
-import mk.ukim.finki.db.distributorapp.model.entities.Vehicle;
+import mk.ukim.finki.db.distributorapp.model.dto.DriverDto;
 
 import java.util.List;
-import java.util.Optional;
 
 public interface DriverService {
-    List<Driver> getAllDrivers();
+    List<DriverDto> getAllDrivers();
 
-    List<Driver> findAllByName(String name);
+    List<DriverDto> findAllByName(String name);
 
-    Optional<Driver> findById(Long id);
+    DriverDto findById(Long id);
 
-    Optional<Driver> create(Long id, Vehicle vehicle);
+    Integer create(DriverDto driverDto);
 
-    Optional<Driver> edit(Long id, Vehicle vehicle);
+    Integer edit(DriverDto driverDto);
 
     void delete(Long id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ManagerService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ManagerService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ManagerService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,18 +1,16 @@
 package mk.ukim.finki.db.distributorapp.service;
 
-import mk.ukim.finki.db.distributorapp.model.entities.Manager;
-import mk.ukim.finki.db.distributorapp.model.entities.Warehouse;
+import mk.ukim.finki.db.distributorapp.model.dto.ManagerDto;
 
 import java.util.List;
-import java.util.Optional;
 
 public interface ManagerService {
-    List<Manager> getAllManagers();
+    List<ManagerDto> getAllManagers();
 
-    Optional<Manager> getManagerById(int id);
+    ManagerDto getManagerById(int id);
 
-    Optional<Manager> createManager(Long id, Warehouse warehouse);
+    Integer create(ManagerDto managerDto);
 
-    Optional<Manager> updateManager(Manager manager, Warehouse warehouse);
+    Integer edit(ManagerDto managerDto);
 
     void deleteManagerById(Long id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ManufacturerService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ManufacturerService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ManufacturerService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,19 +1,18 @@
 package mk.ukim.finki.db.distributorapp.service;
 
-import mk.ukim.finki.db.distributorapp.model.entities.Manufacturer;
+import mk.ukim.finki.db.distributorapp.model.dto.ManufacturerDto;
 
 import java.util.List;
-import java.util.Optional;
 
 public interface ManufacturerService {
-    List<Manufacturer> getAllManufacturers();
+    List<ManufacturerDto> getAllManufacturers();
 
-    List<Manufacturer> findAllManufacturersByName(String name);
+    List<ManufacturerDto> findAllManufacturersByName(String name);
 
-    Optional<Manufacturer> findManufacturerById(Long id);
+    ManufacturerDto findManufacturerById(Long id);
 
-    Optional<Manufacturer> create(String name, String address, String mobile, String email);
+    Integer create(ManufacturerDto manufacturerDto);
 
-    Optional<Manufacturer> edit(Long id, String name, String address, String mobile, String email);
+    Integer edit(ManufacturerDto manufacturerDto);
 
     void delete(Long id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/OrderStatusService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/OrderStatusService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/OrderStatusService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,19 +1,18 @@
 package mk.ukim.finki.db.distributorapp.service;
 
-import mk.ukim.finki.db.distributorapp.model.entities.OrderStatus;
+import mk.ukim.finki.db.distributorapp.model.dto.OrderStatusDto;
 
 import java.util.List;
-import java.util.Optional;
 
 public interface OrderStatusService {
-    List<OrderStatus> listOrderStatus();
+    List<OrderStatusDto> listOrderStatus();
 
-    Optional<OrderStatus> getOrderStatusById(Short id);
+    OrderStatusDto  getOrderStatusById(Short id);
 
-    Optional<OrderStatus> createOrderStatus(String name, String description);
+    Integer create(OrderStatusDto orderStatusDto);
 
-    Optional<OrderStatus> updateOrderStatus(Short id, String name, String description);
+    Integer edit(OrderStatusDto orderStatusDto);
 
-    List<OrderStatus> getOrderStatusByName(String name);
+    List<OrderStatusDto> getOrderStatusByName(String name);
 
     void delete(Short id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/OrdersService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/OrdersService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/OrdersService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,44 +1,19 @@
 package mk.ukim.finki.db.distributorapp.service;
 
+import mk.ukim.finki.db.distributorapp.model.dto.OrdersDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Customer;
-import mk.ukim.finki.db.distributorapp.model.entities.Delivery;
-import mk.ukim.finki.db.distributorapp.model.entities.Orders;
-import mk.ukim.finki.db.distributorapp.model.entities.ProForma;
-import mk.ukim.finki.db.distributorapp.model.entities.OrderStatus;
 
-import java.time.LocalDate;
-import java.time.LocalDateTime;
 import java.util.List;
-import java.util.Optional;
 
 public interface OrdersService {
-    List<Orders> getAllOrders();
+    List<OrdersDto> getAllOrders();
 
-    List<Orders> findOrdersByCustomer(Customer customer);
+    List<OrdersDto> findOrdersByCustomer(Customer customer);
 
-    Optional<Orders> findById(Long id);
+    OrdersDto findById(Long id);
 
-    Optional<Orders> create(
-            LocalDate ord_date,
-            Integer ord_sum,
-            LocalDateTime ord_fulfillment_date,
-            String ord_comment,
-            OrderStatus ord_status,
-            Customer customer,
-            Delivery delivery,
-            ProForma proForma
-    );
+    Integer create(OrdersDto ordersDto);
 
-    Optional<Orders> edit(
-            Long id,
-            LocalDate ord_date,
-            Integer ord_sum,
-            LocalDateTime ord_fulfillment_date,
-            String ord_comment,
-            OrderStatus ord_status,
-            Customer customer,
-            Delivery delivery,
-            ProForma proForma
-    );
+    Integer edit(OrdersDto ordersDto);
 
     void deleteById(Long id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/PriceService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/PriceService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/PriceService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,20 +1,17 @@
 package mk.ukim.finki.db.distributorapp.service;
 
+import mk.ukim.finki.db.distributorapp.model.dto.PriceDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Article;
-import mk.ukim.finki.db.distributorapp.model.entities.Price;
 
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
 import java.util.List;
-import java.util.Optional;
 
 public interface PriceService {
-    List<Price> getAllPrices();
+    List<PriceDto> getAllPrices();
 
-    List<Price> findAllPricesByArticleId(Article article);
+    List<PriceDto> findAllPricesByArticleId(Article article);
 
-    Optional<Price> create(BigDecimal price, LocalDateTime price_eff_date, Article article);
+    Integer create(PriceDto priceDto);
 
-    Optional<Price> edit(Integer id, BigDecimal price, LocalDateTime price_eff_date, Article article);
+    Integer edit(PriceDto priceDto);
 
     void delete(Integer id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ProFormaService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ProFormaService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ProFormaService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,19 +1,16 @@
 package mk.ukim.finki.db.distributorapp.service;
 
-import mk.ukim.finki.db.distributorapp.model.entities.ProForma;
-import mk.ukim.finki.db.distributorapp.model.entities.ProFormaStatus;
+import mk.ukim.finki.db.distributorapp.model.dto.ProFormaDto;
 
-import java.time.LocalDate;
 import java.util.List;
-import java.util.Optional;
 
 public interface ProFormaService {
-    List<ProForma> getAllPro_Forma();
+    List<ProFormaDto> getAllPro_Forma();
 
-    Optional<ProForma> findProFormaById(Long id);
+    ProFormaDto findProFormaById(Long id);
 
-    Optional<ProForma> create(LocalDate pf_deadline, LocalDate pf_create_date, ProFormaStatus pf_status);
+    Integer create(ProFormaDto proFormaDto);
 
-    Optional<ProForma> edit(Long id, LocalDate pf_deadline, LocalDate pf_create_date, ProFormaStatus pf_status);
+    Integer edit(ProFormaDto proFormaDto);
 
     void delete(Long id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ProFormaStatusService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ProFormaStatusService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/ProFormaStatusService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,19 +1,18 @@
 package mk.ukim.finki.db.distributorapp.service;
 
-import mk.ukim.finki.db.distributorapp.model.entities.ProFormaStatus;
+import mk.ukim.finki.db.distributorapp.model.dto.ProFormaStatusDto;
 
 import java.util.List;
-import java.util.Optional;
 
 public interface ProFormaStatusService {
-    List<ProFormaStatus> listProFormaStatus();
+    List<ProFormaStatusDto> listProFormaStatus();
 
-    Optional<ProFormaStatus> getProFormaStatusById(Short id);
+    ProFormaStatusDto getProFormaStatusById(Short id);
 
-    Optional<ProFormaStatus> createProFormaStatus(String name, String description);
+    Integer create(ProFormaStatusDto proFormaStatusDto);
 
-    Optional<ProFormaStatus> updateProFormaStatus(Short id, String name, String description);
+    Integer edit (ProFormaStatusDto proFormaStatusDto );
 
-    List<ProFormaStatus> getProFormaStatusByName(String name);
+    List<ProFormaStatusDto> getProFormaStatusByName(String name);
 
     void delete(Short id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/RegionService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/RegionService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/RegionService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,20 +1,19 @@
 package mk.ukim.finki.db.distributorapp.service;
 
-import mk.ukim.finki.db.distributorapp.model.entities.Region;
+import mk.ukim.finki.db.distributorapp.model.dto.RegionDto;
 
 import java.util.List;
-import java.util.Optional;
 
 public interface RegionService {
 
-    List<Region> listRegions();
+    List<RegionDto> listRegions();
 
-    Optional<Region> getRegionById(Integer id);
+    RegionDto getRegionById(Integer id);
 
-    List<Region> searchRegions(String name);
+    List<RegionDto> searchRegions(String name);
 
-    Optional<Region> createRegion(String name);
+    Integer create(RegionDto regionDto );
 
-    Optional<Region> edit(Integer id, String name);
+    Integer edit(RegionDto regionDto);
 
     void delete(Integer id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/VehicleService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/VehicleService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/VehicleService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,24 +1,18 @@
 package mk.ukim.finki.db.distributorapp.service;
 
-import mk.ukim.finki.db.distributorapp.model.entities.Vehicle;
+import mk.ukim.finki.db.distributorapp.model.dto.VehicleDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Warehouse;
 
-import java.time.LocalDate;
 import java.util.List;
-import java.util.Optional;
 
 public interface VehicleService {
 
-    List<Vehicle> getAllVehicles();
+    List<VehicleDto> getAllVehicles();
 
-    List<Vehicle> getVehiclesByWarehouse(Warehouse warehouse);
+    List<VehicleDto> getVehiclesByWarehouse(Warehouse warehouse);
 
-    Optional<Vehicle> createVehicle(Integer vehicleCarryWeight, Short vehicleServiceInterval, Integer vehicleKilometers,
-                                    LocalDate vehicleLastService, Integer vehicleLastServiceKm, String vehiclePlate,
-                                    String vehicleVIN, LocalDate vehicleRegDate, Warehouse warehouse);
+    Integer create(VehicleDto vehicleDto);
 
-    Optional<Vehicle> updateVehicle(Integer id, Integer vehicleCarryWeight, Short vehicleServiceInterval, Integer vehicleKilometers,
-                                    LocalDate vehicleLastService, Integer vehicleLastServiceKm, String vehiclePlate,
-                                    String vehicleVIN, LocalDate vehicleRegDate, Warehouse warehouse);
+    Integer edit(VehicleDto vehicleDto);
 
     void deleteVehicleById(Integer id);
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/WarehouseService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/WarehouseService.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/WarehouseService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,21 +1,20 @@
 package mk.ukim.finki.db.distributorapp.service;
 
+import mk.ukim.finki.db.distributorapp.model.dto.WarehouseDto;
 import mk.ukim.finki.db.distributorapp.model.entities.City;
-import mk.ukim.finki.db.distributorapp.model.entities.Warehouse;
 
 import java.util.List;
-import java.util.Optional;
 
 public interface WarehouseService {
-    List<Warehouse> findAll();
+    List<WarehouseDto> findAll();
 
-    List<Warehouse> findAllByCity(City city);
+    List<WarehouseDto> findAllByCity(City city);
 
-    Optional<Warehouse> findById(Integer id);
+    WarehouseDto findById(Integer id);
 
-    Optional<Warehouse> create(String whAddress, City city);
+    Integer create(WarehouseDto warehouseDto);
 
-    Optional<Warehouse> edit(Long id, String whAddress, City city);
+    Integer edit(WarehouseDto warehouseDto);
 
-    Optional<Warehouse> delete(Integer id);
+    void delete(Integer id);
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/WeekdayService.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/WeekdayService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/WeekdayService.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,19 @@
+package mk.ukim.finki.db.distributorapp.service;
+
+import mk.ukim.finki.db.distributorapp.model.dto.WeekdayDto;
+
+import java.util.List;
+
+public interface WeekdayService {
+    List<WeekdayDto> getAllWeekdays();
+
+    WeekdayDto getWeekdayByName(String weekdayName);
+
+    WeekdayDto findWeekdayById(Short id);
+
+    Integer create(WeekdayDto weekdayDto);
+
+    Integer edit(WeekdayDto weekdayDto);
+
+    void delete(Short id);
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ArticleServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ArticleServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ArticleServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -3,6 +3,4 @@
 import mk.ukim.finki.db.distributorapp.model.dto.ArticleDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Article;
-import mk.ukim.finki.db.distributorapp.model.entities.Category;
-import mk.ukim.finki.db.distributorapp.model.entities.Manufacturer;
 import mk.ukim.finki.db.distributorapp.repository.ArticleRepository;
 import mk.ukim.finki.db.distributorapp.service.ArticleService;
@@ -10,5 +8,4 @@
 
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -21,16 +18,14 @@
 
     @Override
-    public List<Article> getAllArticles() {
-        return this.articleRepository.listAll();
-    }
-
-    @Override
-    public List<ArticleDto> getAllArticlesDto() {
+    public List<ArticleDto> getAllArticles() {
         List<Article> articles = this.articleRepository.listAll();
-        return articles.stream().map(art->new ArticleDto(
+        return articles.stream().map(art -> new ArticleDto(
                 art.getArticleId(),
                 art.getArticleName(),
                 art.getManufacturer().getManufacturerName(),
+                art.getManufacturer().getManufacturerId(),
+                art.getPrices().get(art.getPrices().size() - 1).getPrice(),
                 art.getCategory().getCategoryName(),
+                art.getCategory().getCategoryId(),
                 art.getArticleWeight(),
                 art.getArtImage()
@@ -39,11 +34,34 @@
 
     @Override
-    public Optional<Article> findById(Long id) {
-        return this.articleRepository.findById(id);
+    public ArticleDto findById(Long id) {
+        Article art = this.articleRepository.findById(id).get();
+        return new ArticleDto(
+                art.getArticleId(),
+                art.getArticleName(),
+                art.getManufacturer().getManufacturerName(),
+                art.getManufacturer().getManufacturerId(),
+                art.getPrices().get(art.getPrices().size() - 1).getPrice(),
+                art.getCategory().getCategoryName(),
+                art.getCategory().getCategoryId(),
+                art.getArticleWeight(),
+                art.getArtImage()
+        );
     }
 
     @Override
-    public List<Article> findAllByName(String name) {
-        return this.articleRepository.findAllByName(name);
+    public List<ArticleDto> findAllByName(String name) {
+        List<Article> articles = this.articleRepository.findAllByName("'" + name + "'");
+
+        return articles.stream().map(art -> new ArticleDto(
+                art.getArticleId(),
+                art.getArticleName(),
+                art.getManufacturer().getManufacturerName(),
+                art.getManufacturer().getManufacturerId(),
+                art.getPrices().get(art.getPrices().size() - 1).getPrice(),
+                art.getCategory().getCategoryName(),
+                art.getCategory().getCategoryId(),
+                art.getArticleWeight(),
+                art.getArtImage()
+        )).toList();
     }
 
@@ -54,22 +72,22 @@
 
     @Override
-    public Optional<Article> editById(Article article) {
+    public Integer editById(ArticleDto art) {
         return this.articleRepository.edit(
-                article.getArticleId(),
-                article.getArticleName(),
-                article.getArtImage(),
-                article.getArticleWeight(),
-                article.getCategory().getCategoryId(),
-                article.getManufacturer().getManufacturerId());
+                art.getId(),
+                art.getName(),
+                art.getImage(),
+                art.getWeight(),
+                art.getCategoryId(),
+                art.getManufacturerId());
     }
 
     @Override
-    public Optional<Article> create(String name, String image, Integer weight, Category category, Manufacturer manufacturer) {
+    public Integer create(ArticleDto art) {
         return this.articleRepository.create(
-                name,
-                image,
-                weight,
-                category.getCategoryId(),
-                manufacturer.getManufacturerId());
+                art.getName(),
+                art.getImage(),
+                art.getWeight(),
+                art.getCategoryId(),
+                art.getManufacturerId());
     }
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ArticleUnitServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ArticleUnitServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ArticleUnitServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,70 +1,116 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
-import mk.ukim.finki.db.distributorapp.model.entities.Article;
+import mk.ukim.finki.db.distributorapp.model.dto.ArticleUnitDto;
 import mk.ukim.finki.db.distributorapp.model.entities.ArticleUnit;
-import mk.ukim.finki.db.distributorapp.model.entities.Orders;
 import mk.ukim.finki.db.distributorapp.model.entities.Warehouse;
 import mk.ukim.finki.db.distributorapp.repository.ArticleUnitRepository;
+import mk.ukim.finki.db.distributorapp.repository.WarehouseRepository;
 import mk.ukim.finki.db.distributorapp.service.ArticleUnitService;
 import org.springframework.stereotype.Service;
 
-import java.util.Date;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
 public class ArticleUnitServiceImpl implements ArticleUnitService {
     private final ArticleUnitRepository articleUnitRepository;
+    private final WarehouseRepository warehouseRepository;
 
-    public ArticleUnitServiceImpl(ArticleUnitRepository articleUnitRepository) {
+    public ArticleUnitServiceImpl(ArticleUnitRepository articleUnitRepository, WarehouseRepository warehouseRepository) {
         this.articleUnitRepository = articleUnitRepository;
+        this.warehouseRepository = warehouseRepository;
+    }
+
+    private List<ArticleUnitDto> buildDto(List<ArticleUnit> articleUnits) {
+        List<ArticleUnitDto> res = new ArrayList<>();
+        for (ArticleUnit unit : articleUnits) {
+            Warehouse wh = this.warehouseRepository.findById(unit.getWarehouse().getWarehouseId()).get();
+            ArticleUnitDto dto = new ArticleUnitDto(
+                    unit.getUnitId(),
+                    unit.getUnitExpirationDate(),
+                    unit.getUnitSerialNumber(),
+                    unit.getUnitBatchNumber(),
+                    unit.getUnitManufactureDate(),
+                    unit.getUnitCostPrice(),
+                    unit.getArticle().getArticleId(),
+                    unit.getArticle().getArticleName(),
+                    wh.getWarehouseId(),
+                    wh.getCity().getRegion().getRegionName(),
+                    wh.getCity().getCityName(),
+                    unit.getOrder().getOrderId(),
+                    unit.getOrder().getCustomer().getUserEmail()
+            );
+            res.add(dto);
+        }
+        return res;
     }
 
     @Override
-    public List<ArticleUnit> getAllArticleUnits() {
-        return this.articleUnitRepository.listAll();
+    public List<ArticleUnitDto> getAllArticleUnits() {
+        List<ArticleUnit> articleUnits = this.articleUnitRepository.listAll();
+
+        return buildDto(articleUnits);
     }
 
     @Override
-    public List<ArticleUnit> findALlByName(String name) {
-        return this.articleUnitRepository.findAllByName(name);
+    public List<ArticleUnitDto> findALlByName(String name) {
+        List<ArticleUnit> articleUnits = this.articleUnitRepository.findAllByName("'" + name + "'");
+
+        return buildDto(articleUnits);
     }
 
     @Override
-    public List<ArticleUnit> findAllByWarehouse(Warehouse warehouse) {
-        return this.articleUnitRepository.findAllByWarehouse(warehouse.getWarehouseId());
+    public List<ArticleUnitDto> findAllByWarehouse(Warehouse warehouse) {
+        List<ArticleUnit> articleUnits = this.articleUnitRepository.findAllByWarehouse(warehouse.getWarehouseId());
+        return buildDto(articleUnits);
     }
 
     @Override
-    public Optional<ArticleUnit> findById(Long id) {
-        return this.articleUnitRepository.findById(id);
-    }
-
-    @Override
-    public Optional<ArticleUnit> create(Date unit_exp_date, String unit_ser_number, String unit_batch_number, Date unit_manufacture_date, Double unit_cost_price, Article article, Warehouse warehouse, Orders order) {
-        return this.articleUnitRepository.create(
-                unit_exp_date,
-                unit_ser_number,
-                unit_batch_number,
-                unit_manufacture_date,
-                unit_cost_price,
-                article.getArticleId(),
-                warehouse.getWarehouseId(),
-                order.getOrderId()
+    public ArticleUnitDto findById(Long id) {
+        ArticleUnit articleUnit = this.articleUnitRepository.findById(id).get();
+        Warehouse wh = this.warehouseRepository.findById(articleUnit.getWarehouse().getWarehouseId()).get();
+        return new ArticleUnitDto(
+                articleUnit.getUnitId(),
+                articleUnit.getUnitExpirationDate(),
+                articleUnit.getUnitSerialNumber(),
+                articleUnit.getUnitBatchNumber(),
+                articleUnit.getUnitManufactureDate(),
+                articleUnit.getUnitCostPrice(),
+                articleUnit.getArticle().getArticleId(),
+                articleUnit.getArticle().getArticleName(),
+                wh.getWarehouseId(),
+                wh.getCity().getRegion().getRegionName(),
+                wh.getCity().getCityName(),
+                articleUnit.getOrder().getOrderId(),
+                articleUnit.getOrder().getCustomer().getUserEmail()
         );
     }
 
     @Override
-    public Optional<ArticleUnit> edit(Long id, Date unit_exp_date, String unit_ser_number, String unit_batch_number, Date unit_manufacture_date, Double unit_cost_price, Article article, Warehouse warehouse, Orders order) {
+    public Integer create(ArticleUnitDto articleUnitDto) {
+        return this.articleUnitRepository.create(
+                articleUnitDto.getExpiryDate(),
+                articleUnitDto.getSerialNo(),
+                articleUnitDto.getBatchNo(),
+                articleUnitDto.getManufactureDate(),
+                articleUnitDto.getCostPrice(),
+                articleUnitDto.getArtId(),
+                articleUnitDto.getWhId(),
+                articleUnitDto.getOrdId()
+        );
+    }
+
+    @Override
+    public Integer edit(ArticleUnitDto articleUnitDto) {
         return this.articleUnitRepository.edit(
-                id,
-                unit_exp_date,
-                unit_ser_number,
-                unit_batch_number,
-                unit_manufacture_date,
-                unit_cost_price,
-                article.getArticleId(),
-                warehouse.getWarehouseId(),
-                order.getOrderId()
+                articleUnitDto.getId(),
+                articleUnitDto.getExpiryDate(),
+                articleUnitDto.getSerialNo(),
+                articleUnitDto.getBatchNo(),
+                articleUnitDto.getManufactureDate(),
+                articleUnitDto.getCostPrice(),
+                articleUnitDto.getArtId(),
+                articleUnitDto.getWhId(),
+                articleUnitDto.getOrdId()
         );
     }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/CategoryServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/CategoryServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/CategoryServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -7,4 +7,5 @@
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
@@ -19,4 +20,16 @@
     }
 
+    private List<CategoryDto> buildDto(List<Category> categories) {
+        List<CategoryDto> dtos = new ArrayList<>();
+        for (Category category : categories) {
+            CategoryDto dto = new CategoryDto(
+                    category.getCategoryId(),
+                    category.getCategoryName()
+            );
+            dtos.add(dto);
+        }
+        return dtos;
+    }
+
     private boolean categoryInvalid(String name) {
         return name == null || name.isEmpty();
@@ -24,15 +37,7 @@
 
     @Override
-    public List<Category> listCategories() {
-        return this.categoryRepository.listAll();
-    }
-
-    @Override
-    public List<CategoryDto> listCategoriesDto() {
+    public List<CategoryDto> listCategories() {
         List<Category> categories = this.categoryRepository.listAll();
-        return categories.stream().map(cat->new CategoryDto(
-                cat.getCategoryId(),
-                cat.getCategoryName()
-        )).toList();
+        return buildDto(categories);
     }
 
@@ -43,14 +48,11 @@
 
     @Override
-    public Optional<Category> createCategory(String name) {
-        if (categoryInvalid(name)) {
-            throw new IllegalArgumentException();
-        }
-        return this.categoryRepository.create(name);
+    public Integer create(CategoryDto categoryDto) {
+        return this.categoryRepository.create(categoryDto.getName());
     }
 
     @Override
-    public Optional<Category> updateCategory(Long id, String name) {
-        return this.categoryRepository.edit(id, name);
+    public Integer update(CategoryDto categoryDto) {
+        return this.categoryRepository.edit(categoryDto.getId(), categoryDto.getName());
     }
 
@@ -61,6 +63,7 @@
 
     @Override
-    public List<Category> searchCategories(String text) {
-        return List.of();
+    public List<CategoryDto> searchCategories(String text) {
+        List<Category> categories = this.categoryRepository.findAllByName("'"+text+"'");
+        return buildDto(categories);
     }
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/CityServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/CityServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/CityServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,12 +1,12 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.CityDto;
 import mk.ukim.finki.db.distributorapp.model.entities.City;
-import mk.ukim.finki.db.distributorapp.model.entities.Region;
 import mk.ukim.finki.db.distributorapp.repository.CityRepository;
 import mk.ukim.finki.db.distributorapp.service.CityService;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -18,22 +18,44 @@
     }
 
-    @Override
-    public List<City> listCities() {
-        return this.cityRepository.listAll();
+    private List<CityDto> buildDto(List<City> cities) {
+        List<CityDto> dtos = new ArrayList<>();
+        for (City city : cities) {
+            CityDto dto = new CityDto(
+                    city.getCityId(),
+                    city.getCityName(),
+                    city.getRegion().getRegionId(),
+                    city.getRegion().getRegionName()
+            );
+            dtos.add(dto);
+        }
+        return dtos;
     }
 
     @Override
-    public Optional<City> getCityById(Long id) {
-        return this.cityRepository.findById(id);
+    public List<CityDto> listCities() {
+        List<City> cities = cityRepository.listAll();
+        return buildDto(cities);
     }
 
     @Override
-    public Optional<City> create(String name, Region region) {
-        return this.cityRepository.create(name, region.getRegionId());
+    public CityDto getCityById(Long id) {
+        City city = cityRepository.findById(id).orElse(null);
+
+        return new CityDto(
+                city.getCityId(),
+                city.getCityName(),
+                city.getRegion().getRegionId(),
+                city.getRegion().getRegionName()
+        );
     }
 
     @Override
-    public Optional<City> edit(Long id, String name, Region region) {
-        return this.cityRepository.edit(id, name, region.getRegionId());
+    public Integer create(CityDto dto) {
+        return this.cityRepository.create(dto.getName(), dto.getRegionId());
+    }
+
+    @Override
+    public Integer edit(CityDto dto) {
+        return this.cityRepository.edit(dto.getId(), dto.getName(), dto.getRegionId());
     }
 
@@ -44,6 +66,7 @@
 
     @Override
-    public List<City> searchCities(String text) {
-        return this.cityRepository.findByName(text);
+    public List<CityDto> searchCities(String text) {
+        List<City> cities = this.cityRepository.findByName("'" + text + "'");
+        return buildDto(cities);
     }
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/CustomerServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/CustomerServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/CustomerServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,5 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.CustomerDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Customer;
 import mk.ukim.finki.db.distributorapp.repository.CustomerRepository;
@@ -6,7 +7,6 @@
 import org.springframework.stereotype.Service;
 
-import java.time.LocalTime;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -19,27 +19,75 @@
     }
 
-    @Override
-    public List<Customer> findAllCustomers() {
-        return this.customerRepository.findAll();
+    private List<CustomerDto> buildDto(List<Customer> customers) {
+        List<CustomerDto> dtos = new ArrayList<>();
+        for (Customer customer : customers) {
+            CustomerDto dto = new CustomerDto(
+                    customer.getUserId(),
+                    customer.getUsername(),
+                    customer.getUserEmail(),
+                    customer.getUserMobile(),
+                    customer.getCustomerEDB(),
+                    customer.getCustomerCompanyName(),
+                    customer.getCustomerAddress(),
+                    customer.getCustomerOpenTime(),
+                    customer.getCustomerCloseTime(),
+                    customer.getCustomerRepresentativeImage()
+            );
+            dtos.add(dto);
+        }
+        return dtos;
     }
 
     @Override
-    public List<Customer> findCustomerByName(String name) {
-        return this.customerRepository.findAllByName(name);
+    public List<CustomerDto> findAllCustomers() {
+        List<Customer> customers = this.customerRepository.findAll();
+        return buildDto(customers);
     }
 
     @Override
-    public Optional<Customer> findCustomerById(Long id) {
-        return this.customerRepository.findById(id);
+    public List<CustomerDto> findCustomerByName(String name) {
+        List<Customer> customers = this.customerRepository.findAllByName(name);
+        return buildDto(customers);
     }
 
     @Override
-    public Optional<Customer> create(Long userId, String customerEDB, String customerName, String customerStreet, LocalTime openTime, LocalTime closeTime, String customerImage) {
-        return this.customerRepository.create(userId,customerEDB, customerName, customerStreet, openTime, closeTime, customerImage);
+    public CustomerDto findCustomerById(Long id) {
+        Customer customer = this.customerRepository.findById(id).get();
+        return new CustomerDto(
+                customer.getUserId(),
+                customer.getUsername(),
+                customer.getUserEmail(),
+                customer.getUserMobile(),
+                customer.getCustomerEDB(),
+                customer.getCustomerCompanyName(),
+                customer.getCustomerAddress(),
+                customer.getCustomerOpenTime(),
+                customer.getCustomerCloseTime(),
+                customer.getCustomerRepresentativeImage()
+        );
     }
 
     @Override
-    public Optional<Customer> edit(Long id, String customerEDB, String customerName, String customerStreet, LocalTime openTime, LocalTime closeTime, String customerImage) {
-        return this.customerRepository.edit(id, customerEDB, customerName, customerStreet, openTime, closeTime, customerImage);
+    public Integer create(CustomerDto customerDto) {
+        return this.customerRepository.create(
+                customerDto.getId(),
+                customerDto.getEdb(),
+                customerDto.getCompName(),
+                customerDto.getAddress(),
+                customerDto.getOpenTime(),
+                customerDto.getCloseTime(),
+                customerDto.getRepImage());
+    }
+
+    @Override
+    public Integer edit(CustomerDto customerDto) {
+        return this.customerRepository.edit(
+                customerDto.getId(),
+                customerDto.getEdb(),
+                customerDto.getCompName(),
+                customerDto.getAddress(),
+                customerDto.getOpenTime(),
+                customerDto.getCloseTime(),
+                customerDto.getRepImage());
     }
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/CustomerWeekdayServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/CustomerWeekdayServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/CustomerWeekdayServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,72 @@
+package mk.ukim.finki.db.distributorapp.service.impl;
+
+import mk.ukim.finki.db.distributorapp.model.dto.CustomerWeekdayDto;
+import mk.ukim.finki.db.distributorapp.model.entities.CustomerWeekday;
+import mk.ukim.finki.db.distributorapp.repository.CustomerWeekdayRepository;
+import mk.ukim.finki.db.distributorapp.service.CustomerWeekdayService;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class CustomerWeekdayServiceImpl implements CustomerWeekdayService {
+    private final CustomerWeekdayRepository customerWeekdayRepository;
+
+    public CustomerWeekdayServiceImpl(CustomerWeekdayRepository customerWeekdayRepository) {
+        this.customerWeekdayRepository = customerWeekdayRepository;
+    }
+
+    private List<CustomerWeekdayDto> buildDto(List<CustomerWeekday> customerWeekdays) {
+        List<CustomerWeekdayDto> dtos = new ArrayList<>();
+        for (CustomerWeekday customerWeekday : customerWeekdays) {
+            CustomerWeekdayDto dto = new CustomerWeekdayDto(
+                    customerWeekday.getCustomerDayId(),
+                    customerWeekday.getCustomer().getUserId(),
+                    customerWeekday.getCustomer().getCustomerCompanyName(),
+                    customerWeekday.getDay().getId(),
+                    customerWeekday.getDay().getDayName(),
+                    customerWeekday.getCustomerDayStartTime(),
+                    customerWeekday.getCustomerDayEndTime()
+            );
+            dtos.add(dto);
+        }
+        return dtos;
+    }
+
+    @Override
+    public List<CustomerWeekdayDto> getAllWeekdays() {
+        List<CustomerWeekday> customerWeekdays = customerWeekdayRepository.listAll();
+        return buildDto(customerWeekdays);
+    }
+
+    @Override
+    public List<CustomerWeekdayDto> getWeekdaysByCustomerId(Long customerId) {
+        List<CustomerWeekday> customerWeekdays = this.customerWeekdayRepository.findByCustomerId(customerId);
+        return buildDto(customerWeekdays);
+    }
+
+    @Override
+    public Integer create(CustomerWeekdayDto customerWeekdayDto) {
+        return this.customerWeekdayRepository.create(
+                customerWeekdayDto.getCustomerId(),
+                customerWeekdayDto.getDayId(),
+                customerWeekdayDto.getDayStartTime(),
+                customerWeekdayDto.getDayEndTime()
+        );
+    }
+
+    @Override
+    public Integer edit(CustomerWeekdayDto customerWeekdayDto) {
+        return this.customerWeekdayRepository.edit(
+                customerWeekdayDto.getCustomerId(),
+                customerWeekdayDto.getCustomerId(),
+                customerWeekdayDto.getDayId(),
+                customerWeekdayDto.getDayStartTime(),
+                customerWeekdayDto.getDayEndTime()
+        );
+    }
+
+    @Override
+    public void delete(Long customerWeekdayId) {
+        this.customerWeekdayRepository.deleteById(customerWeekdayId);
+    }
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/DeliveryServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/DeliveryServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/DeliveryServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,8 +1,9 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.DeliveryDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Delivery;
+import mk.ukim.finki.db.distributorapp.model.entities.DeliveryStatus;
 import mk.ukim.finki.db.distributorapp.model.entities.Driver;
 import mk.ukim.finki.db.distributorapp.model.entities.Vehicle;
-import mk.ukim.finki.db.distributorapp.model.entities.DeliveryStatus;
 import mk.ukim.finki.db.distributorapp.repository.DeliveryRepository;
 import mk.ukim.finki.db.distributorapp.service.DeliveryService;
@@ -11,4 +12,5 @@
 import java.time.LocalDate;
 import java.time.LocalTime;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
@@ -22,50 +24,91 @@
     }
 
-    @Override
-    public List<Delivery> getAllDeliveries() {
-        return this.deliveryRepository.listAll();
+    private List<DeliveryDto> buildDto(List<Delivery> deliveries) {
+        List<DeliveryDto> dtos = new ArrayList<>();
+        for (Delivery del : deliveries) {
+            DeliveryDto dto = new DeliveryDto(
+                    del.getDeliveryId(),
+                    del.getDeliveryDateCreated(),
+                    del.getDeliveryDate(),
+                    del.getDeliveryStartKm(),
+                    del.getDeliveryEndKm(),
+                    del.getDeliveryStartTime(),
+                    del.getDeliveryEndTime(),
+                    del.getDeliveryStatus().getDeliveryStatusId(),
+                    del.getDeliveryStatus().getDeliveryStatusName(),
+                    del.getVehicle().getVehicleId(),
+                    del.getVehicle().getDriver().getUserId(),
+                    del.getVehicle().getDriver().getUsername(),
+                    del.getVehicle().getDriver().getUserImage()
+            );
+            dtos.add(dto);
+        }
+        return dtos;
     }
 
     @Override
-    public List<Delivery> getAllDeliveriesByVehicleId(Vehicle vehicle) {
-        return this.deliveryRepository.findAllByVehicle(vehicle.getVehicleId());
+    public List<DeliveryDto> getAllDeliveries() {
+        List<Delivery> deliveries = this.deliveryRepository.listAll();
+        return buildDto(deliveries);
     }
 
     @Override
-    public List<Delivery> getAllDeliveriesByDriver(Driver driver) {
-        return this.deliveryRepository.findDeliveriesByDriver(driver.getUserId());
+    public List<DeliveryDto> getAllDeliveriesByVehicleId(Vehicle vehicle) {
+        List<Delivery> deliveries = this.deliveryRepository.findAllByVehicle(vehicle.getVehicleId());
+        return buildDto(deliveries);
     }
 
     @Override
-    public Optional<Delivery> findDeliveryById(Long id) {
-        return this.deliveryRepository.findById(id);
+    public List<DeliveryDto> getAllDeliveriesByDriver(Driver driver) {
+        List<Delivery> deliveries = this.deliveryRepository.findDeliveriesByDriver(driver.getUserId());
+        return buildDto(deliveries);
     }
 
     @Override
-    public Optional<Delivery> create(LocalDate del_date_created, LocalDate del_date, Integer del_start_km, Integer del_end_km, LocalTime del_start_time, LocalTime del_end_time, DeliveryStatus del_status, Vehicle vehicle) {
-        return this.deliveryRepository.create(
-                del_date_created,
-                del_date,
-                del_start_km,
-                del_end_km,
-                del_start_time,
-                del_end_time,
-                del_status.getDeliveryStatusId(),
-                vehicle.getVehicleId()
+    public DeliveryDto findDeliveryById(Long id) {
+        Delivery del = this.deliveryRepository.findById(id).get();
+        return new DeliveryDto(
+                del.getDeliveryId(),
+                del.getDeliveryDateCreated(),
+                del.getDeliveryDate(),
+                del.getDeliveryStartKm(),
+                del.getDeliveryEndKm(),
+                del.getDeliveryStartTime(),
+                del.getDeliveryEndTime(),
+                del.getDeliveryStatus().getDeliveryStatusId(),
+                del.getDeliveryStatus().getDeliveryStatusName(),
+                del.getVehicle().getVehicleId(),
+                del.getVehicle().getDriver().getUserId(),
+                del.getVehicle().getDriver().getUsername(),
+                del.getVehicle().getDriver().getUserImage()
         );
     }
 
     @Override
-    public Optional<Delivery> edit(Long del_id, LocalDate del_date_created, LocalDate del_date, Integer del_start_km, Integer del_end_km, LocalTime del_start_time, LocalTime del_end_time, DeliveryStatus del_status, Vehicle vehicle) {
+    public Integer create(DeliveryDto deliveryDto) {
+        return this.deliveryRepository.create(
+                deliveryDto.getDateCreated(),
+                deliveryDto.getDeliveryDate(),
+                deliveryDto.getDelStartKm(),
+                deliveryDto.getDelEndKm(),
+                deliveryDto.getDelStartTime(),
+                deliveryDto.getDeliveryEndTime(),
+                deliveryDto.getDStatusId(),
+                deliveryDto.getVehId()
+        );
+    }
+
+    @Override
+    public Integer edit(DeliveryDto deliveryDto) {
         return this.deliveryRepository.edit(
-                del_id,
-                del_date_created,
-                del_date,
-                del_start_km,
-                del_end_km,
-                del_start_time,
-                del_end_time,
-                del_status.getDeliveryStatusId(),
-                vehicle.getVehicleId()
+                deliveryDto.getId(),
+                deliveryDto.getDateCreated(),
+                deliveryDto.getDeliveryDate(),
+                deliveryDto.getDelStartKm(),
+                deliveryDto.getDelEndKm(),
+                deliveryDto.getDelStartTime(),
+                deliveryDto.getDeliveryEndTime(),
+                deliveryDto.getDStatusId(),
+                deliveryDto.getVehId()
         );
     }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/DeliveryStatusServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/DeliveryStatusServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/DeliveryStatusServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,5 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.DeliveryStatusDto;
 import mk.ukim.finki.db.distributorapp.model.entities.DeliveryStatus;
 import mk.ukim.finki.db.distributorapp.repository.DeliveryStatusRepository;
@@ -6,6 +7,6 @@
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -17,27 +18,52 @@
     }
 
-    @Override
-    public List<DeliveryStatus> listDeliveryStatus() {
-        return this.deliveryStatusRepository.findAll();
+    private List<DeliveryStatusDto> buildDto(List<DeliveryStatus> deliveryStatuses) {
+        List<DeliveryStatusDto> dtos = new ArrayList<>();
+        for (DeliveryStatus deliveryStatus : deliveryStatuses) {
+            DeliveryStatusDto dto = new DeliveryStatusDto(
+                    deliveryStatus.getDeliveryStatusId(),
+                    deliveryStatus.getDeliveryStatusName(),
+                    deliveryStatus.getDeliveryStatusDescription()
+            );
+            dtos.add(dto);
+        }
+        return dtos;
     }
 
     @Override
-    public Optional<DeliveryStatus> getDeliveryStatusById(Short id) {
-        return this.deliveryStatusRepository.findById(id);
+    public List<DeliveryStatusDto> listDeliveryStatus() {
+        List<DeliveryStatus> deliveryStatuses = this.deliveryStatusRepository.findAll();
+        return buildDto(deliveryStatuses);
     }
 
     @Override
-    public Optional<DeliveryStatus> createDeliveryStatus(String name, String description) {
-        return this.deliveryStatusRepository.create(name, description);
+    public DeliveryStatusDto getDeliveryStatusById(Short id) {
+        DeliveryStatus deliveryStatus = this.deliveryStatusRepository.findById(id).get();
+        return new DeliveryStatusDto(
+                deliveryStatus.getDeliveryStatusId(),
+                deliveryStatus.getDeliveryStatusName(),
+                deliveryStatus.getDeliveryStatusDescription()
+        );
     }
 
     @Override
-    public Optional<DeliveryStatus> updateDeliveryStatus(Short id, String name, String description) {
-        return this.deliveryStatusRepository.edit(id, name, description);
+    public Integer create(DeliveryStatusDto deliveryStatusDto) {
+        return this.deliveryStatusRepository.create(
+                deliveryStatusDto.getStatusName(),
+                deliveryStatusDto.getStatusDescription());
     }
 
     @Override
-    public List<DeliveryStatus> getDeliveryStatusByName(String name) {
-        return this.deliveryStatusRepository.findAllByName(name);
+    public Integer edit(DeliveryStatusDto deliveryStatusDto) {
+        return this.deliveryStatusRepository.edit(
+                deliveryStatusDto.getId(),
+                deliveryStatusDto.getStatusName(),
+                deliveryStatusDto.getStatusDescription());
+    }
+
+    @Override
+    public List<DeliveryStatusDto> getDeliveryStatusByName(String name) {
+        List<DeliveryStatus> deliveryStatuses = this.deliveryStatusRepository.findAllByName(name);
+        return buildDto(deliveryStatuses);
     }
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/DriverServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/DriverServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/DriverServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,12 +1,12 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.DriverDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Driver;
-import mk.ukim.finki.db.distributorapp.model.entities.Vehicle;
 import mk.ukim.finki.db.distributorapp.repository.DriverRepository;
 import mk.ukim.finki.db.distributorapp.service.DriverService;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -18,27 +18,58 @@
     }
 
-    @Override
-    public List<Driver> getAllDrivers() {
-        return this.driverRepository.listAll();
+    private List<DriverDto> buildDto(List<Driver> drivers) {
+        List<DriverDto> dtos = new ArrayList<>();
+        for (Driver driver : drivers) {
+            DriverDto dto = new DriverDto(
+                    driver.getUserId(),
+                    driver.getUsername(),
+                    driver.getUserEmail(),
+                    driver.getUserMobile(),
+                    driver.getUserImage(),
+                    driver.getVehicle().getVehicleId()
+            );
+            dtos.add(dto);
+        }
+        return dtos;
     }
 
     @Override
-    public List<Driver> findAllByName(String name) {
-        return this.driverRepository.findAllByName(name);
+    public List<DriverDto> getAllDrivers() {
+        List<Driver> drivers = this.driverRepository.listAll();
+        return buildDto(drivers);
     }
 
     @Override
-    public Optional<Driver> findById(Long id) {
-        return this.driverRepository.findById(id);
+    public List<DriverDto> findAllByName(String name) {
+        List<Driver> drivers = this.driverRepository.findAllByName("'"+name+"'");
+        return buildDto(drivers);
     }
 
     @Override
-    public Optional<Driver> create(Long id, Vehicle vehicle) {
-        return this.driverRepository.create(id, vehicle.getVehicleId());
+    public DriverDto findById(Long id) {
+        Driver driver = this.driverRepository.findById(id).get();
+        return new DriverDto(
+                driver.getUserId(),
+                driver.getUsername(),
+                driver.getUserEmail(),
+                driver.getUserMobile(),
+                driver.getUserImage(),
+                driver.getVehicle().getVehicleId()
+        );
     }
 
     @Override
-    public Optional<Driver> edit(Long id, Vehicle vehicle) {
-        return this.driverRepository.edit(id, vehicle.getVehicleId());
+    public Integer create(DriverDto driverDto) {
+        return this.driverRepository.create(
+                driverDto.getId(),
+                driverDto.getVehId());
+    }
+
+    @Override
+    public Integer edit(DriverDto driverDto) {
+        return this.driverRepository.edit(
+                driverDto.getId(),
+                driverDto.getVehId()
+        );
     }
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ManagerServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ManagerServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ManagerServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,12 +1,12 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.ManagerDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Manager;
-import mk.ukim.finki.db.distributorapp.model.entities.Warehouse;
 import mk.ukim.finki.db.distributorapp.repository.ManagerRepository;
 import mk.ukim.finki.db.distributorapp.service.ManagerService;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -18,22 +18,56 @@
     }
 
-    @Override
-    public List<Manager> getAllManagers() {
-        return this.managerRepository.findAll();
+    private List<ManagerDto> buildDto(List<Manager> managers) {
+        List<ManagerDto> dtos = new ArrayList<>();
+        for (Manager manager : managers) {
+            ManagerDto dto = new ManagerDto(
+                    manager.getUserId(),
+                    manager.getUsername(),
+                    manager.getUserEmail(),
+                    manager.getUserMobile(),
+                    manager.getUserImage(),
+                    manager.getWarehouse().getWarehouseId(),
+                    manager.getWarehouse().getCity().getRegion().getRegionName(),
+                    manager.getWarehouse().getCity().getCityName()
+            );
+            dtos.add(dto);
+        }
+        return dtos;
     }
 
     @Override
-    public Optional<Manager> getManagerById(int id) {
-        return this.managerRepository.findById(id);
+    public List<ManagerDto> getAllManagers() {
+        List<Manager> managers = this.managerRepository.findAll();
+        return buildDto(managers);
     }
 
     @Override
-    public Optional<Manager> createManager(Long id, Warehouse warehouse) {
-        return this.managerRepository.create(id, warehouse.getWarehouseId());
+    public ManagerDto getManagerById(int id) {
+        Manager manager = this.managerRepository.findById(id).get();
+
+        return new ManagerDto(
+                manager.getUserId(),
+                manager.getUsername(),
+                manager.getUserEmail(),
+                manager.getUserMobile(),
+                manager.getUserImage(),
+                manager.getWarehouse().getWarehouseId(),
+                manager.getWarehouse().getCity().getRegion().getRegionName(),
+                manager.getWarehouse().getCity().getCityName()
+        );
     }
 
     @Override
-    public Optional<Manager> updateManager(Manager manager, Warehouse warehouse) {
-        return this.managerRepository.edit(manager.getUserId(), warehouse.getWarehouseId());
+    public Integer create(ManagerDto managerDto) {
+        return this.managerRepository.create(
+                managerDto.getId(),
+                managerDto.getWhId());
+    }
+
+    @Override
+    public Integer edit(ManagerDto managerDto) {
+        return this.managerRepository.edit(
+                managerDto.getId(),
+                managerDto.getWhId());
     }
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ManufacturerServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ManufacturerServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ManufacturerServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,5 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.ManufacturerDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Manufacturer;
 import mk.ukim.finki.db.distributorapp.repository.ManufacturerRepository;
@@ -6,6 +7,6 @@
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -17,27 +18,60 @@
     }
 
-    @Override
-    public List<Manufacturer> getAllManufacturers() {
-        return this.manufacturerRepository.listAll();
+    private List<ManufacturerDto> buildDto(List<Manufacturer> manufacturers) {
+        List<ManufacturerDto> dtos = new ArrayList<>();
+        for (Manufacturer manufacturer : manufacturers) {
+            ManufacturerDto dto = new ManufacturerDto(
+                    manufacturer.getManufacturerId(),
+                    manufacturer.getManufacturerName(),
+                    manufacturer.getManufacturerAddress(),
+                    manufacturer.getManufacturerMobile(),
+                    manufacturer.getManufacturerEmail()
+            );
+            dtos.add(dto);
+        }
+        return dtos;
     }
 
     @Override
-    public List<Manufacturer> findAllManufacturersByName(String name) {
-        return this.manufacturerRepository.findAllByName(name);
+    public List<ManufacturerDto> getAllManufacturers() {
+        List<Manufacturer> manufacturers = this.manufacturerRepository.listAll();
+        return buildDto(manufacturers);
     }
 
     @Override
-    public Optional<Manufacturer> findManufacturerById(Long id) {
-        return this.manufacturerRepository.findById(id);
+    public List<ManufacturerDto> findAllManufacturersByName(String name) {
+        List<Manufacturer> manufacturers = this.manufacturerRepository.findAllByName(name);
+        return buildDto(manufacturers);
     }
 
     @Override
-    public Optional<Manufacturer> create(String name, String address, String mobile, String email) {
-        return this.manufacturerRepository.create(name, address, mobile, email);
+    public ManufacturerDto findManufacturerById(Long id) {
+        Manufacturer manufacturer = this.manufacturerRepository.findById(id).get();
+        return new ManufacturerDto(
+                manufacturer.getManufacturerId(),
+                manufacturer.getManufacturerName(),
+                manufacturer.getManufacturerAddress(),
+                manufacturer.getManufacturerMobile(),
+                manufacturer.getManufacturerEmail()
+        );
     }
 
     @Override
-    public Optional<Manufacturer> edit(Long id, String name, String address, String mobile, String email) {
-        return this.manufacturerRepository.edit(id, name, address, mobile, email);
+    public Integer create(ManufacturerDto manufacturerDto) {
+        return this.manufacturerRepository.create(
+                manufacturerDto.getName(),
+                manufacturerDto.getAddress(),
+                manufacturerDto.getPhone(),
+                manufacturerDto.getEmail());
+    }
+
+    @Override
+    public Integer edit(ManufacturerDto manufacturerDto) {
+        return this.manufacturerRepository.edit(
+                manufacturerDto.getId(),
+                manufacturerDto.getName(),
+                manufacturerDto.getAddress(),
+                manufacturerDto.getPhone(),
+                manufacturerDto.getEmail());
     }
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/OrderStatusServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/OrderStatusServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/OrderStatusServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,5 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.OrderStatusDto;
 import mk.ukim.finki.db.distributorapp.model.entities.OrderStatus;
 import mk.ukim.finki.db.distributorapp.repository.OrderStatusRepository;
@@ -6,6 +7,6 @@
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -17,28 +18,55 @@
     }
 
-
-    @Override
-    public List<OrderStatus> listOrderStatus() {
-        return this.orderStatusRepository.findAll();
+    private List<OrderStatusDto> buildDto(List<OrderStatus> orderStatuses) {
+        List<OrderStatusDto> dtos = new ArrayList<>();
+        for (OrderStatus orderStatus : orderStatuses) {
+            OrderStatusDto dto = new OrderStatusDto(
+                    orderStatus.getOrderStatusId(),
+                    orderStatus.getOrderStatusName(),
+                    orderStatus.getOrderStatusDescription()
+            );
+            dtos.add(dto);
+        }
+        return dtos;
     }
 
     @Override
-    public Optional<OrderStatus> getOrderStatusById(Short id) {
-        return this.orderStatusRepository.findById(id);
+    public List<OrderStatusDto> listOrderStatus() {
+        List<OrderStatus> orderStatuses = this.orderStatusRepository.findAll();
+        return buildDto(orderStatuses);
     }
 
     @Override
-    public Optional<OrderStatus> createOrderStatus(String name, String description) {
-        return this.orderStatusRepository.create(name, description);
+    public OrderStatusDto getOrderStatusById(Short id) {
+        OrderStatus orderStatus = this.orderStatusRepository.findById(id).get();
+
+        return new OrderStatusDto(
+                orderStatus.getOrderStatusId(),
+                orderStatus.getOrderStatusName(),
+                orderStatus.getOrderStatusDescription()
+        );
     }
 
     @Override
-    public Optional<OrderStatus> updateOrderStatus(Short id, String name, String description) {
-        return this.orderStatusRepository.edit(id, name, description);
+    public Integer create(OrderStatusDto orderStatusDto) {
+        return this.orderStatusRepository.create(
+                orderStatusDto.getStatusName(),
+                orderStatusDto.getStatusDescription()
+        );
     }
 
     @Override
-    public List<OrderStatus> getOrderStatusByName(String name) {
-        return this.orderStatusRepository.findAllByName(name);
+    public Integer edit(OrderStatusDto orderStatusDto) {
+        return this.orderStatusRepository.edit(
+                orderStatusDto.getId(),
+                orderStatusDto.getStatusName(),
+                orderStatusDto.getStatusDescription()
+        );
+    }
+
+    @Override
+    public List<OrderStatusDto> getOrderStatusByName(String name) {
+        List<OrderStatus> orderStatuses = this.orderStatusRepository.findAllByName("'" + name + "'");
+        return buildDto(orderStatuses);
     }
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/OrdersServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/OrdersServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/OrdersServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,17 +1,13 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.OrdersDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Customer;
-import mk.ukim.finki.db.distributorapp.model.entities.Delivery;
 import mk.ukim.finki.db.distributorapp.model.entities.Orders;
-import mk.ukim.finki.db.distributorapp.model.entities.ProForma;
-import mk.ukim.finki.db.distributorapp.model.entities.OrderStatus;
 import mk.ukim.finki.db.distributorapp.repository.OrdersRepository;
 import mk.ukim.finki.db.distributorapp.service.OrdersService;
 import org.springframework.stereotype.Service;
 
-import java.time.LocalDate;
-import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -23,45 +19,95 @@
     }
 
-    @Override
-    public List<Orders> getAllOrders() {
-        return this.ordersRepository.listAll();
+    private List<OrdersDto> buildDto(List<Orders> orders) {
+        List<OrdersDto> dtos = new ArrayList<>();
+        for (Orders ord : orders) {
+            OrdersDto orderDto = new OrdersDto(
+                    ord.getOrderId(),
+                    ord.getOrderDate(),
+                    ord.getOrderSum(),
+                    ord.getOrderFulfillmentDate(),
+                    ord.getOrderComment(),
+                    ord.getOrderStatus().getOrderStatusId(),
+                    ord.getOrderStatus().getOrderStatusName(),
+                    ord.getCustomer().getUserId(),
+                    ord.getCustomer().getCustomerCompanyName(),
+                    ord.getCustomer().getUserMobile(),
+                    ord.getCustomer().getUserEmail(),
+                    ord.getDelivery().getDeliveryId(),
+                    ord.getDelivery().getVehicle().getDriver().getUserId(),
+                    ord.getDelivery().getVehicle().getDriver().getUsername(),
+                    ord.getDelivery().getVehicle().getDriver().getUserMobile(),
+                    ord.getDelivery().getVehicle().getDriver().getUserEmail(),
+                    ord.getProForma().getProFormaId(),
+                    ord.getProForma().getProFormaStatus().getProFormaStatusName()
+            );
+            dtos.add(orderDto);
+        }
+        return dtos;
     }
 
     @Override
-    public List<Orders> findOrdersByCustomer(Customer customer) {
-        return this.ordersRepository.findByCustomer(customer.getUserId());
+    public List<OrdersDto> getAllOrders() {
+        List<Orders> orders = this.ordersRepository.listAll();
+        return buildDto(orders);
     }
 
     @Override
-    public Optional<Orders> findById(Long id) {
-        return this.ordersRepository.findById(id);
+    public List<OrdersDto> findOrdersByCustomer(Customer customer) {
+        List<Orders> orders = this.ordersRepository.findByCustomer(customer.getUserId());
+        return buildDto(orders);
     }
 
     @Override
-    public Optional<Orders> create(LocalDate ord_date, Integer ord_sum, LocalDateTime ord_fulfillment_date, String ord_comment, OrderStatus ord_status, Customer customer, Delivery delivery, ProForma proForma) {
-        return this.ordersRepository.create(
-                ord_date,
-                ord_sum,
-                ord_fulfillment_date,
-                ord_comment,
-                ord_status.getOrderStatusId(),
-                customer.getUserId(),
-                delivery.getDeliveryId(),
-                proForma.getProFormaId()
+    public OrdersDto findById(Long id) {
+        Orders ord = this.ordersRepository.findById(id).get();
+        return new OrdersDto(
+                ord.getOrderId(),
+                ord.getOrderDate(),
+                ord.getOrderSum(),
+                ord.getOrderFulfillmentDate(),
+                ord.getOrderComment(),
+                ord.getOrderStatus().getOrderStatusId(),
+                ord.getOrderStatus().getOrderStatusName(),
+                ord.getCustomer().getUserId(),
+                ord.getCustomer().getCustomerCompanyName(),
+                ord.getCustomer().getUserMobile(),
+                ord.getCustomer().getUserEmail(),
+                ord.getDelivery().getDeliveryId(),
+                ord.getDelivery().getVehicle().getDriver().getUserId(),
+                ord.getDelivery().getVehicle().getDriver().getUsername(),
+                ord.getDelivery().getVehicle().getDriver().getUserMobile(),
+                ord.getDelivery().getVehicle().getDriver().getUserEmail(),
+                ord.getProForma().getProFormaId(),
+                ord.getProForma().getProFormaStatus().getProFormaStatusName()
         );
     }
 
     @Override
-    public Optional<Orders> edit(Long id, LocalDate ord_date, Integer ord_sum, LocalDateTime ord_fulfillment_date, String ord_comment, OrderStatus ord_status, Customer customer, Delivery delivery, ProForma proForma) {
+    public Integer create(OrdersDto ordersDto) {
+        return this.ordersRepository.create(
+                ordersDto.getOrdDate(),
+                ordersDto.getOrdSum(),
+                ordersDto.getOrderFulfillmentDate(),
+                ordersDto.getOrdComment(),
+                ordersDto.getOStatusId(),
+                ordersDto.getCustomerId(),
+                ordersDto.getDeliveryId(),
+                ordersDto.getPfId()
+        );
+    }
+
+    @Override
+    public Integer edit(OrdersDto ordersDto) {
         return this.ordersRepository.edit(
-                id,
-                ord_date,
-                ord_sum,
-                ord_fulfillment_date,
-                ord_comment,
-                ord_status.getOrderStatusId(),
-                customer.getUserId(),
-                delivery.getDeliveryId(),
-                proForma.getProFormaId()
+                ordersDto.getId(),
+                ordersDto.getOrdDate(),
+                ordersDto.getOrdSum(),
+                ordersDto.getOrderFulfillmentDate(),
+                ordersDto.getOrdComment(),
+                ordersDto.getOStatusId(),
+                ordersDto.getCustomerId(),
+                ordersDto.getDeliveryId(),
+                ordersDto.getPfId()
         );
     }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/PriceServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/PriceServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/PriceServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,5 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.PriceDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Article;
 import mk.ukim.finki.db.distributorapp.model.entities.Price;
@@ -7,8 +8,6 @@
 import org.springframework.stereotype.Service;
 
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -20,26 +19,48 @@
     }
 
-    @Override
-    public List<Price> getAllPrices() {
-        return this.priceRepository.listAll();
+    private List<PriceDto> buildDto(List<Price> prices) {
+        List<PriceDto> dtos = new ArrayList<>();
+        for (Price price : prices) {
+            PriceDto dto = new PriceDto(
+                    price.getPriceId(),
+                    price.getPrice(),
+                    price.getPriceEffectiveDate(),
+                    price.getArticle().getArticleId(),
+                    price.getArticle().getArticleName()
+            );
+            dtos.add(dto);
+        }
+        return dtos;
     }
 
     @Override
-    public List<Price> findAllPricesByArticleId(Article article) {
-        return this.priceRepository.findAllByArticleId(article.getArticleId());
+    public List<PriceDto> getAllPrices() {
+        List<Price> prices = this.priceRepository.listAll();
+        return buildDto(prices);
     }
 
     @Override
-    public Optional<Price> create(BigDecimal price, LocalDateTime price_eff_date, Article article) {
-        return this.priceRepository.create(price, price_eff_date, article.getArticleId());
+    public List<PriceDto> findAllPricesByArticleId(Article article) {
+        List<Price> prices = this.priceRepository.findAllByArticleId(article.getArticleId());
+        return buildDto(prices);
     }
 
     @Override
-    public Optional<Price> edit(Integer id, BigDecimal price, LocalDateTime price_eff_date, Article article) {
+    public Integer create(PriceDto priceDto) {
+        return this.priceRepository.create(
+                priceDto.getPrice(),
+                priceDto.getDateEffective(),
+                priceDto.getArtId()
+        );
+    }
+
+    @Override
+    public Integer edit(PriceDto priceDto) {
         return this.priceRepository.edit(
-                id,
-                price,
-                price_eff_date,
-                article.getArticleId());
+                priceDto.getId(),
+                priceDto.getPrice(),
+                priceDto.getDateEffective(),
+                priceDto.getArtId()
+        );
     }
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ProFormaServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ProFormaServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ProFormaServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,13 +1,12 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.ProFormaDto;
 import mk.ukim.finki.db.distributorapp.model.entities.ProForma;
-import mk.ukim.finki.db.distributorapp.model.entities.ProFormaStatus;
 import mk.ukim.finki.db.distributorapp.repository.ProFormaRepository;
 import mk.ukim.finki.db.distributorapp.service.ProFormaService;
 import org.springframework.stereotype.Service;
 
-import java.time.LocalDate;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -19,30 +18,63 @@
     }
 
-    @Override
-    public List<ProForma> getAllPro_Forma() {
-        return this.proFormaRepository.listAll();
+    private List<ProFormaDto> buildDto(List<ProForma> proFormas) {
+        List<ProFormaDto> proFormaDtos = new ArrayList<>();
+        for (ProForma pf : proFormas) {
+            ProFormaDto proFormaDto = new ProFormaDto(
+                    pf.getProFormaId(),
+                    pf.getProFormaDeadline(),
+                    pf.getProFormaDateCreated(),
+                    pf.getProFormaStatus().getProFormaStatusId(),
+                    pf.getProFormaStatus().getProFormaStatusName(),
+                    pf.getOrder().getOrderId(),
+                    pf.getOrder().getCustomer().getUserId(),
+                    pf.getOrder().getCustomer().getCustomerCompanyName(),
+                    pf.getOrder().getCustomer().getUserEmail(),
+                    pf.getOrder().getCustomer().getUserMobile()
+            );
+            proFormaDtos.add(proFormaDto);
+        }
+        return proFormaDtos;
     }
 
     @Override
-    public Optional<ProForma> findProFormaById(Long id) {
-        return this.proFormaRepository.findById(id);
+    public List<ProFormaDto> getAllPro_Forma() {
+        List<ProForma> proFormas = this.proFormaRepository.listAll();
+        return buildDto(proFormas);
     }
 
     @Override
-    public Optional<ProForma> create(LocalDate pf_deadline, LocalDate pf_create_date, ProFormaStatus pf_status) {
-        return this.proFormaRepository.create(
-                pf_deadline,
-                pf_create_date,
-                pf_status.getProFormaStatusId()
+    public ProFormaDto findProFormaById(Long id) {
+        ProForma pf = this.proFormaRepository.findById(id).get();
+        return new ProFormaDto(
+                pf.getProFormaId(),
+                pf.getProFormaDeadline(),
+                pf.getProFormaDateCreated(),
+                pf.getProFormaStatus().getProFormaStatusId(),
+                pf.getProFormaStatus().getProFormaStatusName(),
+                pf.getOrder().getOrderId(),
+                pf.getOrder().getCustomer().getUserId(),
+                pf.getOrder().getCustomer().getCustomerCompanyName(),
+                pf.getOrder().getCustomer().getUserEmail(),
+                pf.getOrder().getCustomer().getUserMobile()
         );
     }
 
     @Override
-    public Optional<ProForma> edit(Long id, LocalDate pf_deadline, LocalDate pf_create_date, ProFormaStatus pf_status) {
+    public Integer create(ProFormaDto proFormaDto) {
+        return this.proFormaRepository.create(
+                proFormaDto.getPfDeadline(),
+                proFormaDto.getPfDateCreated(),
+                proFormaDto.getStatusId()
+        );
+    }
+
+    @Override
+    public Integer edit(ProFormaDto proFormaDto) {
         return this.proFormaRepository.edit(
-                id,
-                pf_deadline,
-                pf_create_date,
-                pf_status.getProFormaStatusId()
+                proFormaDto.getId(),
+                proFormaDto.getPfDeadline(),
+                proFormaDto.getPfDateCreated(),
+                proFormaDto.getStatusId()
         );
     }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ProFormaStatusServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ProFormaStatusServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/ProFormaStatusServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,5 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.ProFormaStatusDto;
 import mk.ukim.finki.db.distributorapp.model.entities.ProFormaStatus;
 import mk.ukim.finki.db.distributorapp.repository.ProFormaStatusRepository;
@@ -6,6 +7,6 @@
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -17,27 +18,54 @@
     }
 
-    @Override
-    public List<ProFormaStatus> listProFormaStatus() {
-        return this.proFormaStatusRepository.findAll();
+    private List<ProFormaStatusDto> buildDto(List<ProFormaStatus> proFormaStatuses) {
+        List<ProFormaStatusDto> proFormaStatusDtos = new ArrayList<>();
+        for (ProFormaStatus proFormaStatus : proFormaStatuses) {
+            ProFormaStatusDto proFormaStatusDto = new ProFormaStatusDto(
+                    proFormaStatus.getProFormaStatusId(),
+                    proFormaStatus.getProFormaStatusName(),
+                    proFormaStatus.getProFormaStatusDescription()
+            );
+            proFormaStatusDtos.add(proFormaStatusDto);
+        }
+        return proFormaStatusDtos;
     }
 
     @Override
-    public Optional<ProFormaStatus> getProFormaStatusById(Short id) {
-        return this.proFormaStatusRepository.findById(id);
+    public List<ProFormaStatusDto> listProFormaStatus() {
+        List<ProFormaStatus> proFormaStatuses = this.proFormaStatusRepository.findAll();
+        return buildDto(proFormaStatuses);
     }
 
     @Override
-    public Optional<ProFormaStatus> createProFormaStatus(String name, String description) {
-        return this.proFormaStatusRepository.create(name, description);
+    public ProFormaStatusDto getProFormaStatusById(Short id) {
+        ProFormaStatus status = this.proFormaStatusRepository.findById(id).get();
+        return new ProFormaStatusDto(
+                status.getProFormaStatusId(),
+                status.getProFormaStatusName(),
+                status.getProFormaStatusDescription()
+        );
     }
 
     @Override
-    public Optional<ProFormaStatus> updateProFormaStatus(Short id, String name, String description) {
-        return this.proFormaStatusRepository.edit(id, name, description);
+    public Integer create(ProFormaStatusDto proFormaStatusDto ) {
+        return this.proFormaStatusRepository.create(
+                proFormaStatusDto.getStatusName(),
+                proFormaStatusDto.getStatusDescription()
+        );
     }
 
     @Override
-    public List<ProFormaStatus> getProFormaStatusByName(String name) {
-        return this.proFormaStatusRepository.findAllByName(name);
+    public Integer edit(ProFormaStatusDto proFormaStatusDto ) {
+        return this.proFormaStatusRepository.edit(
+                proFormaStatusDto.getId(),
+                proFormaStatusDto.getStatusName(),
+                proFormaStatusDto.getStatusDescription()
+        );
+    }
+
+    @Override
+    public List<ProFormaStatusDto> getProFormaStatusByName(String name) {
+        List<ProFormaStatus> statuses = this.proFormaStatusRepository.findAllByName(name);
+        return buildDto(statuses);
     }
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/RegionServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/RegionServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/RegionServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,5 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.RegionDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Region;
 import mk.ukim.finki.db.distributorapp.repository.RegionRepository;
@@ -6,6 +7,6 @@
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -18,27 +19,50 @@
     }
 
-    @Override
-    public List<Region> listRegions() {
-        return this.regionRepository.listAll();
+    private List<RegionDto> buildDto(List<Region> regions) {
+        List<RegionDto> dtos = new ArrayList<>();
+        for (Region region : regions) {
+            RegionDto dto = new RegionDto(
+                    region.getRegionId(),
+                    region.getRegionName()
+            );
+            dtos.add(dto);
+        }
+        return dtos;
     }
 
     @Override
-    public Optional<Region> getRegionById(Integer id) {
-        return this.regionRepository.findById(id);
+    public List<RegionDto> listRegions() {
+        List<Region> regions = this.regionRepository.listAll();
+        return buildDto(regions);
     }
 
     @Override
-    public List<Region> searchRegions(String name) {
-        return this.regionRepository.findByName("'"+name+"'");
+    public RegionDto getRegionById(Integer id) {
+        Region region = this.regionRepository.findById(id).get();
+        return new RegionDto(
+                region.getRegionId(),
+                region.getRegionName()
+        );
     }
 
     @Override
-    public Optional<Region> createRegion(String name) {
-        return this.regionRepository.create(name);
+    public List<RegionDto> searchRegions(String name) {
+        List<Region> regions = this.regionRepository.findByName("'" + name + "'");
+        return buildDto(regions);
     }
 
     @Override
-    public Optional<Region> edit(Integer id, String name) {
-        return this.regionRepository.edit(id, name);
+    public Integer create(RegionDto regionDto) {
+        return this.regionRepository.create(
+                regionDto.getName()
+        );
+    }
+
+    @Override
+    public Integer edit(RegionDto regionDto) {
+        return this.regionRepository.edit(
+                regionDto.getId(),
+                regionDto.getName()
+        );
     }
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/VehicleServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/VehicleServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/VehicleServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,5 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.VehicleDto;
 import mk.ukim.finki.db.distributorapp.model.entities.Vehicle;
 import mk.ukim.finki.db.distributorapp.model.entities.Warehouse;
@@ -7,7 +8,6 @@
 import org.springframework.stereotype.Service;
 
-import java.time.LocalDate;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -19,31 +19,76 @@
     }
 
-    @Override
-    public List<Vehicle> getAllVehicles() {
-        return this.vehicleRepository.listAll();
+    private VehicleDto buildDto(Vehicle veh) {
+        return new VehicleDto(
+                veh.getVehicleId(),
+                veh.getVehicleCarryWeight(),
+                veh.getVehicleServiceInterval(),
+                veh.getVehicleKilometers(),
+                veh.getVehicleLastService(),
+                veh.getVehicleLastServiceKm(),
+                veh.getVehiclePlate(),
+                veh.getVehicleVin(),
+                veh.getVehicleRegDate(),
+                veh.getWarehouse().getWarehouseId(),
+                veh.getWarehouse().getCity().getCityName(),
+                veh.getWarehouse().getCity().getRegion().getRegionName(),
+                veh.getDriver().getUserId(),
+                veh.getDriver().getUsername(),
+                veh.getDriver().getUserEmail(),
+                veh.getDriver().getUserMobile(),
+                veh.getDriver().getUserImage()
+        );
+    }
+
+    private List<VehicleDto> buildDtoList(List<Vehicle> vehicles) {
+        List<VehicleDto> dtos = new ArrayList<>();
+        for (Vehicle veh : vehicles) {
+            VehicleDto dto = buildDto(veh);
+            dtos.add(dto);
+        }
+        return dtos;
     }
 
     @Override
-    public List<Vehicle> getVehiclesByWarehouse(Warehouse warehouse) {
-        return this.vehicleRepository.findAllByWarehouse(warehouse.getWarehouseId());
+    public List<VehicleDto> getAllVehicles() {
+        List<Vehicle> vehicles = this.vehicleRepository.listAll();
+        return buildDtoList(vehicles);
     }
 
     @Override
-    public Optional<Vehicle> createVehicle(Integer vehicleCarryWeight, Short vehicleServiceInterval, Integer vehicleKilometers,
-                                           LocalDate vehicleLastService, Integer vehicleLastServiceKm, String vehiclePlate,
-                                           String vehicleVIN, LocalDate vehicleRegDate, Warehouse warehouse) {
-
-        return this.vehicleRepository.create(vehicleCarryWeight, vehicleServiceInterval, vehicleKilometers, vehicleLastService,
-                vehicleLastServiceKm, vehiclePlate, vehicleVIN, vehicleRegDate, warehouse.getWarehouseId());
+    public List<VehicleDto> getVehiclesByWarehouse(Warehouse warehouse) {
+        List<Vehicle> vehicles = this.vehicleRepository.findAllByWarehouse(warehouse.getWarehouseId());
+        return buildDtoList(vehicles);
     }
 
     @Override
-    public Optional<Vehicle> updateVehicle(Integer id, Integer vehicleCarryWeight, Short vehicleServiceInterval, Integer vehicleKilometers,
-                                           LocalDate vehicleLastService, Integer vehicleLastServiceKm, String vehiclePlate, String vehicleVIN,
-                                           LocalDate vehicleRegDate, Warehouse warehouse) {
+    public Integer create(VehicleDto vehicleDto) {
+        return this.vehicleRepository.create(
+                vehicleDto.getCarryWeight(),
+                vehicleDto.getServiceInterval(),
+                vehicleDto.getKilometers(),
+                vehicleDto.getLastServiceDate(),
+                vehicleDto.getLastServiceKm(),
+                vehicleDto.getPlate(),
+                vehicleDto.getVin(),
+                vehicleDto.getRegistrationDate(),
+                vehicleDto.getWhId());
+    }
 
+    @Override
+    public Integer edit(VehicleDto vehicleDto) {
 
-        return this.vehicleRepository.edit(id, vehicleCarryWeight, vehicleServiceInterval, vehicleKilometers, vehicleLastService, vehicleLastServiceKm,
-                vehiclePlate, vehicleVIN, vehicleRegDate, warehouse.getWarehouseId());
+        return this.vehicleRepository.edit(
+                vehicleDto.getId(),
+                vehicleDto.getCarryWeight(),
+                vehicleDto.getServiceInterval(),
+                vehicleDto.getKilometers(),
+                vehicleDto.getLastServiceDate(),
+                vehicleDto.getLastServiceKm(),
+                vehicleDto.getPlate(),
+                vehicleDto.getVin(),
+                vehicleDto.getRegistrationDate(),
+                vehicleDto.getWhId()
+        );
     }
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/WarehouseServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/WarehouseServiceImpl.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/WarehouseServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,4 +1,5 @@
 package mk.ukim.finki.db.distributorapp.service.impl;
 
+import mk.ukim.finki.db.distributorapp.model.dto.WarehouseDto;
 import mk.ukim.finki.db.distributorapp.model.entities.City;
 import mk.ukim.finki.db.distributorapp.model.entities.Warehouse;
@@ -7,6 +8,6 @@
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 
 @Service
@@ -18,32 +19,65 @@
     }
 
-    @Override
-    public List<Warehouse> findAll() {
-        return this.warehouseRepository.findAll();
+    private List<WarehouseDto> buildDtoList(List<Warehouse> warehouses) {
+        List<WarehouseDto> dtos = new ArrayList<>();
+        for (Warehouse wh : warehouses) {
+            WarehouseDto dto = new WarehouseDto(
+                    wh.getWarehouseId(),
+                    wh.getWarehouseAddress(),
+                    wh.getCity().getCityId(),
+                    wh.getCity().getCityName(),
+                    wh.getCity().getRegion().getRegionId(),
+                    wh.getCity().getRegion().getRegionName()
+            );
+            dtos.add(dto);
+        }
+        return dtos;
     }
 
     @Override
-    public List<Warehouse> findAllByCity(City city) {
-        return this.warehouseRepository.findAllByCity(city.getCityId());
+    public List<WarehouseDto> findAll() {
+        List<Warehouse> warehouses = this.warehouseRepository.findAll();
+        return buildDtoList(warehouses);
     }
 
     @Override
-    public Optional<Warehouse> findById(Integer id) {
-        return this.warehouseRepository.findById(id);
+    public List<WarehouseDto> findAllByCity(City city) {
+        List<Warehouse> warehouses = this.warehouseRepository.findAllByCity(city.getCityId());
+        return buildDtoList(warehouses);
     }
 
     @Override
-    public Optional<Warehouse> create(String whAddress, City city) {
-        return this.warehouseRepository.create(whAddress, city.getCityId());
+    public WarehouseDto findById(Integer id) {
+        Warehouse wh = this.warehouseRepository.findById(id).get();
+        return new WarehouseDto(
+                wh.getWarehouseId(),
+                wh.getWarehouseAddress(),
+                wh.getCity().getCityId(),
+                wh.getCity().getCityName(),
+                wh.getCity().getRegion().getRegionId(),
+                wh.getCity().getRegion().getRegionName()
+        );
     }
 
     @Override
-    public Optional<Warehouse> edit(Long id, String whAddress, City city) {
-        return this.warehouseRepository.edit(id, whAddress, city.getCityId());
+    public Integer create(WarehouseDto warehouseDto) {
+        return this.warehouseRepository.create(
+                warehouseDto.getAddress(),
+                warehouseDto.getCityId()
+        );
     }
 
     @Override
-    public Optional<Warehouse> delete(Integer id) {
-        return this.warehouseRepository.findById(id);
+    public Integer edit(WarehouseDto warehouseDto) {
+        return this.warehouseRepository.edit(
+                warehouseDto.getId(),
+                warehouseDto.getAddress(),
+                warehouseDto.getCityId()
+        );
+    }
+
+    @Override
+    public void delete(Integer id) {
+        this.warehouseRepository.findById(id);
     }
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/WeekdayServiceImpl.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/WeekdayServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/service/impl/WeekdayServiceImpl.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,73 @@
+package mk.ukim.finki.db.distributorapp.service.impl;
+
+import mk.ukim.finki.db.distributorapp.model.dto.WeekdayDto;
+import mk.ukim.finki.db.distributorapp.model.entities.Weekday;
+import mk.ukim.finki.db.distributorapp.repository.WeekdayRepository;
+import mk.ukim.finki.db.distributorapp.service.WeekdayService;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class WeekdayServiceImpl implements WeekdayService {
+    private final WeekdayRepository weekdayRepository;
+
+    public WeekdayServiceImpl(WeekdayRepository weekdayRepository) {
+        this.weekdayRepository = weekdayRepository;
+    }
+
+    private List<WeekdayDto> buildDto(List<Weekday> weekdays) {
+        List<WeekdayDto> dtos = new ArrayList<>();
+        for (Weekday weekday : weekdays) {
+            WeekdayDto dto = new WeekdayDto(
+                    weekday.getId(),
+                    weekday.getDayName()
+            );
+            dtos.add(dto);
+        }
+        return dtos;
+    }
+
+    @Override
+    public List<WeekdayDto> getAllWeekdays() {
+        List<Weekday> weekdays = this.weekdayRepository.listAll();
+        return buildDto(weekdays);
+    }
+
+    @Override
+    public WeekdayDto getWeekdayByName(String weekdayName) {
+        Weekday weekday = this.weekdayRepository.findWeekdayByName("'"+weekdayName+"'").get();
+        return new WeekdayDto(
+                weekday.getId(),
+                weekday.getDayName()
+        );
+    }
+
+    @Override
+    public WeekdayDto findWeekdayById(Short id) {
+        Weekday weekday = this.weekdayRepository.findWeekdayById(id).get();
+        return new WeekdayDto(
+                weekday.getId(),
+                weekday.getDayName()
+        );
+    }
+
+    @Override
+    public Integer create(WeekdayDto weekdayDto) {
+        return this.weekdayRepository.create(
+                weekdayDto.getDayName()
+        );
+    }
+
+    @Override
+    public Integer edit(WeekdayDto weekdayDto) {
+        return this.weekdayRepository.edit(
+                weekdayDto.getId(),
+                weekdayDto.getDayName()
+        );
+    }
+
+    @Override
+    public void delete(Short id) {
+        this.weekdayRepository.deleteById(id);
+    }
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ArticleController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ArticleController.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ArticleController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -2,15 +2,13 @@
 
 import mk.ukim.finki.db.distributorapp.model.dto.ArticleDto;
-import mk.ukim.finki.db.distributorapp.model.entities.Article;
 import mk.ukim.finki.db.distributorapp.service.ArticleService;
+import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
 @RestController
-@RequestMapping("/api/article")
+@RequestMapping("/article")
 public class ArticleController {
     private final ArticleService articleService;
@@ -21,13 +19,27 @@
 
     @GetMapping("/all")
-    ResponseEntity<List<Article>> getAllArticles() {
-        List<Article> articles = articleService.getAllArticles();
+    ResponseEntity<List<ArticleDto>> getAllArticlesDto() {
+        List<ArticleDto> articles = articleService.getAllArticles();
         return ResponseEntity.ok(articles);
     }
 
-    @GetMapping("/all/dto")
-    ResponseEntity<List<ArticleDto>> getAllArticlesDto() {
-        List<ArticleDto> articles = articleService.getAllArticlesDto();
-        return ResponseEntity.ok(articles);
+    @PutMapping("/add")
+    ResponseEntity<Integer> addArticle(@RequestBody ArticleDto articleDto) {
+        Integer res = this.articleService.create(articleDto);
+
+        return new ResponseEntity<>(res, HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    ResponseEntity<Integer> editArticle(@RequestBody ArticleDto articleDto) {
+        Integer res = this.articleService.editById(articleDto);
+        return new ResponseEntity<>(res, HttpStatus.OK);
+    }
+
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<Void> deleteArticle(@PathVariable Long id) {
+        this.articleService.deleteById(id);
+        return new ResponseEntity<>(HttpStatus.OK);
     }
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ArticleUnitController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ArticleUnitController.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ArticleUnitController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,15 +1,14 @@
 package mk.ukim.finki.db.distributorapp.web;
 
-import mk.ukim.finki.db.distributorapp.model.entities.ArticleUnit;
+import mk.ukim.finki.db.distributorapp.model.dto.ArticleUnitDto;
 import mk.ukim.finki.db.distributorapp.service.ArticleUnitService;
+import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
 @RestController
-@RequestMapping("/api/articleUnit")
+@RequestMapping("/articleUnit")
 public class ArticleUnitController {
     private final ArticleUnitService articleUnitService;
@@ -20,8 +19,26 @@
 
     @GetMapping("/all")
-    public ResponseEntity<List<ArticleUnit>> getAllUnits() {
-        List<ArticleUnit> units = this.articleUnitService.getAllArticleUnits();
+    public ResponseEntity<List<ArticleUnitDto>> getAllUnits() {
+        //List<ArticleUnit> units = this.articleUnitService.getAllArticleUnits();
 
-        return ResponseEntity.ok(units);
+        //return ResponseEntity.ok(units);
+
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<ArticleUnitDto> addUnit(@RequestBody ArticleUnitDto articleUnitDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("edit")
+    public ResponseEntity<ArticleUnitDto> editUnit(@RequestBody ArticleUnitDto articleUnitDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<Void> deleteUnit(@PathVariable Long id) {
+        this.articleUnitService.delete(id);
+        return new ResponseEntity<>(HttpStatus.OK);
     }
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/CategoryController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/CategoryController.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/CategoryController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -2,5 +2,4 @@
 
 import mk.ukim.finki.db.distributorapp.model.dto.CategoryDto;
-import mk.ukim.finki.db.distributorapp.model.entities.Category;
 import mk.ukim.finki.db.distributorapp.service.CategoryService;
 import org.springframework.http.ResponseEntity;
@@ -12,5 +11,5 @@
 
 @RestController
-@RequestMapping("/api/category")
+@RequestMapping("/category")
 public class CategoryController {
     private final CategoryService categoryService;
@@ -20,12 +19,8 @@
     }
 
+
     @GetMapping("/all")
-    public ResponseEntity<List<Category>> getAllCategories() {
-       return ResponseEntity.ok(this.categoryService.listCategories());
-    }
-
-    @GetMapping("/all/dto")
     public ResponseEntity<List<CategoryDto>> getAllCategoriesDto() {
-        List<CategoryDto> categoryDtos = this.categoryService.listCategoriesDto();
+        List<CategoryDto> categoryDtos = this.categoryService.listCategories();
         return ResponseEntity.ok(categoryDtos);
     }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/CityController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/CityController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/CityController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,39 @@
+package mk.ukim.finki.db.distributorapp.web;
+
+import mk.ukim.finki.db.distributorapp.model.dto.CityDto;
+import mk.ukim.finki.db.distributorapp.service.CityService;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/city")
+public class CityController {
+    private final CityService cityService;
+
+    public CityController(CityService cityService) {
+        this.cityService = cityService;
+    }
+
+    @GetMapping("/all")
+    public ResponseEntity<List<CityDto>> getAllCities() {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<CityDto> addCity(@RequestBody CityDto CityDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    public ResponseEntity<CityDto> editCity(@RequestBody CityDto CityDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<CityDto> deleteCity(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/CustomerController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/CustomerController.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/CustomerController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,6 +1,7 @@
 package mk.ukim.finki.db.distributorapp.web;
 
-import mk.ukim.finki.db.distributorapp.model.entities.Customer;
+import mk.ukim.finki.db.distributorapp.model.dto.CustomerDto;
 import mk.ukim.finki.db.distributorapp.service.CustomerService;
+import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
@@ -9,5 +10,5 @@
 
 @RestController
-@RequestMapping("/api/customer")
+@RequestMapping("/customer")
 public class CustomerController {
 
@@ -19,47 +20,21 @@
 
     @GetMapping("/all")
-    public ResponseEntity<List<Customer>> getAllCustomers() {
-        List<Customer> customers = this.customerService.findAllCustomers();
-        return ResponseEntity.ok(customers);
+    public ResponseEntity<List<CustomerDto>> getAllCustomers() {
+        return new ResponseEntity<>(HttpStatus.OK);
     }
 
-    @GetMapping("/find/{id}")
-    public ResponseEntity<Customer> getCustomer(@PathVariable Long id) {
-        Customer c = this.customerService.findCustomerById(id).get();
-        return ResponseEntity.ok(c);
-    }
-
-    @PostMapping("/add")
-    public ResponseEntity<Customer> createCustomer(@RequestBody Customer customer) {
-        Customer newCustomer = this.customerService.create(
-                customer.getUserId(),
-                customer.getCustomerEDB(),
-                customer.getCustomerCompanyName(),
-                customer.getCustomerAddress(),
-                customer.getCustomerOpenTime(),
-                customer.getCustomerCloseTime(),
-                customer.getCustomerRepresentativeImage()).get();
-
-        return ResponseEntity.ok(newCustomer);
+    @PutMapping("/add")
+    public ResponseEntity<CustomerDto> addCustomer(@RequestBody CustomerDto customerDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
     }
 
     @PutMapping("/edit")
-    public ResponseEntity<Customer> updateCustomer(@RequestBody Customer customer) {
-        Customer updateCustomer = this.customerService.edit(
-                customer.getUserId(),
-                customer.getCustomerEDB(),
-                customer.getCustomerCompanyName(),
-                customer.getCustomerAddress(),
-                customer.getCustomerOpenTime(),
-                customer.getCustomerCloseTime(),
-                customer.getCustomerRepresentativeImage()).get();
-
-        return ResponseEntity.ok(updateCustomer);
+    public ResponseEntity<CustomerDto> editCustomer(@RequestBody CustomerDto customerDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
     }
 
     @DeleteMapping("/delete/{id}")
-    public ResponseEntity<Customer> deleteCustomer(@PathVariable Long id) {
-        this.customerService.delete(id);
-        return ResponseEntity.noContent().build();
+    public ResponseEntity<CustomerDto> deleteCustomer(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
     }
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/DeliveryController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/DeliveryController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/DeliveryController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,39 @@
+package mk.ukim.finki.db.distributorapp.web;
+
+import mk.ukim.finki.db.distributorapp.model.dto.DeliveryDto;
+import mk.ukim.finki.db.distributorapp.service.DeliveryService;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/delivery")
+public class DeliveryController {
+    private final DeliveryService deliveryService;
+
+    public DeliveryController(DeliveryService deliveryService) {
+        this.deliveryService = deliveryService;
+    }
+
+    @GetMapping("/all")
+    public ResponseEntity<List<DeliveryDto>> getAllDeliveries() {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<DeliveryDto> addDelivery(@RequestBody DeliveryDto DeliveryDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    public ResponseEntity<DeliveryDto> editDelivery(@RequestBody DeliveryDto DeliveryDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<DeliveryDto> deleteDelivery(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/DeliveryStatusController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/DeliveryStatusController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/DeliveryStatusController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,39 @@
+package mk.ukim.finki.db.distributorapp.web;
+
+import mk.ukim.finki.db.distributorapp.model.dto.DeliveryStatusDto;
+import mk.ukim.finki.db.distributorapp.service.DeliveryStatusService;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/dStatus")
+public class DeliveryStatusController {
+    private final DeliveryStatusService deliveryStatusService;
+
+    public DeliveryStatusController(DeliveryStatusService deliveryStatusService) {
+        this.deliveryStatusService = deliveryStatusService;
+    }
+
+    @GetMapping("/all")
+    public ResponseEntity<List<DeliveryStatusDto>> getAllDeliveryStatus() {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<DeliveryStatusDto> addDeliveryStatus(@RequestBody DeliveryStatusDto DeliveryStatusDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    public ResponseEntity<DeliveryStatusDto> editDeliveryStatus(@RequestBody DeliveryStatusDto DeliveryStatusDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<DeliveryStatusDto> deleteDeliveryStatus(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/DriverController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/DriverController.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/DriverController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,15 +1,33 @@
 package mk.ukim.finki.db.distributorapp.web;
 
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import mk.ukim.finki.db.distributorapp.model.dto.DriverDto;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 @RestController
-@RequestMapping("/api/driver")
+@RequestMapping("/driver")
 public class DriverController {
 
-    @GetMapping("/home")
-    public String driverHome() {
-        return "userDriver/home";
+    @GetMapping("/all")
+    public ResponseEntity<List<DriverDto>> getAllDrivers() {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<DriverDto> addDriver(@RequestBody DriverDto driverDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    public ResponseEntity<DriverDto> editDriver(@RequestBody DriverDto driverDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<DriverDto> deleteDriver(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
     }
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ManagerController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ManagerController.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ManagerController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,7 +1,11 @@
 package mk.ukim.finki.db.distributorapp.web;
 
+import mk.ukim.finki.db.distributorapp.model.dto.ManagerDto;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 @Controller
@@ -9,7 +13,22 @@
 public class ManagerController {
 
-    @GetMapping("/home")
-    public String managerHome() {
-        return "userManager/home";
+    @GetMapping("/all")
+    public ResponseEntity<List<ManagerDto>> getAllManagers() {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<ManagerDto> addManager(@RequestBody ManagerDto ManagerDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    public ResponseEntity<ManagerDto> editManager(@RequestBody ManagerDto ManagerDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<ManagerDto> deleteManager(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
     }
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ManufacturerController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ManufacturerController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ManufacturerController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,39 @@
+package mk.ukim.finki.db.distributorapp.web;
+
+import mk.ukim.finki.db.distributorapp.model.dto.ManufacturerDto;
+import mk.ukim.finki.db.distributorapp.service.ManufacturerService;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/manufacturer")
+public class ManufacturerController {
+    private final ManufacturerService manufacturerService;
+
+    public ManufacturerController(ManufacturerService manufacturerService) {
+        this.manufacturerService = manufacturerService;
+    }
+
+    @GetMapping("/all")
+    public ResponseEntity<List<ManufacturerDto>> getAllManufacturers() {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<ManufacturerDto> addManufacturer(@RequestBody ManufacturerDto ManufacturerDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    public ResponseEntity<ManufacturerDto> editManufacturer(@RequestBody ManufacturerDto ManufacturerDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<ManufacturerDto> deleteManufacturer(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/OrderStatusController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/OrderStatusController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/OrderStatusController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,39 @@
+package mk.ukim.finki.db.distributorapp.web;
+
+import mk.ukim.finki.db.distributorapp.model.dto.OrderStatusDto;
+import mk.ukim.finki.db.distributorapp.service.OrderStatusService;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/oStatus")
+public class OrderStatusController {
+    private final OrderStatusService orderStatusService;
+
+    public OrderStatusController(OrderStatusService orderStatusService) {
+        this.orderStatusService = orderStatusService;
+    }
+
+    @GetMapping("/all")
+    public ResponseEntity<List<OrderStatusDto>> getAllOrderStatus() {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<OrderStatusDto> addOrderStatus(@RequestBody OrderStatusDto OrderStatusDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    public ResponseEntity<OrderStatusDto> editOrderStatus(@RequestBody OrderStatusDto OrderStatusDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<OrderStatusDto> deleteOrderStatus(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/OrdersController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/OrdersController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/OrdersController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,40 @@
+package mk.ukim.finki.db.distributorapp.web;
+
+import mk.ukim.finki.db.distributorapp.model.dto.OrdersDto;
+import mk.ukim.finki.db.distributorapp.service.OrdersService;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/order")
+public class OrdersController {
+    private final OrdersService OrderService;
+
+    public OrdersController(OrdersService orderService) {
+        OrderService = orderService;
+    }
+
+
+    @GetMapping("/all")
+    public ResponseEntity<List<OrdersDto>> getAllOrders() {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<OrdersDto> addOrders(@RequestBody OrdersDto OrdersDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    public ResponseEntity<OrdersDto> editOrders(@RequestBody OrdersDto OrdersDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<OrdersDto> deleteOrders(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/PriceController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/PriceController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/PriceController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,39 @@
+package mk.ukim.finki.db.distributorapp.web;
+
+import mk.ukim.finki.db.distributorapp.model.dto.PriceDto;
+import mk.ukim.finki.db.distributorapp.service.PriceService;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/price")
+public class PriceController {
+    private final PriceService priceService;
+
+    public PriceController(PriceService priceService) {
+        this.priceService = priceService;
+    }
+
+    @GetMapping("/all")
+    public ResponseEntity<List<PriceDto>> getAllPrices() {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<PriceDto> addPrice(@RequestBody PriceDto PriceDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    public ResponseEntity<PriceDto> editPrice(@RequestBody PriceDto PriceDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<PriceDto> deletePrice(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ProFormaController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ProFormaController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ProFormaController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,39 @@
+package mk.ukim.finki.db.distributorapp.web;
+
+import mk.ukim.finki.db.distributorapp.model.dto.ProFormaDto;
+import mk.ukim.finki.db.distributorapp.service.ProFormaService;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/pForma")
+public class ProFormaController {
+    private final ProFormaService proFormaService;
+
+    public ProFormaController(ProFormaService proFormaService) {
+        this.proFormaService = proFormaService;
+    }
+
+    @GetMapping("/all")
+    public ResponseEntity<List<ProFormaDto>> getAllProFormas() {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<ProFormaDto> addProForma(@RequestBody ProFormaDto ProFormaDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    public ResponseEntity<ProFormaDto> editProForma(@RequestBody ProFormaDto ProFormaDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<ProFormaDto> deleteProForma(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ProFormaStatusController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ProFormaStatusController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/ProFormaStatusController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,39 @@
+package mk.ukim.finki.db.distributorapp.web;
+
+import mk.ukim.finki.db.distributorapp.model.dto.ProFormaStatusDto;
+import mk.ukim.finki.db.distributorapp.service.ProFormaStatusService;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/pfStatus")
+public class ProFormaStatusController {
+    private final ProFormaStatusService proFormaStatusService;
+
+    public ProFormaStatusController(ProFormaStatusService proFormaStatusService) {
+        this.proFormaStatusService = proFormaStatusService;
+    }
+
+    @GetMapping("/all")
+    public ResponseEntity<List<ProFormaStatusDto>> getAllProFormaStatuss() {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<ProFormaStatusDto> addProFormaStatus(@RequestBody ProFormaStatusDto ProFormaStatusDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    public ResponseEntity<ProFormaStatusDto> editProFormaStatus(@RequestBody ProFormaStatusDto ProFormaStatusDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<ProFormaStatusDto> deleteProFormaStatus(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/RegionController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/RegionController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/RegionController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,39 @@
+package mk.ukim.finki.db.distributorapp.web;
+
+import mk.ukim.finki.db.distributorapp.model.dto.RegionDto;
+import mk.ukim.finki.db.distributorapp.service.RegionService;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/region")
+public class RegionController {
+    private final RegionService regionService;
+
+    public RegionController(RegionService regionService) {
+        this.regionService = regionService;
+    }
+
+    @GetMapping("/all")
+    public ResponseEntity<List<RegionDto>> getAllRegions() {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<RegionDto> addRegion(@RequestBody RegionDto RegionDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    public ResponseEntity<RegionDto> editRegion(@RequestBody RegionDto RegionDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<RegionDto> deleteRegion(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/RegisterController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/RegisterController.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/RegisterController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -46,5 +46,5 @@
     ) {
         try {
-            City selectedCity = this.cityService.getCityById(city).get();
+            City selectedCity = this.cityService.getCityById(city);
             this.usersService.register(name, surname, email, password, repeatedPassword, mobile, selectedCity);
             return "redirect:/login";
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/UsersController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/UsersController.java	(revision 5a2ffe144a22d230603a171dcafac0c5c5233ee5)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/UsersController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -1,10 +1,7 @@
 package mk.ukim.finki.db.distributorapp.web;
 
-import mk.ukim.finki.db.distributorapp.model.entities.Users;
 import mk.ukim.finki.db.distributorapp.service.UsersService;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 @RestController()
@@ -18,21 +15,4 @@
     }
 
-    @GetMapping("/all")
-    public ResponseEntity<List<Users>> getAllUsers() {
-        List<Users> users = this.usersService.findAllUsers();
-        return ResponseEntity.ok(users);
-    }
-
-    @GetMapping("/find/{email}")
-    public ResponseEntity<Users> findUserByEmail(@PathVariable("email") String email) {
-        Users user = this.usersService.getUserByEmail(email).get();
-        return ResponseEntity.ok(user);
-    }
-
-    @PostMapping("/add")
-    public ResponseEntity<Users> addUser(@RequestBody Users user) {
-      return ResponseEntity.ok(user);
-    }
-
 
 }
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/VehicleController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/VehicleController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/VehicleController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,39 @@
+package mk.ukim.finki.db.distributorapp.web;
+
+import mk.ukim.finki.db.distributorapp.model.dto.VehicleDto;
+import mk.ukim.finki.db.distributorapp.service.VehicleService;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/vehicle")
+public class VehicleController {
+    private final VehicleService vehicleService;
+
+    public VehicleController(VehicleService vehicleService) {
+        this.vehicleService = vehicleService;
+    }
+
+    @GetMapping("/all")
+    public ResponseEntity<List<VehicleDto>> getAllVehicles() {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<VehicleDto> addVehicle(@RequestBody VehicleDto VehicleDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    public ResponseEntity<VehicleDto> editVehicle(@RequestBody VehicleDto VehicleDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<VehicleDto> deleteVehicle(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+}
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/web/WarehouseController.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/web/WarehouseController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/web/WarehouseController.java	(revision d320251587e749126899e26b6df87cd838037c0d)
@@ -0,0 +1,39 @@
+package mk.ukim.finki.db.distributorapp.web;
+
+import mk.ukim.finki.db.distributorapp.model.dto.WarehouseDto;
+import mk.ukim.finki.db.distributorapp.service.WarehouseService;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/warehouse")
+public class WarehouseController {
+    private final WarehouseService warehouseService;
+
+    public WarehouseController(WarehouseService warehouseService) {
+        this.warehouseService = warehouseService;
+    }
+
+    @GetMapping("/all")
+    public ResponseEntity<List<WarehouseDto>> getAllWarehouses() {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/add")
+    public ResponseEntity<WarehouseDto> addWarehouse(@RequestBody WarehouseDto WarehouseDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @PutMapping("/edit")
+    public ResponseEntity<WarehouseDto> editWarehouse(@RequestBody WarehouseDto WarehouseDto) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+
+    @DeleteMapping("/delete/{id}")
+    public ResponseEntity<WarehouseDto> deleteWarehouse(@PathVariable Long id) {
+        return new ResponseEntity<>(HttpStatus.OK);
+    }
+}
