Spaces:
Sleeping
Sleeping
Kush-Singh-26
synced backend and frontend, added more menu items, ui and admin page improvements
56fb0d1 | header("Content-Type: application/json"); | |
| include "db.php"; | |
| $revenueStmt = $conn->query("SELECT COALESCE(SUM(total), 0) as total FROM orders WHERE status != 'Failed' AND status != 'Invalid'"); | |
| $revenue = $revenueStmt->fetch()['total']; | |
| $ordersStmt = $conn->query("SELECT COUNT(*) as count FROM orders"); | |
| $totalOrders = $ordersStmt->fetch()['count']; | |
| $lowStockCountStmt = $conn->query("SELECT COUNT(*) as count FROM foods f LEFT JOIN stock s ON f.id = s.food_id WHERE COALESCE(s.quantity, 0) < 5"); | |
| $lowStock = $lowStockCountStmt->fetch()['count']; | |
| $lowStockItemsStmt = $conn->query("SELECT f.*, COALESCE(s.quantity, 0) as stock FROM foods f LEFT JOIN stock s ON f.id = s.food_id WHERE COALESCE(s.quantity, 0) < 5"); | |
| $lowStockItems = $lowStockItemsStmt->fetchAll(); | |
| foreach($lowStockItems as &$item) { | |
| $cat_emojis = [ | |
| 'Beverages' => '🥤', | |
| 'Wafers' => '🍪', | |
| 'Snacks' => '🍟', | |
| 'Coffee & Drinks' => '☕', | |
| 'Hot Dogs' => '🌭', | |
| 'Biryani' => '🍛' | |
| ]; | |
| $item['emoji'] = $cat_emojis[$item['category']] ?? '🍽'; | |
| } | |
| $recentOrdersStmt = $conn->query("SELECT o.*, u.name as user_name FROM orders o JOIN users u ON o.user_id = u.id ORDER BY o.created_at DESC LIMIT 10"); | |
| $recentOrders = $recentOrdersStmt->fetchAll(); | |
| // Frequent/Popular items (by order count) | |
| $frequentItemsStmt = $conn->query(" | |
| SELECT oi.item_name, oi.food_id, f.image_url, f.category, | |
| SUM(oi.quantity) as total_qty, COUNT(DISTINCT o.id) as order_count | |
| FROM order_items oi | |
| LEFT JOIN foods f ON oi.food_id = f.id | |
| LEFT JOIN orders o ON oi.order_id = o.id | |
| GROUP BY oi.item_name, oi.food_id, f.image_url, f.category | |
| ORDER BY total_qty DESC | |
| LIMIT 5 | |
| "); | |
| $frequentItems = $frequentItemsStmt->fetchAll(); | |
| // Add emojis to frequent items | |
| foreach($frequentItems as &$item) { | |
| $cat_emojis = [ | |
| 'Beverages' => '🥤', | |
| 'Wafers' => '🍪', | |
| 'Snacks' => '🍟', | |
| 'Coffee & Drinks' => '☕', | |
| 'Hot Dogs' => '🌭', | |
| 'Biryani' => '🍛' | |
| ]; | |
| $item['emoji'] = $cat_emojis[$item['category']] ?? '🍽'; | |
| } | |
| // Today's stats | |
| $todayStmt = $conn->query(" | |
| SELECT | |
| COUNT(*) as today_orders, | |
| COALESCE(SUM(total), 0) as today_revenue | |
| FROM orders | |
| WHERE DATE(created_at) = CURDATE() | |
| "); | |
| $todayStats = $todayStmt->fetch(); | |
| // Pending orders count | |
| $pendingStmt = $conn->query("SELECT COUNT(*) as count FROM orders WHERE status = 'Pending'"); | |
| $pendingOrders = $pendingStmt->fetch()['count']; | |
| echo json_encode([ | |
| "status" => "success", | |
| "stats" => [ | |
| "revenue" => (float)$revenue, | |
| "total_orders" => (int)$totalOrders, | |
| "low_stock" => (int)$lowStock, | |
| "low_stock_items" => $lowStockItems, | |
| "frequent_items" => $frequentItems, | |
| "today_orders" => (int)$todayStats['today_orders'], | |
| "today_revenue" => (float)$todayStats['today_revenue'], | |
| "pending_orders" => (int)$pendingOrders | |
| ], | |
| "recent_orders" => $recentOrders | |
| ]); | |