Index: backend/connectionModel.js
===================================================================
--- backend/connectionModel.js	(revision c0a2ec2323d5af8120379111b5a59c45393d105e)
+++ backend/connectionModel.js	(revision b52e4a373a687fe2b62a7e375e37f9bad322ad87)
@@ -3,9 +3,9 @@
     // Connect to local postgre server
 
-    user: "postgres",
+    /* user: "postgres",
     host: "localhost",
     database: "postgres",
     password: "3533",
-    port: 5432,
+    port: 5432, */
 
     //Connect to live finki postgre server
@@ -16,4 +16,10 @@
     password: "673f77a552e6",
     port: 9999, */
+
+    user: "db_202425z_va_prj_carzone_owner",
+    host: "localhost",
+    database: "db_202425z_va_prj_carzone",
+    password: "af47de86cd4a",
+    port: 9999,
 });
 
@@ -23,5 +29,5 @@
         return await new Promise(function (resolve, reject) {
             pool.query(
-                "SELECT * from vehicle as v where v.status=true",
+                "SELECT vin, make, model, p_year, color, price, tax_nr, capacity, power, body FROM vehicle WHERE status = true ORDER BY p_year DESC, make, model",
                 (error, results) => {
                     if (error) {
@@ -30,16 +36,15 @@
                     if (results && results.rows) {
                         resolve(results.rows);
-                        console.log(results.rows)
-                    } else {
-                        reject(new Error("No results found"));
-                    }
-                }
-            );
-        });
-    } catch (error_1) {
-        console.error(error_1);
-        throw new Error("Internal server error");
-    }
-    
+                        console.log(`Retrieved ${results.rows.length} available vehicles`);
+                    } else {
+                        resolve([]);
+                    }
+                }
+            );
+        });
+    } catch (error_1) {
+        console.error(error_1);
+        throw new Error("Internal server error");
+    }
 };
 
