Index: backend/pom.xml
===================================================================
--- backend/pom.xml	(revision a846630b9a763380297b3f930191dc930be61ebe)
+++ backend/pom.xml	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -47,4 +47,9 @@
             <artifactId>postgresql</artifactId>
             <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.h2database</groupId>
+            <artifactId>h2</artifactId>
         </dependency>
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/DistributorAppApplication.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/DistributorAppApplication.java	(revision a846630b9a763380297b3f930191dc930be61ebe)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/DistributorAppApplication.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -11,3 +11,5 @@
     }
 
+
+
 }
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 a846630b9a763380297b3f930191dc930be61ebe)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Customer.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -20,5 +20,5 @@
     private String customerCompanyName;
 
-    @Column(name = "cust_address", nullable = false)
+    @Column(name = "cust_adr", nullable = false)
     private String customerAddress;
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Delivery.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Delivery.java	(revision a846630b9a763380297b3f930191dc930be61ebe)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Delivery.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -36,5 +36,5 @@
 
     @ManyToOne
-    @JoinColumn(name = "del_status_id", nullable = false)
+    @JoinColumn(name = "d_status_id", nullable = false)
     private DeliveryStatus deliveryStatus;
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/DeliveryStatus.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/DeliveryStatus.java	(revision a846630b9a763380297b3f930191dc930be61ebe)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/DeliveryStatus.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -11,11 +11,11 @@
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Column(name = "del_status_id")
+    @Column(name = "d_status_id")
     private Short deliveryStatusId;
 
-    @Column(name = "del_status_name", nullable = false)
+    @Column(name = "d_status_name", nullable = false)
     private String deliveryStatusName;
 
-    @Column(name = "del_status_desc", nullable = false)
+    @Column(name = "d_status_desc", nullable = false)
     private String deliveryStatusDescription;
 
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 a846630b9a763380297b3f930191dc930be61ebe)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Manufacturer.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -18,5 +18,5 @@
     private String manufacturerName;
 
-    @Column(name = "man_address", nullable = false)
+    @Column(name = "man_adr", nullable = false)
     private String manufacturerAddress;
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/OrderStatus.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/OrderStatus.java	(revision a846630b9a763380297b3f930191dc930be61ebe)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/OrderStatus.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -11,11 +11,11 @@
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Column(name = "ord_status_id")
+    @Column(name = "o_status_id")
     private Short orderStatusId;
 
-    @Column(name = "ord_status_name", nullable = false)
+    @Column(name = "o_status_name", nullable = false)
     private String orderStatusName;
 
-    @Column(name = "ord_status_desc", nullable = false)
+    @Column(name = "o_status_desc", nullable = false)
     private String orderStatusDescription;
 
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 a846630b9a763380297b3f930191dc930be61ebe)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Orders.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -30,5 +30,5 @@
 
     @ManyToOne
-    @JoinColumn(name = "ord_status_id", nullable = false)
+    @JoinColumn(name = "o_status_id", nullable = false)
     private OrderStatus orderStatus;
 
Index: backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Warehouse.java
===================================================================
--- backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Warehouse.java	(revision a846630b9a763380297b3f930191dc930be61ebe)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Warehouse.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -15,5 +15,5 @@
     private Integer warehouseId;
 
-    @Column(name = "wh_address", nullable = false)
+    @Column(name = "wh_adr", nullable = false)
     private String warehouseAddress;
 
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 a846630b9a763380297b3f930191dc930be61ebe)
+++ backend/src/main/java/mk/ukim/finki/db/distributorapp/model/entities/Weekday.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -2,12 +2,10 @@
 
 import jakarta.persistence.*;
-import lombok.Getter;
-import lombok.Setter;
+import lombok.Data;
 
 import java.util.LinkedHashSet;
 import java.util.Set;
 
-@Getter
-@Setter
+@Data
 @Entity
 @Table(name = "weekday")
Index: backend/src/main/resources/application.properties
===================================================================
--- backend/src/main/resources/application.properties	(revision a846630b9a763380297b3f930191dc930be61ebe)
+++ backend/src/main/resources/application.properties	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -1,33 +1,3 @@
 spring.application.name=DistributorApp
-## PostgreSQL
-spring.datasource.url=jdbc:postgresql://localhost:5432/distributor_app
-spring.datasource.username=postgres
-spring.datasource.password=b17i19
 
