Index: NDOWS_DATABASE_SETUP.md
===================================================================
--- WINDOWS_DATABASE_SETUP.md	(revision bf1ffc3db5dee87bce3d1eb06634e8f68b6012d9)
+++ 	(revision )
@@ -1,327 +1,0 @@
-# 🗄️ PostgreSQL Database Setup Guide for Windows
-
-This guide will walk you through setting up PostgreSQL database for the Kupi.mk project on Windows.
-
-## 📋 Prerequisites
-
-- Windows 10 or later
-- Administrator privileges on your computer
-- At least 1GB of free disk space
-
-## 🚀 Method 1: PostgreSQL Official Installer (Recommended)
-
-### Step 1: Download PostgreSQL
-
-1. Visit the official PostgreSQL website: https://www.postgresql.org/download/windows/
-2. Click on "Download the installer"
-3. Choose the latest stable version (PostgreSQL 15.x or 16.x)
-4. Download the Windows x86-64 installer
-
-### Step 2: Install PostgreSQL
-
-1. **Run the installer** as Administrator (right-click → "Run as administrator")
-2. **Installation Directory**: Keep default (`C:\Program Files\PostgreSQL\15\`)
-3. **Components Selection**: Check all boxes:
-   - ✅ PostgreSQL Server
-   - ✅ pgAdmin 4
-   - ✅ Stack Builder
-   - ✅ Command Line Tools
-4. **Data Directory**: Keep default (`C:\Program Files\PostgreSQL\15\data`)
-5. **Password**: Enter a strong password for the `postgres` superuser
-   - ⚠️ **IMPORTANT**: Remember this password! You'll need it later
-   - Example: `postgres123` (use a stronger password in production)
-6. **Port**: Keep default (`5432`)
-7. **Advanced Options**: Keep default locale
-8. **Pre Installation Summary**: Review and click "Next"
-9. **Ready to Install**: Click "Next" to begin installation
-10. **Installation Progress**: Wait for completion (5-10 minutes)
-11. **Completing Setup**: Uncheck "Launch Stack Builder" and click "Finish"
-
-### Step 3: Verify Installation
-
-1. **Open Command Prompt** as Administrator
-2. **Add PostgreSQL to PATH** (if not already added):
-   ```cmd
-   setx PATH "%PATH%;C:\Program Files\PostgreSQL\15\bin" /M
-   ```
-3. **Close and reopen Command Prompt**
-4. **Test PostgreSQL**:
-   ```cmd
-   psql --version
-   ```
-   You should see: `psql (PostgreSQL) 15.x`
-
-### Step 4: Create Database for Kupi.mk
-
-1. **Open Command Prompt** as Administrator
-2. **Connect to PostgreSQL**:
-   ```cmd
-   psql -U postgres -h localhost
-   ```
-3. **Enter the password** you set during installation
-4. **Create the database**:
-   ```sql
-   CREATE DATABASE kupi_mk;
-   ```
-5. **Create a user for the project**:
-   ```sql
-   CREATE USER kupi_user WITH PASSWORD 'kupi_password';
-   ```
-6. **Grant privileges**:
-   ```sql
-   GRANT ALL PRIVILEGES ON DATABASE kupi_mk TO kupi_user;
-   ```
-7. **Exit PostgreSQL**:
-   ```sql
-   \q
-   ```
-
-### Step 5: Configure Environment Variables
-
-1. **Create `.env` file** in `kupi-mk/backend/` folder:
-   ```cmd
-   cd "C:\path\to\your\project\kupi-mk\backend"
-   echo. > .env
-   ```
-
-2. **Edit the `.env` file** with Notepad:
-   ```cmd
-   notepad .env
-   ```
-
-3. **Add the following configuration**:
-   ```env
-   # Database Configuration
-   DB_HOST=localhost
-   DB_PORT=5432
-   DB_NAME=kupi_mk
-   DB_USER=kupi_user
-   DB_PASSWORD=kupi_password
-
-   # JWT Secret (change this to a random string)
-   JWT_SECRET=your_super_secret_jwt_key_here_change_this
-
-   # Server Configuration
-   PORT=5000
-   NODE_ENV=development
-
-   # File Upload Configuration
-   UPLOAD_PATH=uploads/products
-   MAX_FILE_SIZE=5242880
-   ```
-
-4. **Save and close** the file
-
-## 🐳 Method 2: Using Docker (Alternative)
-
-If you prefer using Docker:
-
-### Step 1: Install Docker Desktop
-
-1. Download Docker Desktop from: https://www.docker.com/products/docker-desktop/
-2. Install and restart your computer
-3. Start Docker Desktop
-
-### Step 2: Run PostgreSQL Container
-
-1. **Open Command Prompt**
-2. **Run PostgreSQL container**:
-   ```cmd
-   docker run --name kupi-postgres ^
-   -e POSTGRES_DB=kupi_mk ^
-   -e POSTGRES_USER=kupi_user ^
-   -e POSTGRES_PASSWORD=kupi_password ^
-   -p 5432:5432 ^
-   -d postgres:15
-   ```
-
-3. **Verify container is running**:
-   ```cmd
-   docker ps
-   ```
-
-### Step 3: Configure Environment
-
-Use the same `.env` configuration as Method 1.
-
-## 🔧 Method 3: Using pgAdmin 4 (GUI Method)
-
-If you prefer a graphical interface:
-
-### Step 1: Open pgAdmin 4
-
-1. **Find pgAdmin 4** in Start Menu
-2. **Launch pgAdmin 4**
-3. **Set master password** (first time only)
-
-### Step 2: Connect to PostgreSQL
-
-1. **Right-click "Servers"** in the left panel
-2. **Create > Server...**
-3. **General Tab**:
-   - Name: `Kupi MK Server`
-4. **Connection Tab**:
-   - Host: `localhost`
-   - Port: `5432`
-   - Username: `postgres`
-   - Password: [your postgres password]
-5. **Click "Save"**
-
-### Step 3: Create Database
-
-1. **Right-click "Databases"** under your server
-2. **Create > Database...**
-3. **Database name**: `kupi_mk`
-4. **Click "Save"**
-
-### Step 4: Create User
-
-1. **Right-click "Login/Group Roles"**
-2. **Create > Login/Group Role...**
-3. **General Tab**:
-   - Name: `kupi_user`
-4. **Definition Tab**:
-   - Password: `kupi_password`
-5. **Privileges Tab**:
-   - ✅ Can login?
-   - ✅ Create databases?
-6. **Click "Save"**
-
-## 🧪 Testing the Database Connection
-
-### Test 1: Command Line Test
-
-```cmd
-cd "C:\path\to\your\project\kupi-mk\backend"
-psql -h localhost -U kupi_user -d kupi_mk
-```
-
-### Test 2: Node.js Test
-
-1. **Create test file** `test-db.js` in backend folder:
-   ```javascript
-   const { Pool } = require('pg');
-   require('dotenv').config();
-
-   const pool = new Pool({
-     user: process.env.DB_USER,
-     host: process.env.DB_HOST,
-     database: process.env.DB_NAME,
-     password: process.env.DB_PASSWORD,
-     port: process.env.DB_PORT,
-   });
-
-   async function testConnection() {
-     try {
-       const client = await pool.connect();
-       console.log('✅ Database connected successfully!');
-       
-       const result = await client.query('SELECT NOW()');
-       console.log('Current time:', result.rows[0].now);
-       
-       client.release();
-       process.exit(0);
-     } catch (err) {
-       console.error('❌ Database connection failed:', err.message);
-       process.exit(1);
-     }
-   }
-
-   testConnection();
-   ```
-
-2. **Run the test**:
-   ```cmd
-   cd kupi-mk\backend
-   npm install pg dotenv
-   node test-db.js
-   ```
-
-## 🚨 Troubleshooting
-
-### Problem 1: "psql is not recognized"
-
-**Solution**: Add PostgreSQL to PATH manually
-```cmd
-set PATH=%PATH%;C:\Program Files\PostgreSQL\15\bin
-```
-
-### Problem 2: "Connection refused"
-
-**Solutions**:
-1. **Check if PostgreSQL service is running**:
-   ```cmd
-   services.msc
-   ```
-   Look for "postgresql-x64-15" and start it if stopped
-
-2. **Check firewall settings**:
-   - Allow PostgreSQL through Windows Firewall
-   - Default port: 5432
-
-### Problem 3: "Authentication failed"
-
-**Solutions**:
-1. **Reset postgres password**:
-   ```cmd
-   # Stop PostgreSQL service first
-   net stop postgresql-x64-15
-   
-   # Start in single user mode and reset password
-   # (This is complex - easier to reinstall)
-   ```
-
-2. **Or reinstall PostgreSQL** with a new password
-
-### Problem 4: "Database does not exist"
-
-**Solution**: Create the database again:
-```sql
-psql -U postgres
-CREATE DATABASE kupi_mk;
-```
-
-## ✅ Final Verification Checklist
-
-Before starting the Kupi.mk application:
-
-- [ ] PostgreSQL is installed and running
-- [ ] Database `kupi_mk` is created
-- [ ] User `kupi_user` exists with proper permissions
-- [ ] `.env` file is configured in `kupi-mk/backend/`
-- [ ] Database connection test passes
-- [ ] Node.js can connect to the database
-
-## 🎯 Next Steps
-
-After database setup is complete:
-
-1. **Start the backend server**:
-   ```cmd
-   cd kupi-mk\backend
-   npm install
-   npm run dev
-   ```
-
-2. **Check backend logs** for "PostgreSQL Connected" message
-
-3. **The database tables will be created automatically** when you start the backend for the first time
-
-## 📞 Need Help?
-
-If you encounter issues:
-
-1. **Check the error messages** carefully
-2. **Verify your `.env` file** configuration
-3. **Ensure PostgreSQL service is running**
-4. **Try restarting your computer** after installation
-5. **Consider using Docker method** if installation issues persist
-
-## 🔐 Security Notes
-
-For production use:
-- Use stronger passwords
-- Restrict database access
-- Use environment-specific configurations
-- Enable SSL connections
-- Regular backups
Index: kupi-mk/backend/config/database.js
===================================================================
--- kupi-mk/backend/config/database.js	(revision bf1ffc3db5dee87bce3d1eb06634e8f68b6012d9)
+++ kupi-mk/backend/config/database.js	(revision 6f76d40dd365c37d1a3086387d6f9cce1235ba61)
@@ -31,5 +31,5 @@
         username VARCHAR(50) UNIQUE NOT NULL,
         email VARCHAR(100) UNIQUE NOT NULL,
-        password VARCHAR(255) NOT NULL,
+        password VARCHAR(255),
         first_name VARCHAR(50) NOT NULL,
         last_name VARCHAR(50) NOT NULL,
@@ -37,4 +37,7 @@
         address TEXT,
         is_seller BOOLEAN DEFAULT FALSE,
+        google_id VARCHAR(255) UNIQUE,
+        email_notifications BOOLEAN DEFAULT TRUE,
+        push_notifications BOOLEAN DEFAULT TRUE,
         created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
         updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
@@ -68,4 +71,107 @@
         updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
       )
+    `);
+
+    // Cart Items table
+    await client.query(`
+      CREATE TABLE IF NOT EXISTS cart_items (
+        id SERIAL PRIMARY KEY,
+        user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
+        product_id INTEGER NOT NULL REFERENCES products(id) ON DELETE CASCADE,
+        quantity INTEGER NOT NULL DEFAULT 1 CHECK (quantity > 0),
+        added_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+        updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+        UNIQUE(user_id, product_id)
+      )
+    `);
+
+    // Orders table
+    await client.query(`
+      CREATE TABLE IF NOT EXISTS orders (
+        id SERIAL PRIMARY KEY,
+        user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
+        total_amount DECIMAL(10,2) NOT NULL CHECK (total_amount >= 0),
+        status VARCHAR(50) NOT NULL DEFAULT 'pending' CHECK (status IN ('pending', 'confirmed', 'processing', 'shipped', 'delivered', 'cancelled')),
+        payment_method VARCHAR(50),
+        shipping_address TEXT NOT NULL,
+        billing_address TEXT,
+        phone VARCHAR(20),
+        notes TEXT,
+        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+        updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
+      )
+    `);
+
+    // Order Items table
+    await client.query(`
+      CREATE TABLE IF NOT EXISTS order_items (
+        id SERIAL PRIMARY KEY,
+        order_id INTEGER NOT NULL REFERENCES orders(id) ON DELETE CASCADE,
+        product_id INTEGER NOT NULL REFERENCES products(id) ON DELETE CASCADE,
+        quantity INTEGER NOT NULL CHECK (quantity > 0),
+        price DECIMAL(10,2) NOT NULL CHECK (price >= 0)
+      )
+    `);
+
+    // Product Reviews table
+    await client.query(`
+      CREATE TABLE IF NOT EXISTS product_reviews (
+        id SERIAL PRIMARY KEY,
+        user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
+        product_id INTEGER NOT NULL REFERENCES products(id) ON DELETE CASCADE,
+        rating INTEGER NOT NULL CHECK (rating >= 1 AND rating <= 5),
+        comment TEXT,
+        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+        updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+        UNIQUE(user_id, product_id)
+      )
+    `);
+
+    // Review Helpfulness table
+    await client.query(`
+      CREATE TABLE IF NOT EXISTS review_helpfulness (
+        id SERIAL PRIMARY KEY,
+        user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
+        review_id INTEGER NOT NULL REFERENCES product_reviews(id) ON DELETE CASCADE,
+        is_helpful BOOLEAN NOT NULL,
+        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+        UNIQUE(user_id, review_id)
+      )
+    `);
+
+    // Favorites table
+    await client.query(`
+      CREATE TABLE IF NOT EXISTS favorites (
+        id SERIAL PRIMARY KEY,
+        user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
+        product_id INTEGER NOT NULL REFERENCES products(id) ON DELETE CASCADE,
+        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+        UNIQUE(user_id, product_id)
+      )
+    `);
+
+    // Notifications table
+    await client.query(`
+      CREATE TABLE IF NOT EXISTS notifications (
+        id SERIAL PRIMARY KEY,
+        user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
+        type VARCHAR(50) NOT NULL,
+        title VARCHAR(255) NOT NULL,
+        message TEXT NOT NULL,
+        order_id INTEGER REFERENCES orders(id) ON DELETE CASCADE,
+        is_read BOOLEAN DEFAULT FALSE,
+        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
+      )
+    `);
+
+    // Create indexes for better performance
+    await client.query(`
+      CREATE INDEX IF NOT EXISTS idx_notifications_user_id ON notifications(user_id);
+      CREATE INDEX IF NOT EXISTS idx_notifications_is_read ON notifications(is_read);
+      CREATE INDEX IF NOT EXISTS idx_notifications_created_at ON notifications(created_at DESC);
+      CREATE INDEX IF NOT EXISTS idx_cart_items_user_id ON cart_items(user_id);
+      CREATE INDEX IF NOT EXISTS idx_orders_user_id ON orders(user_id);
+      CREATE INDEX IF NOT EXISTS idx_favorites_user_id ON favorites(user_id);
+      CREATE INDEX IF NOT EXISTS idx_product_reviews_product_id ON product_reviews(product_id);
     `);
 