@@ -49,5 +54,5 @@
         return await new Promise(function (resolve, reject) {
             pool.query(
-                "SELECT * from vehicle where tax_nr=$1",
+                "SELECT vin, make, model, p_year, color, price, capacity, power, body, status FROM vehicle WHERE tax_nr = $1 ORDER BY status DESC, p_year DESC, make, model",
                 [taxNr],
                 (error, results) => {
@@ -57,6 +62,7 @@
                     if (results && results.rows) {
                         resolve(results.rows);
-                    } else {
-                        reject(new Error("No results found"));
+                        console.log(`Retrieved ${results.rows.length} vehicles for dealership ${taxNr}`);
+                    } else {
+                        resolve([]);
                     }
                 }
@@ -396,5 +402,6 @@
         return await new Promise(function (resolve, reject) {
             pool.query(
-                `SELECT a.*, v.make, v.model, v.p_year, v.color,
+                `SELECT a.a_id, a.price, a.status, a.datum, a.vin, a.embg, a.tax_nr,
+                        v.make, v.model, v.p_year, v.color,
                         c.c_name, c.embg, d.d_name,
                         CASE WHEN p.p_id IS NOT NULL THEN true ELSE false END as payment_exists,
@@ -414,4 +421,5 @@
                     if (results && results.rows) {
                         resolve(results.rows);
+                        console.log(`Retrieved ${results.rows.length} agreements for dealership ${taxNr}`);
                     } else {
                         resolve([]);
@@ -479,5 +487,5 @@
                 "SELECT * FROM dealership WHERE email = $1 AND pass = $2",
                 [email, password],
-                async (error, results) => {
+                (error, results) => {
                     if (error) {
                         reject(error);
@@ -486,15 +494,5 @@
                     if (results && results.rows && results.rows.length > 0) {
                         const dealership = results.rows[0];
-                        try {
-                            const brands = await getDealershipBrands(dealership.tax_nr);
-                            const telephones = await getDealershipTelephones(dealership.tax_nr);
-                            resolve({
-                                ...dealership,
-                                brands: brands,
-                                telephones: telephones
-                            });
-                        } catch (detailError) {
-                            reject(detailError);
-                        }
+                        resolve(dealership);
                     } else {
                         resolve(null);
@@ -514,5 +512,5 @@
         return await new Promise(function (resolve, reject) {
             pool.query(
-                "SELECT * FROM client WHERE email = $1 AND pass = $2",
+                "SELECT embg, c_name, email, pass, telephone FROM client WHERE email = $1 AND pass = $2",
                 [email, password],
                 (error, results) => {
@@ -579,5 +577,6 @@
         return await new Promise(function (resolve, reject) {
             pool.query(
-                `SELECT a.*, v.make, v.model, v.p_year, v.color, v.price as vehicle_price, 
+                `SELECT a.a_id, a.price, a.status, a.datum, a.vin, a.embg, a.tax_nr,
+                        v.make, v.model, v.p_year, v.color, v.price as vehicle_price, 
                         d.d_name as dealership_name,
                         CASE WHEN p.p_id IS NOT NULL THEN true ELSE false END as payment_exists
@@ -586,5 +585,6 @@
                  JOIN dealership d ON a.tax_nr = d.tax_nr 
                  LEFT JOIN payment p ON a.a_id = p.a_id
-                 WHERE a.embg = $1`,
+                 WHERE a.embg = $1
+                 ORDER BY a.datum DESC`,
                 [embg],
                 (error, results) => {
@@ -594,6 +594,7 @@
                     if (results && results.rows) {
                         resolve(results.rows);
-                    } else {
-                        reject(new Error("No results found"));
+                        console.log(`Retrieved ${results.rows.length} agreements for client ${embg}`);
+                    } else {
+                        resolve([]);
                     }
                 }
@@ -869,4 +870,114 @@
                     } else {
                         resolve(null);
+                    }
+                }
+            );
+        });
+    } catch (error_1) {
+        console.error(error_1);
+        throw new Error("Internal server error");
+    }
+};
+
+// Search vehicles by make, model, year, price range
+const searchVehicles = async (searchParams) => {
+    try {
+        return await new Promise(function (resolve, reject) {
+            const { make, model, minYear, maxYear, minPrice, maxPrice, limit = 50 } = searchParams;
+            
+            let query = "SELECT vin, make, model, p_year, color, price, tax_nr, capacity, power, body FROM vehicle WHERE status = true";
+            const params = [];
+            let paramCount = 0;
+            
+            if (make) {
+                paramCount++;
+                query += ` AND make ILIKE $${paramCount}`;
+                params.push(`%${make}%`);
+            }
+            
+            if (model) {
+                paramCount++;
+                query += ` AND model ILIKE $${paramCount}`;
+                params.push(`%${model}%`);
+            }
+            
+            if (minYear) {
+                paramCount++;
+                query += ` AND p_year >= $${paramCount}`;
+                params.push(minYear);
+            }
+            
+            if (maxYear) {
+                paramCount++;
+                query += ` AND p_year <= $${paramCount}`;
+                params.push(maxYear);
+            }
+            
+            if (minPrice) {
+                paramCount++;
+                query += ` AND price >= $${paramCount}`;
+                params.push(minPrice);
+            }
+            
+            if (maxPrice) {
+                paramCount++;
+                query += ` AND price <= $${paramCount}`;
+                params.push(maxPrice);
+            }
+            
+            query += ` ORDER BY p_year DESC, make, model LIMIT $${paramCount + 1}`;
+            params.push(limit);
+            
+            pool.query(query, params, (error, results) => {
+                if (error) {
+                    reject(error);
+                } else {
+                    resolve(results.rows);
+                    console.log(`Search returned ${results.rows.length} vehicles`);
+                }
+            });
+        });
+    } catch (error_1) {
+        console.error(error_1);
+        throw new Error("Internal server error");
+    }
+};
+
+// Get vehicles by price range
+const getVehiclesByPriceRange = async (minPrice, maxPrice) => {
+    try {
+        return await new Promise(function (resolve, reject) {
+            pool.query(
+                "SELECT vin, make, model, p_year, color, price, tax_nr, capacity, power, body FROM vehicle WHERE status = true AND price BETWEEN $1 AND $2 ORDER BY price ASC, p_year DESC",
+                [minPrice, maxPrice],
+                (error, results) => {
+                    if (error) {
+                        reject(error);
+                    } else {
+                        resolve(results.rows);
+                        console.log(`Found ${results.rows.length} vehicles in price range ${minPrice}-${maxPrice}`);
+                    }
+                }
+            );
+        });
+    } catch (error_1) {
+        console.error(error_1);
+        throw new Error("Internal server error");
+    }
+};
+
+// Get vehicles by year range
+const getVehiclesByYearRange = async (minYear, maxYear) => {
+    try {
+        return await new Promise(function (resolve, reject) {
+            pool.query(
+                "SELECT vin, make, model, p_year, color, price, tax_nr, capacity, power, body FROM vehicle WHERE status = true AND p_year BETWEEN $1 AND $2 ORDER BY p_year DESC, make, model",
+                [minYear, maxYear],
+                (error, results) => {
+                    if (error) {
+                        reject(error);
+                    } else {
+                        resolve(results.rows);
+                        console.log(`Found ${results.rows.length} vehicles in year range ${minYear}-${maxYear}`);
                     }
                 }
@@ -927,3 +1038,6 @@
     getDealershipTelephones,
     getDealershipWithDetails,
-};
+    searchVehicles,
+    getVehiclesByPriceRange,
+    getVehiclesByYearRange,
+};
Index: backend/cookies.txt
===================================================================
--- backend/cookies.txt	(revision c0a2ec2323d5af8120379111b5a59c45393d105e)
+++ backend/cookies.txt	(revision b52e4a373a687fe2b62a7e375e37f9bad322ad87)
@@ -3,3 +3,3 @@
 # This file was generated by libcurl! Edit at your own risk.
 
-#HttpOnly_localhost	FALSE	/	FALSE	1757023108	connect.sid	s%3AOQCKNMOJ-SQyKo3GJdTQmi1mEix0SLWS.HOYY453phBGbtjuYsU6NU7q3spU68OuWNQ0Z6m4zvX4
+#HttpOnly_localhost	FALSE	/	FALSE	1757646832	connect.sid	s%3AifbN6LIWp_gdrmHxv94OSHTPPCVMSEaw.8r0ttx3N4MPd6XhAPCseaMgJzi2UxFx6586yMv22yQU
Index: backend/index.js
===================================================================
--- backend/index.js	(revision c0a2ec2323d5af8120379111b5a59c45393d105e)
+++ backend/index.js	(revision b52e4a373a687fe2b62a7e375e37f9bad322ad87)
@@ -414,4 +414,62 @@
 });
 
+// Search vehicles with filters
+app.get("/vehicles/search", (req, res) => {
+    const searchParams = {
+        make: req.query.make,
+        model: req.query.model,
+        minYear: req.query.minYear ? parseInt(req.query.minYear) : null,
+        maxYear: req.query.maxYear ? parseInt(req.query.maxYear) : null,
+        minPrice: req.query.minPrice ? parseFloat(req.query.minPrice) : null,
+        maxPrice: req.query.maxPrice ? parseFloat(req.query.maxPrice) : null,
+        limit: req.query.limit ? parseInt(req.query.limit) : 50
+    };
+
+    connection_model
+        .searchVehicles(searchParams)
+        .then((response) => {
+            res.status(200).json(response);
+        })
+        .catch((error) => {
+            res.status(500).json({ error: error.message });
+        });
+});
+
+// Get vehicles by price range
+app.get("/vehicles/price-range", (req, res) => {
+    const { minPrice, maxPrice } = req.query;
+    
+    if (!minPrice || !maxPrice) {
+        return res.status(400).json({ error: 'minPrice and maxPrice are required' });
+    }
+
+    connection_model
+        .getVehiclesByPriceRange(parseFloat(minPrice), parseFloat(maxPrice))
+        .then((response) => {
+            res.status(200).json(response);
+        })
+        .catch((error) => {
+            res.status(500).json({ error: error.message });
+        });
+});
+
+// Get vehicles by year range
+app.get("/vehicles/year-range", (req, res) => {
+    const { minYear, maxYear } = req.query;
+    
+    if (!minYear || !maxYear) {
+        return res.status(400).json({ error: 'minYear and maxYear are required' });
+    }
+
+    connection_model
+        .getVehiclesByYearRange(parseInt(minYear), parseInt(maxYear))
+        .then((response) => {
+            res.status(200).json(response);
+        })
+        .catch((error) => {
+            res.status(500).json({ error: error.message });
+        });
+});
+
 app.listen(port, () => {
     console.log(`App running on port ${port}.`);
Index: frontend/src/components/BlogCard.js
===================================================================
--- frontend/src/components/BlogCard.js	(revision c0a2ec2323d5af8120379111b5a59c45393d105e)
+++ frontend/src/components/BlogCard.js	(revision b52e4a373a687fe2b62a7e375e37f9bad322ad87)
@@ -57,5 +57,5 @@
                     <Flex height='2px' bg='teal' width='100%'></Flex>
                     <Text fontSize='14px' padding='5px'>
-                        {p_year.slice(1, -1)}
+                        {p_year}
                     </Text>
                 </Flex>
@@ -85,5 +85,5 @@
                     alignSelf='right'
                     justifySelf='right'>
-                    {price.slice(1, -1) + "e"}
+                    {price + "e"}
                 </Text>
             </Flex>
Index: frontend/src/components/SoldBlogCard.js
===================================================================
--- frontend/src/components/SoldBlogCard.js	(revision c0a2ec2323d5af8120379111b5a59c45393d105e)
+++ frontend/src/components/SoldBlogCard.js	(revision b52e4a373a687fe2b62a7e375e37f9bad322ad87)
@@ -35,6 +35,6 @@
             make: car_make,
             model: car_model,
-            p_year: p_year.slice(1, -1),
-            price: price.slice(1, -1)
+            p_year: p_year,
+            price: price
         };
         navigate("/createagreement", { state: { vin, vehicleInfo } });
@@ -126,5 +126,5 @@
                     <Flex height='2px' bg='teal' width='100%'></Flex>
                     <Text fontSize='14px' padding='5px'>
-                        {p_year.slice(1, -1)}
+                        {p_year}
                     </Text>
                 </Flex>
@@ -153,8 +153,8 @@
                     textAlign='center'
                     justifySelf='right'>
-                    {price.slice(1, -1) + "e"}
+                    {price + "e"}
                 </Text>
                 <Flex marginTop='5px' justifyContent='space-between'>
-                    {status == "false" ? (
+                    {status === false ? (
                         <Button
                             minW="120px"
@@ -177,5 +177,5 @@
                         </Button>
                     )}
-                    {status == "false" ? (
+                    {status === false ? (
                         <Button
                             bg='blue'
@@ -217,5 +217,5 @@
                             <br />
                             <br />
-                            <strong>{car_make} {car_model} ({p_year.slice(1, -1)})</strong>
+                            <strong>{car_make} {car_model} ({p_year})</strong>
                         </AlertDialogBody>
 
Index: frontend/src/pages/DealershipLogin.js
===================================================================
--- frontend/src/pages/DealershipLogin.js	(revision c0a2ec2323d5af8120379111b5a59c45393d105e)
+++ frontend/src/pages/DealershipLogin.js	(revision b52e4a373a687fe2b62a7e375e37f9bad322ad87)
@@ -26,5 +26,5 @@
                 },
                 credentials: 'include',
-                body: JSON.stringify({ email, password }),
+                body: JSON.stringify({ email, pass: password }),
             });
 
@@ -34,5 +34,5 @@
                 toast({
                     title: "Login successful",
-                    description: `Welcome back, ${data.user.D_Name}!`,
+                    description: `Welcome back, ${data.user.d_name}!`,
                     status: "success",
                     duration: 3000,
Index: frontend/src/pages/Home.js
===================================================================
--- frontend/src/pages/Home.js	(revision c0a2ec2323d5af8120379111b5a59c45393d105e)
+++ frontend/src/pages/Home.js	(revision b52e4a373a687fe2b62a7e375e37f9bad322ad87)
@@ -10,5 +10,5 @@
         fetch("http://localhost:3001")
             .then((response) => {
-                return response.text();
+                return response.json();
             })
             .then((data) => {
@@ -34,26 +34,20 @@
                 <>
                     {vehicles &&
-                        vehicles.split(/{(.*?)}/g).map((el, index) => {
-                            const holder = el.split(/"*"/);
-
-                            console.log(holder);
-
-                            if (el.length > 10) {
-                                return (
-                                    <BlogCard
-                                        key={index}
-                                        vin={holder[3]}
-                                        vehicle_body={holder[7]}
-                                        car_make={holder[11]}
-                                        car_model={holder[15]}
-                                        p_year={holder[18]}
-                                        capacity={holder[21]}
-                                        power={holder[24]}
-                                        color={holder[27]}
-                                        price={holder[30]}
-                                        status={holder[32]}
-                                    />
-                                );
-                            }
+                        vehicles.map((vehicle, index) => {
+                            return (
+                                <BlogCard
+                                    key={index}
+                                    vin={vehicle.vin}
+                                    vehicle_body={vehicle.body}
+                                    car_make={vehicle.make}
+                                    car_model={vehicle.model}
+                                    p_year={vehicle.p_year}
+                                    capacity={vehicle.capacity}
+                                    power={vehicle.power}
+                                    color={vehicle.color}
+                                    price={vehicle.price}
+                                    status={vehicle.status}
+                                />
+                            );
                         })}
                 </>
Index: frontend/src/pages/MyList.js
===================================================================
--- frontend/src/pages/MyList.js	(revision c0a2ec2323d5af8120379111b5a59c45393d105e)
+++ frontend/src/pages/MyList.js	(revision b52e4a373a687fe2b62a7e375e37f9bad322ad87)
@@ -48,5 +48,5 @@
                     return null;
                 }
-                return response.text();
+                return response.json();
             })
             .then((data) => {
@@ -74,27 +74,21 @@
                 <>
                     {myvehicles &&
-                        myvehicles.split(/{(.*?)}/g).map((el, index) => {
-                            const holder = el.split(/"*"/);
-
-                            console.log(holder);
-
-                            if (el.length > 10) {
-                                return (
-                                    <SoldBlogCard
-                                        key={index}
-                                        vin={holder[3]}
-                                        vehicle_body={holder[7]}
-                                        car_make={holder[11]}
-                                        car_model={holder[15]}
-                                        p_year={holder[18]}
-                                        capacity={holder[21]}
-                                        power={holder[24]}
-                                        color={holder[27]}
-                                        price={holder[30]}
-                                        status={holder[32].slice(1, -1)}
-                                        onVehicleDeleted={getMyVehicles}
-                                    />
-                                );
-                            }
+                        myvehicles.map((vehicle, index) => {
+                            return (
+                                <SoldBlogCard
+                                    key={index}
+                                    vin={vehicle.vin}
+                                    vehicle_body={vehicle.body}
+                                    car_make={vehicle.make}
+                                    car_model={vehicle.model}
+                                    p_year={vehicle.p_year}
+                                    capacity={vehicle.capacity}
+                                    power={vehicle.power}
+                                    color={vehicle.color}
+                                    price={vehicle.price}
+                                    status={vehicle.status}
+                                    onVehicleDeleted={getMyVehicles}
+                                />
+                            );
                         })}
                 </>