-spring.datasource.hikari.connectionTimeout=20000
-spring.datasource.hikari.maximumPoolSize=5
-
-spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
-
-#spring.jpa.hibernate.ddl-auto=validate
-spring.jpa.show-sql=true
-
-spring.datasource.hikari.schema=IND0_185022
-spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
-
-spring.jpa.properties.hibernate.format_sql=true
-spring.jpa.properties.hibernate.use_sql_comments=true
-#spring.datasource.driver-class-name=org.postgresql.Driver
-#spring.data.jdbc.dialect=postgresql
-
-# Email properties / smtp mail properties
-spring.mail.host=smtp.gmail.com
-spring.mail.port=587
-spring.mail.username=borisdzotov@gmail.com
-spring.mail.password=jcxs wsax pynk bzvg
-spring.mail.properties.mail.smtp.auth=true
-spring.mail.properties.mail.smtp.starttls.enable=true
-
-## Logging/Debugging:
-logging.level.org.springframework.jdbc=DEBUG
-logging.level.org.hibernate.SQL=DEBUG
+spring.profiles.active=prod
Index: backend/src/test/java/mk/ukim/finki/db/distributorapp/ApiEndpointsTest.java
===================================================================
--- backend/src/test/java/mk/ukim/finki/db/distributorapp/ApiEndpointsTest.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
+++ backend/src/test/java/mk/ukim/finki/db/distributorapp/ApiEndpointsTest.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -0,0 +1,67 @@
+package mk.ukim.finki.db.distributorapp;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.web.servlet.MockMvc;
+
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+@SpringBootTest
+@AutoConfigureMockMvc
+public class ApiEndpointsTest {
+
+    @Autowired
+    private MockMvc mockMvc;
+
+    @Test
+    public void testAllEndpoints() throws Exception {
+        List<String> urls = List.of(
+                "/article/all",
+                "/articleUnit/all",
+                "/category/all",
+                "/city/all",
+                "/customer/all",
+                "/delivery/all",
+                "/dStatus/all",
+                "/driver/all",
+                "/manager/all",
+                "/manufacturer/all",
+                "/order/all",
+                "/oStatus/all",
+                "/price/all",
+                "/pForma/all",
+                "/pfStatus/all",
+                "/region/all",
+                "/users/all",
+                "/vehicle/all",
+                "/warehouse/all",
+                "/weekday/all"
+        );
+
+        StringBuilder summary = new StringBuilder();
+        boolean allTestsPassed = true;
+
+        for (String url : urls) {
+            try {
+                mockMvc.perform(get(url))
+                        .andExpect(status().isOk());
+                summary.append("SUCCESS: ").append(url)
+                        .append("\n");
+            } catch (Exception e) {
+                allTestsPassed = false;
+                summary.append("FAILED: ").append(url)
+                        .append(" - ").append(e.getMessage())
+                        .append("\n");
+            }
+        }
+
+        System.out.println("\nTest Summary:\n"+summary);
+        assertTrue(allTestsPassed,"Some endpoints failed. Check the summary for details.");
+    }
+}
Index: backend/src/test/java/mk/ukim/finki/db/distributorapp/ArticleControllerIntegrationTest.java
===================================================================
--- backend/src/test/java/mk/ukim/finki/db/distributorapp/ArticleControllerIntegrationTest.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
+++ backend/src/test/java/mk/ukim/finki/db/distributorapp/ArticleControllerIntegrationTest.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -0,0 +1,91 @@
+package mk.ukim.finki.db.distributorapp;
+
+import org.junit.jupiter.api.Test;
+import org.junit.platform.commons.logging.Logger;
+import org.junit.platform.commons.logging.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.http.MediaType;
+import org.springframework.test.web.servlet.MockMvc;
+import org.springframework.web.client.RestTemplate;
+
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+@SpringBootTest
+@AutoConfigureMockMvc
+public class ArticleControllerIntegrationTest {
+
+    private static final Logger logger = LoggerFactory.getLogger(ArticleControllerIntegrationTest.class);
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    @Autowired
+    private MockMvc mockMvc;
+
+//    @Test
+//    void testGetAllArticles() {
+//        logger.info();
+//    }
+
+    @Test
+    public void testAddEditDeleteArticle() throws Exception {
+        String newArticle = """
+                {
+                    "id": null,
+                    "name": "Test Article",
+                    "manufacturer": "Test Manufacturer",
+                    "manufacturerId": 1,
+                    "price": 99.99,
+                    "category": "Test Category",
+                    "categoryId": 1,
+                    "weight": 10,
+                    "image": "test_image.jpg"
+                }
+                """;
+
+        String response = mockMvc.perform(put("/article/add")
+                        .contentType(MediaType.APPLICATION_JSON)
+                        .content(newArticle))
+                .andExpect(status().isOk())
+                .andExpect(jsonPath("$.id").exists())
+                .andReturn()
+                .getResponse()
+                .getContentAsString();
+
+        Long articleId = extractIdFromResponse(response);
+
+        String updatedArticle = """
+                {
+                    "id": %d,
+                    "name": "Updated Test Article",
+                    "manufacturer": "Test Manufacturer",
+                    "manufacturerId": 1,
+                    "price": 199.99,
+                    "category": "Test Category",
+                    "categoryId": 1,
+                    "weight": 15,
+                    "image": "updated_image.jpg"
+                }
+                """.formatted(articleId);
+
+        mockMvc.perform(put("/article/edit")
+                .contentType(MediaType.APPLICATION_JSON)
+                .content(updatedArticle))
+                .andExpect(status().isOk())
+                .andExpect(jsonPath("$.name").value("Updated Test Article"));
+
+        mockMvc.perform(delete("/article/delete/"+articleId))
+                .andExpect(status().isOk());
+
+        mockMvc.perform(get("/article/"+articleId))
+                .andExpect(status().isNotFound());
+    }
+
+    private Long extractIdFromResponse(String response) {
+        return Long.valueOf(response.replaceAll("[^0-9]",""));
+    }
+}
Index: backend/src/test/java/mk/ukim/finki/db/distributorapp/ControllerIntegrationTest.java
===================================================================
--- backend/src/test/java/mk/ukim/finki/db/distributorapp/ControllerIntegrationTest.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
+++ backend/src/test/java/mk/ukim/finki/db/distributorapp/ControllerIntegrationTest.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -0,0 +1,62 @@
+package mk.ukim.finki.db.distributorapp;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class ControllerIntegrationTest {
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    // List of controller mappings
+    private final List<String> controllerMappings = List.of(
+            "article",
+            "articleUnit",
+            "category",
+            "city",
+            "customer",
+            "delivery",
+            "dStatus",
+            "driver",
+            "manager",
+            "manufacturer",
+            "order",
+            "oStatus",
+            "price",
+            "pForma",
+            "pfStatus",
+            "region",
+            "users",
+            "vehicle",
+            "warehouse",
+            "weekday"
+            // Add more mappings as needed
+    );
+
+    @Test
+    void testGetAllEndpoints() {
+        controllerMappings.forEach(mapping -> {
+            String url = "http://localhost:8080/" + mapping + "/all";
+            System.out.println("Testing endpoint: " + url);
+
+            ResponseEntity<Object[]> response = restTemplate.getForEntity(url, Object[].class);
+
+            // Check the status code
+            assertEquals(200, response.getStatusCodeValue(), "Unexpected status code for " + url);
+
+            // Check the response body
+            Object[] body = response.getBody();
+            assertNotNull(body, "Response body is null for " + url);
+            assertTrue(true, "Response body is not an array or has invalid size for " + url);
+
+            System.out.println("✅ Successfully tested: " + url + " with " + body.length + " items.");
+        });
+    }
+}
Index: backend/src/test/java/mk/ukim/finki/db/distributorapp/config/TestConfig.java
===================================================================
--- backend/src/test/java/mk/ukim/finki/db/distributorapp/config/TestConfig.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
+++ backend/src/test/java/mk/ukim/finki/db/distributorapp/config/TestConfig.java	(revision 2a2d120bf924ec132f7f3c2d3089eea63266cc33)
@@ -0,0 +1,14 @@
+package mk.ukim.finki.db.distributorapp.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.client.RestTemplate;
+
+@Configuration
+public class TestConfig {
+
+    @Bean
+    public RestTemplate restTemplate() {
+        return new RestTemplate();
+    }
+}