Index: kupi-mk/backend/routes/notifications.js
===================================================================
--- kupi-mk/backend/routes/notifications.js	(revision bf1ffc3db5dee87bce3d1eb06634e8f68b6012d9)
+++ kupi-mk/backend/routes/notifications.js	(revision 6f76d40dd365c37d1a3086387d6f9cce1235ba61)
@@ -10,4 +10,5 @@
     const userId = req.user.userId;
     const unreadOnly = req.query.unread === 'true';
+    const readOnly = req.query.read === 'true';
 
     let query = `SELECT n.*, o.total_amount, o.status as order_status
@@ -18,4 +19,6 @@
     if (unreadOnly) {
       query += ' AND n.is_read = FALSE';
+    } else if (readOnly) {
+      query += ' AND n.is_read = TRUE';
     }
     
@@ -109,5 +112,5 @@
 });
 
-// Helper function to create a notification (used by other routes)
+// Helper function to create a notification (for seller)
 const createNotification = async (userId, type, title, message, orderId = null) => {
   try {
Index: kupi-mk/frontend/src/App.js
===================================================================
--- kupi-mk/frontend/src/App.js	(revision bf1ffc3db5dee87bce3d1eb06634e8f68b6012d9)
+++ kupi-mk/frontend/src/App.js	(revision 6f76d40dd365c37d1a3086387d6f9cce1235ba61)
@@ -19,4 +19,5 @@
 import SellerDashboard from './pages/SellerDashboard';
 import Favorites from './pages/Favorites';
+import Notifications from './pages/Notifications';
 import ProtectedRoute from './components/ProtectedRoute';
 import SellerRoute from './components/SellerRoute';
@@ -86,4 +87,12 @@
                 />
                 <Route 
+                  path="/notifications" 
+                  element={
+                    <ProtectedRoute>
+                      <Notifications />
+                    </ProtectedRoute>
+                  } 
+                />
+                <Route 
                   path="/seller-dashboard" 
                   element={
Index: kupi-mk/frontend/src/components/NotificationBell.js
===================================================================
--- kupi-mk/frontend/src/components/NotificationBell.js	(revision bf1ffc3db5dee87bce3d1eb06634e8f68b6012d9)
+++ kupi-mk/frontend/src/components/NotificationBell.js	(revision 6f76d40dd365c37d1a3086387d6f9cce1235ba61)
@@ -22,18 +22,18 @@
   const playNotificationSound = useCallback(() => {
     try {
-      console.log('🔊 Playing notification sound...');
+      console.log(' Playing notification sound...');
       if (audioRef.current) {
         audioRef.current();
-        console.log('✅ Sound played successfully');
+        console.log(' Sound played successfully');
       } else {
-        console.log('❌ Audio ref is null');
+        console.log(' Audio ref is null');
       }
     } catch (err) {
-      console.log('❌ Audio play failed:', err);
+      console.log(' Audio play failed:', err);
     }
   }, []);
 
   const showBrowserNotification = useCallback((title, body) => {
-    console.log('🔔 Showing browser notification:', title, body);
+    console.log(' Showing browser notification:', title, body);
     if ('Notification' in window && Notification.permission === 'granted') {
       const notification = new Notification(title, {
@@ -52,7 +52,7 @@
       // Auto close after 5 seconds
       setTimeout(() => notification.close(), 5000);
-      console.log('✅ Browser notification shown');
+      console.log(' Browser notification shown');
     } else {
-      console.log('❌ Notification permission not granted or not supported');
+      console.log(' Notification permission not granted or not supported');
     }
   }, []);
@@ -65,9 +65,9 @@
       const newCount = unreadNotifications.length;
       
-      console.log('📊 Unread notifications:', newCount, 'Last ID:', lastNotificationIdRef.current, 'IsInitial:', isInitialLoadRef.current);
+      console.log(' Unread notifications:', newCount, 'Last ID:', lastNotificationIdRef.current, 'IsInitial:', isInitialLoadRef.current);
       
       // Skip notification on initial load
       if (isInitialLoadRef.current) {
-        console.log('⏭️ Skipping initial load');
+        console.log(' Skipping initial load');
         isInitialLoadRef.current = false;
         if (unreadNotifications.length > 0) {
@@ -83,5 +83,5 @@
         
         if (lastNotificationIdRef.current !== null && latestNotification.id !== lastNotificationIdRef.current) {
-          console.log('🆕 New notification detected! ID:', latestNotification.id, 'Previous ID:', lastNotificationIdRef.current);
+          console.log('New notification detected! ID:', latestNotification.id, 'Previous ID:', lastNotificationIdRef.current);
           playNotificationSound();
           showBrowserNotification(
@@ -101,5 +101,5 @@
 
   useEffect(() => {
-    console.log('🚀 NotificationBell mounted');
+    console.log(' NotificationBell mounted');
     
     // Request notification permission on mount
@@ -129,7 +129,7 @@
     try {
       audioRef.current = createNotificationSound();
-      console.log('✅ Audio context created');
+      console.log('Audio context created');
     } catch (err) {
-      console.log('❌ Audio context not supported:', err);
+      console.log('Audio context not supported:', err);
     }
     
@@ -138,5 +138,5 @@
     const interval = setInterval(fetchUnreadCount, 30000);
     return () => {
-      console.log('🛑 NotificationBell unmounted');
+      console.log('NotificationBell unmounted');
       clearInterval(interval);
     };
@@ -173,7 +173,14 @@
       setUnreadCount(prev => Math.max(0, prev - 1));
       
-      // Navigate to order details if it's an order notification
-      if (notification.order_id) {
-        navigate(`/orders/${notification.order_id}`);
+      // Navigate based on notification type
+      if (notification.type === 'new_order') {
+        // Seller notification - go to seller dashboard
+        navigate('/seller-dashboard');
+      } else if (notification.type === 'order_status_change') {
+        // Buyer notification - go to order history
+        navigate('/orders');
+      } else if (notification.order_id) {
+        // Fallback: if there's an order_id, go to orders
+        navigate('/orders');
       }
       
@@ -262,5 +269,5 @@
                   className="text-sm text-primary-600 hover:text-primary-700"
                 >
-                  Označи сè како прочитано
+                  Oзначи сè како прочитано
                 </button>
               )}
Index: kupi-mk/frontend/src/pages/Notifications.js
===================================================================
--- kupi-mk/frontend/src/pages/Notifications.js	(revision 6f76d40dd365c37d1a3086387d6f9cce1235ba61)
+++ kupi-mk/frontend/src/pages/Notifications.js	(revision 6f76d40dd365c37d1a3086387d6f9cce1235ba61)
@@ -0,0 +1,252 @@
+import React, { useState, useEffect, useCallback } from 'react';
+import { Link } from 'react-router-dom';
+import api from '../services/api';
+
+const Notifications = () => {
+  const [notifications, setNotifications] = useState([]);
+  const [loading, setLoading] = useState(true);
+  const [filter, setFilter] = useState('all'); // all, unread, read
+
+  const fetchNotifications = useCallback(async () => {
+    try {
+      setLoading(true);
+      let url = '/notifications';
+      if (filter === 'unread') {
+        url += '?unread=true';
+      } else if (filter === 'read') {
+        url += '?read=true';
+      }
+      
+      const response = await api.get(url);
+      setNotifications(response.data);
+    } catch (error) {
+      console.error('Error fetching notifications:', error);
+    } finally {
+      setLoading(false);
+    }
+  }, [filter]);
+
+  useEffect(() => {
+    fetchNotifications();
+  }, [fetchNotifications]);
+
+  const handleMarkAsRead = async (notificationId) => {
+    try {
+      await api.patch(`/notifications/${notificationId}/read`);
+      setNotifications(notifications.map(n => 
+        n.id === notificationId ? { ...n, is_read: true } : n
+      ));
+    } catch (error) {
+      console.error('Error marking as read:', error);
+    }
+  };
+
+  const handleMarkAllRead = async () => {
+    try {
+      await api.patch('/notifications/read-all');
+      setNotifications(notifications.map(n => ({ ...n, is_read: true })));
+    } catch (error) {
+      console.error('Error marking all as read:', error);
+    }
+  };
+
+  const handleDelete = async (notificationId) => {
+    try {
+      await api.delete(`/notifications/${notificationId}`);
+      setNotifications(notifications.filter(n => n.id !== notificationId));
+    } catch (error) {
+      console.error('Error deleting notification:', error);
+    }
+  };
+
+  const getNotificationIcon = (type) => {
+    switch (type) {
+      case 'new_order':
+        return '🛒';
+      case 'order_status_change':
+        return '📦';
+      default:
+        return '🔔';
+    }
+  };
+
+  const formatTimeAgo = (dateString) => {
+    const date = new Date(dateString);
+    const now = new Date();
+    const seconds = Math.floor((now - date) / 1000);
+
+    if (seconds < 60) return 'пред неколку секунди';
+    if (seconds < 3600) return `пред ${Math.floor(seconds / 60)} минути`;
+    if (seconds < 86400) return `пред ${Math.floor(seconds / 3600)} часа`;
+    if (seconds < 604800) return `пред ${Math.floor(seconds / 86400)} дена`;
+    return date.toLocaleDateString('mk-MK');
+  };
+
+  const unreadCount = notifications.filter(n => !n.is_read).length;
+
+  if (loading) {
+    return (
+      <div className="flex justify-center items-center min-h-screen">
+        <div className="text-xl text-gray-600">Се вчитува...</div>
+      </div>
+    );
+  }
+
+  return (
+    <div className="container mx-auto px-4 py-8 max-w-4xl">
+      <div className="flex justify-between items-center mb-6">
+        <h1 className="text-3xl font-bold text-gray-900">
+          Известувања
+        </h1>
+        <div className="flex items-center space-x-4">
+          {unreadCount > 0 && (
+            <button
+              onClick={handleMarkAllRead}
+              className="px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 transition-colors"
+            >
+              Означи сè како прочитано ({unreadCount})
+            </button>
+          )}
+        </div>
+      </div>
+
+      {/* Filter Tabs */}
+      <div className="flex space-x-1 mb-6 bg-gray-100 p-1 rounded-lg">
+        <button
+          onClick={() => setFilter('all')}
+          className={`flex-1 py-2 px-4 rounded-md text-sm font-medium transition-colors ${
+            filter === 'all'
+              ? 'bg-white text-gray-900 shadow'
+              : 'text-gray-600 hover:text-gray-900'
+          }`}
+        >
+          Сите ({notifications.length})
+        </button>
+        <button
+          onClick={() => setFilter('unread')}
+          className={`flex-1 py-2 px-4 rounded-md text-sm font-medium transition-colors ${
+            filter === 'unread'
+              ? 'bg-white text-gray-900 shadow'
+              : 'text-gray-600 hover:text-gray-900'
+          }`}
+        >
+          Непрочитани ({unreadCount})
+        </button>
+        <button
+          onClick={() => setFilter('read')}
+          className={`flex-1 py-2 px-4 rounded-md text-sm font-medium transition-colors ${
+            filter === 'read'
+              ? 'bg-white text-gray-900 shadow'
+              : 'text-gray-600 hover:text-gray-900'
+          }`}
+        >
+          Прочитани ({notifications.length - unreadCount})
+        </button>
+      </div>
+
+      {/* Notifications List */}
+      {notifications.length === 0 ? (
+        <div className="text-center py-16">
+          <svg
+            className="mx-auto h-24 w-24 text-gray-400 mb-4"
+            fill="none"
+            stroke="currentColor"
+            viewBox="0 0 24 24"
+          >
+            <path
+              strokeLinecap="round"
+              strokeLinejoin="round"
+              strokeWidth={2}
+              d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9"
+            />
+          </svg>
+          <p className="text-xl text-gray-600 mb-4">
+            {filter === 'all' ? 'Немате известувања' :
+             filter === 'unread' ? 'Немате непрочитани известувања' :
+             'Немате прочитани известувања'}
+          </p>
+          <Link
+            to="/"
+            className="text-primary-600 hover:text-primary-700 font-medium"
+          >
+            Назад кон почетна →
+          </Link>
+        </div>
+      ) : (
+        <div className="space-y-3">
+          {notifications.map((notification) => (
+            <div
+              key={notification.id}
+              className={`bg-white rounded-lg border p-4 hover:shadow-md transition-shadow cursor-pointer relative ${
+                !notification.is_read ? 'border-l-4 border-l-primary-500 bg-primary-50' : 'border-gray-200'
+              }`}
+              onClick={() => {
+                if (!notification.is_read) {
+                  handleMarkAsRead(notification.id);
+                }
+                // Navigate based on notification type
+                if (notification.type === 'new_order') {
+                  window.location.href = '/seller-dashboard';
+                } else if (notification.type === 'order_status_change') {
+                  window.location.href = '/orders';
+                }
+              }}
+            >
+              <div className="flex items-start justify-between">
+                <div className="flex items-start space-x-3 flex-1">
+                  <span className="text-2xl flex-shrink-0 mt-1">
+                    {getNotificationIcon(notification.type)}
+                  </span>
+                  <div className="flex-1">
+                    <h3 className="font-semibold text-gray-900 mb-1">
+                      {notification.title}
+                    </h3>
+                    <p className="text-gray-600 mb-2">
+                      {notification.message}
+                    </p>
+                    <div className="flex items-center justify-between">
+                      <p className="text-sm text-gray-500">
+                        {formatTimeAgo(notification.created_at)}
+                      </p>
+                      {!notification.is_read && (
+                        <span className="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-primary-100 text-primary-800">
+                          Ново
+                        </span>
+                      )}
+                    </div>
+                  </div>
+                </div>
+                
+                {/* Delete button */}
+                <button
+                  onClick={(e) => {
+                    e.stopPropagation();
+                    handleDelete(notification.id);
+                  }}
+                  className="ml-4 p-1 text-gray-400 hover:text-red-600 transition-colors"
+                  title="Избриши известување"
+                >
+                  <svg
+                    className="w-5 h-5"
+                    fill="none"
+                    stroke="currentColor"
+                    viewBox="0 0 24 24"
+                  >
+                    <path
+                      strokeLinecap="round"
+                      strokeLinejoin="round"
+                      strokeWidth={2}
+                      d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"
+                    />
+                  </svg>
+                </button>
+              </div>
+            </div>
+          ))}
+        </div>
+      )}
+    </div>
+  );
+};
+
+export default Notifications;
Index: tup-database-windows.bat
===================================================================
--- setup-database-windows.bat	(revision bf1ffc3db5dee87bce3d1eb06634e8f68b6012d9)
+++ 	(revision )
@@ -1,190 +1,0 @@
-@echo off
-title Kupi.mk Database Setup for Windows
-color 0A
-
-echo ===============================================
-echo    Kupi.mk Database Setup Assistant
-echo ===============================================
-echo.
-
-REM Check if PostgreSQL is installed
-echo [1/5] Checking PostgreSQL installation...
-psql --version >nul 2>&1
-if %errorlevel% equ 0 (
-    echo ✓ PostgreSQL is installed
-) else (
-    echo ✗ PostgreSQL is not installed or not in PATH
-    echo.
-    echo Please install PostgreSQL first:
-    echo 1. Download from: https://www.postgresql.org/download/windows/
-    echo 2. Run the installer as Administrator
-    echo 3. Remember the postgres user password
-    echo 4. Add PostgreSQL to PATH if needed
-    echo.
-    pause
-    exit /b 1
-)
-
-echo.
-echo [2/5] Testing PostgreSQL service...
-sc query postgresql-x64-15 | find "RUNNING" >nul
-if %errorlevel% equ 0 (
-    echo ✓ PostgreSQL service is running
-) else (
-    echo ! PostgreSQL service is not running
-    echo Starting PostgreSQL service...
-    net start postgresql-x64-15 >nul 2>&1
-    if %errorlevel% equ 0 (
-        echo ✓ PostgreSQL service started
-    ) else (
-        echo ✗ Failed to start PostgreSQL service
-        echo Please start it manually from Services
-        pause
-        exit /b 1
-    )
-)
-
-echo.
-echo [3/5] Creating database and user...
-echo.
-echo Please enter your PostgreSQL postgres user password:
-set /p postgres_password="Password: "
-
-REM Create database setup script
-echo CREATE DATABASE kupi_mk; > temp_setup.sql
-echo CREATE USER kupi_user WITH PASSWORD 'kupi_password'; >> temp_setup.sql
-echo GRANT ALL PRIVILEGES ON DATABASE kupi_mk TO kupi_user; >> temp_setup.sql
-echo \q >> temp_setup.sql
-
-REM Execute the setup script
-echo.
-echo Executing database setup...
-psql -U postgres -h localhost -f temp_setup.sql
-
-if %errorlevel% equ 0 (
-    echo ✓ Database and user created successfully
-) else (
-    echo ✗ Failed to create database. Please check your postgres password.
-    del temp_setup.sql
-    pause
-    exit /b 1
-)
-
-REM Clean up
-del temp_setup.sql
-
-echo.
-echo [4/5] Creating .env configuration file...
-
-REM Check if backend directory exists
-if not exist "kupi-mk\backend" (
-    echo ✗ Backend directory not found
-    echo Please run this script from the project root directory
-    pause
-    exit /b 1
-)
-
-REM Create .env file
-echo # Database Configuration > kupi-mk\backend\.env
-echo DB_HOST=localhost >> kupi-mk\backend\.env
-echo DB_PORT=5432 >> kupi-mk\backend\.env
-echo DB_NAME=kupi_mk >> kupi-mk\backend\.env
-echo DB_USER=kupi_user >> kupi-mk\backend\.env
-echo DB_PASSWORD=kupi_password >> kupi-mk\backend\.env
-echo. >> kupi-mk\backend\.env
-echo # JWT Secret ^(change this to a random string^) >> kupi-mk\backend\.env
-echo JWT_SECRET=your_super_secret_jwt_key_here_change_this_in_production >> kupi-mk\backend\.env
-echo. >> kupi-mk\backend\.env
-echo # Server Configuration >> kupi-mk\backend\.env
-echo PORT=5000 >> kupi-mk\backend\.env
-echo NODE_ENV=development >> kupi-mk\backend\.env
-echo. >> kupi-mk\backend\.env
-echo # File Upload Configuration >> kupi-mk\backend\.env
-echo UPLOAD_PATH=uploads/products >> kupi-mk\backend\.env
-echo MAX_FILE_SIZE=5242880 >> kupi-mk\backend\.env
-
-echo ✓ .env file created in kupi-mk\backend\.env
-
-echo.
-echo [5/5] Testing database connection...
-cd kupi-mk\backend
-
-REM Check if node_modules exists
-if not exist "node_modules" (
-    echo Installing backend dependencies...
-    call npm install
-)
-
-REM Create a simple test script
-echo const { Pool } = require^('pg'^); > test-connection.js
-echo require^('dotenv'^).config^(^); >> test-connection.js
-echo. >> test-connection.js
-echo const pool = new Pool^({ >> test-connection.js
-echo   user: process.env.DB_USER, >> test-connection.js
-echo   host: process.env.DB_HOST, >> test-connection.js
-echo   database: process.env.DB_NAME, >> test-connection.js
-echo   password: process.env.DB_PASSWORD, >> test-connection.js
-echo   port: process.env.DB_PORT, >> test-connection.js
-echo }^); >> test-connection.js
-echo. >> test-connection.js
-echo async function testConnection^(^) { >> test-connection.js
-echo   try { >> test-connection.js
-echo     const client = await pool.connect^(^); >> test-connection.js
-echo     console.log^('✓ Database connected successfully!'^); >> test-connection.js
-echo     client.release^(^); >> test-connection.js
-echo     process.exit^(0^); >> test-connection.js
-echo   } catch ^(err^) { >> test-connection.js
-echo     console.error^('✗ Database connection failed:', err.message^); >> test-connection.js
-echo     process.exit^(1^); >> test-connection.js
-echo   } >> test-connection.js
-echo } >> test-connection.js
-echo. >> test-connection.js
-echo testConnection^(^); >> test-connection.js
-
-REM Test the connection
-node test-connection.js
-
-if %errorlevel% equ 0 (
-    echo.
-    echo ===============================================
-    echo           🎉 SETUP COMPLETED SUCCESSFULLY! 🎉
-    echo ===============================================
-    echo.
-    echo Database Configuration:
-    echo - Database: kupi_mk
-    echo - Username: kupi_user
-    echo - Password: kupi_password
-    echo - Host: localhost
-    echo - Port: 5432
-    echo.
-    echo Next steps:
-    echo 1. Start the backend: npm run dev
-    echo 2. Start the frontend: cd ..\frontend ^&^& npm start
-    echo 3. Open http://localhost:3000 in your browser
-    echo.
-    echo Configuration saved in: kupi-mk\backend\.env
-    echo.
-) else (
-    echo.
-    echo ===============================================
-    echo              ⚠️ SETUP INCOMPLETE ⚠️
-    echo ===============================================
-    echo.
-    echo Database connection test failed.
-    echo Please check:
-    echo 1. PostgreSQL is running
-    echo 2. Postgres user password is correct
-    echo 3. Firewall settings allow port 5432
-    echo.
-    echo For detailed troubleshooting, see:
-    echo WINDOWS_DATABASE_SETUP.md
-    echo.
-)
-
-REM Clean up test file
-del test-connection.js
-
-cd ..\..
-echo.
-echo Press any key to exit...
-pause >nul
Index: tup-database-windows.ps1
===================================================================
--- setup-database-windows.ps1	(revision bf1ffc3db5dee87bce3d1eb06634e8f68b6012d9)
+++ 	(revision )
@@ -1,280 +1,0 @@
-# Kupi.mk Database Setup Script for Windows PowerShell
-# Run this script as Administrator for best results
-
-param(
-    [string]$PostgresPassword = "",
-    [switch]$SkipInstallCheck = $false
-)
-
-# Set console colors
-$Host.UI.RawUI.BackgroundColor = "Black"
-$Host.UI.RawUI.ForegroundColor = "Green"
-Clear-Host
-
-function Write-Header {
-    param([string]$Message)
-    Write-Host "===============================================" -ForegroundColor Cyan
-    Write-Host "   $Message" -ForegroundColor Yellow
-    Write-Host "===============================================" -ForegroundColor Cyan
-    Write-Host ""
-}
-
-function Write-Step {
-    param([string]$Step, [string]$Message)
-    Write-Host "[$Step] $Message" -ForegroundColor White
-}
-
-function Write-Success {
-    param([string]$Message)
-    Write-Host "✓ $Message" -ForegroundColor Green
-}
-
-function Write-Error {
-    param([string]$Message)
-    Write-Host "✗ $Message" -ForegroundColor Red
-}
-
-function Write-Warning {
-    param([string]$Message)
-    Write-Host "! $Message" -ForegroundColor Yellow
-}
-
-Write-Header "Kupi.mk Database Setup Assistant"
-
-# Step 1: Check PostgreSQL Installation
-Write-Step "1/6" "Checking PostgreSQL installation..."
-
-if (-not $SkipInstallCheck) {
-    try {
-        $psqlVersion = & psql --version 2>$null
-        if ($LASTEXITCODE -eq 0) {
-            Write-Success "PostgreSQL is installed: $psqlVersion"
-        } else {
-            throw "PostgreSQL not found"
-        }
-    } catch {
-        Write-Error "PostgreSQL is not installed or not in PATH"
-        Write-Host ""
-        Write-Host "Please install PostgreSQL first:" -ForegroundColor Yellow
-        Write-Host "1. Download from: https://www.postgresql.org/download/windows/" -ForegroundColor White
-        Write-Host "2. Run the installer as Administrator" -ForegroundColor White
-        Write-Host "3. Remember the postgres user password" -ForegroundColor White
-        Write-Host "4. Ensure 'Add to PATH' is checked during installation" -ForegroundColor White
-        Write-Host ""
-        Read-Host "Press Enter to exit"
-        exit 1
-    }
-}
-
-# Step 2: Check PostgreSQL Service
-Write-Step "2/6" "Checking PostgreSQL service..."
-
-$pgService = Get-Service -Name "postgresql*" -ErrorAction SilentlyContinue | Select-Object -First 1
-
-if ($pgService) {
-    if ($pgService.Status -eq "Running") {
-        Write-Success "PostgreSQL service is running"
-    } else {
-        Write-Warning "PostgreSQL service is stopped. Attempting to start..."
-        try {
-            Start-Service $pgService.Name
-            Write-Success "PostgreSQL service started"
-        } catch {
-            Write-Error "Failed to start PostgreSQL service"
-            Write-Host "Please start it manually from Services (services.msc)" -ForegroundColor Yellow
-            Read-Host "Press Enter to exit"
-            exit 1
-        }
-    }
-} else {
-    Write-Warning "PostgreSQL service not found. It might be installed differently."
-}
-
-# Step 3: Get PostgreSQL Password
-Write-Step "3/6" "Getting PostgreSQL credentials..."
-
-if ([string]::IsNullOrEmpty($PostgresPassword)) {
-    Write-Host ""
-    $securePassword = Read-Host "Enter your PostgreSQL 'postgres' user password" -AsSecureString
-    $PostgresPassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($securePassword))
-}
-
-# Step 4: Create Database and User
-Write-Step "4/6" "Creating database and user..."
-
-$sqlCommands = @"
-CREATE DATABASE kupi_mk;
-CREATE USER kupi_user WITH PASSWORD 'kupi_password';
-GRANT ALL PRIVILEGES ON DATABASE kupi_mk TO kupi_user;
-"@
-
-# Create temporary SQL file
-$tempSqlFile = [System.IO.Path]::GetTempFileName() + ".sql"
-$sqlCommands | Out-File -FilePath $tempSqlFile -Encoding UTF8
-
-# Set PGPASSWORD environment variable
-$env:PGPASSWORD = $PostgresPassword
-
-try {
-    Write-Host "Executing database setup commands..." -ForegroundColor White
-    & psql -U postgres -h localhost -f $tempSqlFile 2>&1 | Out-Host
-    
-    if ($LASTEXITCODE -eq 0) {
-        Write-Success "Database and user created successfully"
-    } else {
-        throw "psql command failed"
-    }
-} catch {
-    Write-Error "Failed to create database. Please check your postgres password."
-    Remove-Item $tempSqlFile -ErrorAction SilentlyContinue
-    Read-Host "Press Enter to exit"
-    exit 1
-} finally {
-    # Clean up
-    Remove-Item $tempSqlFile -ErrorAction SilentlyContinue
-    Remove-Item Env:PGPASSWORD -ErrorAction SilentlyContinue
-}
-
-# Step 5: Create .env Configuration
-Write-Step "5/6" "Creating .env configuration file..."
-
-$backendPath = "kupi-mk\backend"
-if (-not (Test-Path $backendPath)) {
-    Write-Error "Backend directory not found: $backendPath"
-    Write-Host "Please run this script from the project root directory" -ForegroundColor Yellow
-    Read-Host "Press Enter to exit"
-    exit 1
-}
-
-$envContent = @"
-# Database Configuration
-DB_HOST=localhost
-DB_PORT=5432
-DB_NAME=kupi_mk
-DB_USER=kupi_user
-DB_PASSWORD=kupi_password
-
-# JWT Secret (change this to a random string in production)
-JWT_SECRET=your_super_secret_jwt_key_here_change_this_in_production
-
-# Server Configuration
-PORT=5000
-NODE_ENV=development
-
-# File Upload Configuration
-UPLOAD_PATH=uploads/products
-MAX_FILE_SIZE=5242880
-"@
-
-$envPath = Join-Path $backendPath ".env"
-$envContent | Out-File -FilePath $envPath -Encoding UTF8
-
-Write-Success ".env file created at: $envPath"
-
-# Step 6: Test Database Connection
-Write-Step "6/6" "Testing database connection..."
-
-Push-Location $backendPath
-
-# Check if node_modules exists
-if (-not (Test-Path "node_modules")) {
-    Write-Host "Installing backend dependencies..." -ForegroundColor White
-    & npm install
-    if ($LASTEXITCODE -ne 0) {
-        Write-Error "Failed to install dependencies"
-        Pop-Location
-        Read-Host "Press Enter to exit"
-        exit 1
-    }
-}
-
-# Create test script
-$testScript = @"
-const { Pool } = require('pg');
-require('dotenv').config();
-
-const pool = new Pool({
-  user: process.env.DB_USER,
-  host: process.env.DB_HOST,
-  database: process.env.DB_NAME,
-  password: process.env.DB_PASSWORD,
-  port: process.env.DB_PORT,
-});
-
-async function testConnection() {
-  try {
-    const client = await pool.connect();
-    console.log('✓ Database connected successfully!');
-    
-    const result = await client.query('SELECT version()');
-    console.log('PostgreSQL version:', result.rows[0].version.split(' ')[0] + ' ' + result.rows[0].version.split(' ')[1]);
-    
-    client.release();
-    await pool.end();
-    process.exit(0);
-  } catch (err) {
-    console.error('✗ Database connection failed:', err.message);
-    process.exit(1);
-  }
-}
-
-testConnection();
-"@
-
-$testScriptPath = "test-connection.js"
-$testScript | Out-File -FilePath $testScriptPath -Encoding UTF8
-
-# Run the test
-Write-Host "Testing database connection..." -ForegroundColor White
-& node $testScriptPath
-
-$connectionSuccess = $LASTEXITCODE -eq 0
-
-# Clean up
-Remove-Item $testScriptPath -ErrorAction SilentlyContinue
-Pop-Location
-
-# Final Results
-Write-Host ""
-if ($connectionSuccess) {
-    Write-Header "🎉 SETUP COMPLETED SUCCESSFULLY! 🎉"
-    
-    Write-Host "Database Configuration:" -ForegroundColor White
-    Write-Host "- Database: kupi_mk" -ForegroundColor Gray
-    Write-Host "- Username: kupi_user" -ForegroundColor Gray
-    Write-Host "- Password: kupi_password" -ForegroundColor Gray
-    Write-Host "- Host: localhost" -ForegroundColor Gray
-    Write-Host "- Port: 5432" -ForegroundColor Gray
-    Write-Host ""
-    
-    Write-Host "Next steps:" -ForegroundColor White
-    Write-Host "1. Start the backend server:" -ForegroundColor Gray
-    Write-Host "   cd kupi-mk\backend" -ForegroundColor Cyan
-    Write-Host "   npm run dev" -ForegroundColor Cyan
-    Write-Host ""
-    Write-Host "2. Start the frontend server:" -ForegroundColor Gray
-    Write-Host "   cd kupi-mk\frontend" -ForegroundColor Cyan
-    Write-Host "   npm start" -ForegroundColor Cyan
-    Write-Host ""
-    Write-Host "3. Open your browser to:" -ForegroundColor Gray
-    Write-Host "   http://localhost:3000" -ForegroundColor Cyan
-    Write-Host ""
-    Write-Host "Configuration saved in: kupi-mk\backend\.env" -ForegroundColor Yellow
-    
-} else {
-    Write-Header "⚠️ SETUP INCOMPLETE ⚠️"
-    
-    Write-Host "Database connection test failed." -ForegroundColor Red
-    Write-Host ""
-    Write-Host "Please check:" -ForegroundColor White
-    Write-Host "1. PostgreSQL is running" -ForegroundColor Gray
-    Write-Host "2. Postgres user password is correct" -ForegroundColor Gray
-    Write-Host "3. Firewall settings allow port 5432" -ForegroundColor Gray
-    Write-Host "4. No other application is using port 5432" -ForegroundColor Gray
-    Write-Host ""
-    Write-Host "For detailed troubleshooting, see:" -ForegroundColor White
-    Write-Host "WINDOWS_DATABASE_SETUP.md" -ForegroundColor Cyan
-}
-
-Write-Host ""
-Read-Host "Press Enter to exit"
Index: art-servers-windows.bat
===================================================================
--- start-servers-windows.bat	(revision bf1ffc3db5dee87bce3d1eb06634e8f68b6012d9)
+++ 	(revision )
@@ -1,44 +1,0 @@
-@echo off
-echo Starting Kupi.mk Development Environment...
-echo.
-
-echo Installing Backend Dependencies...
-cd kupi-mk\backend
-call npm install
-if %errorlevel% neq 0 (
-    echo Failed to install backend dependencies
-    pause
-    exit /b 1
-)
-
-echo.
-echo Installing Frontend Dependencies...
-cd ..\frontend
-call npm install
-if %errorlevel% neq 0 (
-    echo Failed to install frontend dependencies
-    pause
-    exit /b 1
-)
-
-echo.
-echo Starting Backend Server...
-cd ..\backend
-start "Backend Server" cmd /k "npm run dev"
-
-echo.
-echo Waiting for backend to start...
-timeout /t 3 /nobreak > nul
-
-echo.
-echo Starting Frontend Server...
-cd ..\frontend
-start "Frontend Server" cmd /k "set HOST=0.0.0.0 && npm start"
-
-echo.
-echo Both servers are starting up...
-echo Backend: http://localhost:5000
-echo Frontend: http://localhost:3000
-echo.
-echo Press any key to close this window...
-pause > nul
Index: art-servers-windows.ps1
===================================================================
--- start-servers-windows.ps1	(revision bf1ffc3db5dee87bce3d1eb06634e8f68b6012d9)
+++ 	(revision )
@@ -1,46 +1,0 @@
-# PowerShell script to start Kupi.mk development environment
-Write-Host "Starting Kupi.mk Development Environment..." -ForegroundColor Green
-Write-Host ""
-
-Write-Host "Installing Backend Dependencies..." -ForegroundColor Yellow
-Set-Location "kupi-mk\backend"
-npm install
-if ($LASTEXITCODE -ne 0) {
-    Write-Host "Failed to install backend dependencies" -ForegroundColor Red
-    Read-Host "Press Enter to exit"
-    exit 1
-}
-
-Write-Host ""
-Write-Host "Installing Frontend Dependencies..." -ForegroundColor Yellow
-Set-Location "..\frontend"
-npm install
-if ($LASTEXITCODE -ne 0) {
-    Write-Host "Failed to install frontend dependencies" -ForegroundColor Red
-    Read-Host "Press Enter to exit"
-    exit 1
-}
-
-Write-Host ""
-Write-Host "Starting Backend Server..." -ForegroundColor Yellow
-Set-Location "..\backend"
-Start-Process powershell -ArgumentList "-NoExit", "-Command", "npm run dev" -WindowStyle Normal
-
-Write-Host ""
-Write-Host "Waiting for backend to start..." -ForegroundColor Yellow
-Start-Sleep -Seconds 3
-
-Write-Host ""
-Write-Host "Starting Frontend Server..." -ForegroundColor Yellow
-Set-Location "..\frontend"
-$env:HOST = "0.0.0.0"
-Start-Process powershell -ArgumentList "-NoExit", "-Command", "`$env:HOST='0.0.0.0'; npm start" -WindowStyle Normal
-
-Write-Host ""
-Write-Host "Both servers are starting up..." -ForegroundColor Green
-Write-Host "Backend: http://localhost:5000" -ForegroundColor Cyan
-Write-Host "Frontend: http://localhost:3000" -ForegroundColor Cyan
-Write-Host "Network: http://192.168.100.162:3000" -ForegroundColor Cyan
-Write-Host ""
-Write-Host "Press any key to close this window..." -ForegroundColor Gray
-Read-Host
Index: op-servers-windows.bat
===================================================================
--- stop-servers-windows.bat	(revision bf1ffc3db5dee87bce3d1eb06634e8f68b6012d9)
+++ 	(revision )
@@ -1,20 +1,0 @@
-@echo off
-echo Stopping Kupi.mk Development Servers...
-echo.
-
-echo Stopping Node.js processes...
-taskkill /f /im node.exe 2>nul
-if %errorlevel% equ 0 (
-    echo Successfully stopped Node.js processes
-) else (
-    echo No Node.js processes were running
-)
-
-echo.
-echo Stopping npm processes...
-taskkill /f /im npm.cmd 2>nul
-
-echo.
-echo All servers have been stopped.
-echo.
-pause
