6 description: string;
7 price: number;
8 image: string;
9 category: 'croissants' | 'cakes' | 'cookies' | 'breads' | 'specialties';
10}
39 description: 'Classic French butter croissant with flaky, buttery layers',
40 price: 3.50,
41 image: '๐ฅ',
42 category: 'croissants'
43 },
47 description: 'Buttery croissant filled with rich dark chocolate',
48 price: 4.00,
49 image: '๐ซ',
50 category: 'croissants'
51 },
55 description: 'Croissant filled with sweet almond cream and topped with sliced almonds',
56 price: 4.50,
57 image: '๐ฅ',
58 category: 'croissants'
59 },
63 description: 'Rich chocolate cake with chocolate ganache frosting',
64 price: 6.00,
65 image: '๐ฐ',
66 category: 'cakes'
67 },
71 description: 'Light sponge cake with fresh strawberries and whipped cream',
72 price: 5.50,
73 image: '๐',
74 category: 'cakes'
75 },
79 description: 'Classic chocolate chip cookies (pack of 6)',
80 price: 8.00,
81 image: '๐ช',
82 category: 'cookies'
83 },
87 description: 'Chewy oatmeal cookies with plump raisins (pack of 6)',
88 price: 7.50,
89 image: '๐ช',
90 category: 'cookies'
91 },
95 description: 'Artisan sourdough bread with crispy crust',
96 price: 8.00,
97 image: '๐',
98 category: 'breads'
99 },
103 description: 'Traditional French baguette with golden crust',
104 price: 4.00,
105 image: '๐ฅ',
106 category: 'breads'
107 },
111 description: 'Choux pastry filled with vanilla cream and topped with chocolate',
112 price: 5.00,
113 image: '๐ง',
114 category: 'specialties'
115 },
119 description: 'Assorted French macarons in various flavors',
120 price: 18.00,
121 image: '๐',
122 category: 'specialties'
123 },
127 description: 'Flaky pastry topped with seasonal fruit and glaze',
128 price: 4.50,
129 image: '๐ฅง',
130 category: 'specialties'
131 }
12 category TEXT NOT NULL,
13 price REAL NOT NULL,
14 image TEXT NOT NULL,
15 description TEXT NOT NULL,
16 unit TEXT NOT NULL,
51 const products = [
52 // Produce
53 { name: 'Bananas', category: 'produce', price: 1.29, image: '๐', description: 'Fresh yellow bananas', unit: 'lb', in_stock: 1 },
54 { name: 'Apples', category: 'produce', price: 2.99, image: '๐', description: 'Crisp red apples', unit: 'lb', in_stock: 1 },
55 { name: 'Carrots', category: 'produce', price: 1.99, image: '๐ฅ', description: 'Fresh organic carrots', unit: 'lb', in_stock: 1 },
56 { name: 'Spinach', category: 'produce', price: 3.49, image: '๐ฅฌ', description: 'Baby spinach leaves', unit: 'bag', in_stock: 1 },
57 { name: 'Tomatoes', category: 'produce', price: 3.99, image: '๐
', description: 'Vine-ripened tomatoes', unit: 'lb', in_stock: 1 },
58
59 // Meat & Seafood
60 { name: 'Chicken Breast', category: 'meat', price: 8.99, image: '๐', description: 'Boneless skinless chicken breast', unit: 'lb', in_stock: 1 },
61 { name: 'Ground Beef', category: 'meat', price: 6.99, image: '๐ฅฉ', description: '85% lean ground beef', unit: 'lb', in_stock: 1 },
62 { name: 'Salmon Fillet', category: 'meat', price: 12.99, image: '๐', description: 'Fresh Atlantic salmon', unit: 'lb', in_stock: 1 },
63 { name: 'Shrimp', category: 'meat', price: 9.99, image: '๐ฆ', description: 'Large peeled shrimp', unit: 'lb', in_stock: 1 },
64
65 // Dairy & Eggs
66 { name: 'Whole Milk', category: 'dairy', price: 3.79, image: '๐ฅ', description: 'Fresh whole milk', unit: 'gallon', in_stock: 1 },
67 { name: 'Eggs', category: 'dairy', price: 2.99, image: '๐ฅ', description: 'Large grade A eggs', unit: 'dozen', in_stock: 1 },
68 { name: 'Cheddar Cheese', category: 'dairy', price: 4.99, image: '๐ง', description: 'Sharp cheddar cheese', unit: '8oz', in_stock: 1 },
69 { name: 'Greek Yogurt', category: 'dairy', price: 5.99, image: '๐ฅ', description: 'Plain Greek yogurt', unit: '32oz', in_stock: 1 },
70
71 // Bakery
72 { name: 'Whole Wheat Bread', category: 'bakery', price: 2.49, image: '๐', description: 'Fresh whole wheat bread', unit: 'loaf', in_stock: 1 },
73 { name: 'Bagels', category: 'bakery', price: 3.99, image: '๐ฅฏ', description: 'Everything bagels', unit: '6 pack', in_stock: 1 },
74 { name: 'Croissants', category: 'bakery', price: 4.49, image: '๐ฅ', description: 'Butter croissants', unit: '4 pack', in_stock: 1 },
75
76 // Pantry & Canned
77 { name: 'Pasta', category: 'pantry', price: 1.99, image: '๐', description: 'Spaghetti pasta', unit: '1lb box', in_stock: 1 },
78 { name: 'Rice', category: 'pantry', price: 3.99, image: '๐', description: 'Long grain white rice', unit: '2lb bag', in_stock: 1 },
79 { name: 'Canned Tomatoes', category: 'pantry', price: 1.49, image: '๐ฅซ', description: 'Diced tomatoes', unit: '14.5oz can', in_stock: 1 },
80 { name: 'Olive Oil', category: 'pantry', price: 7.99, image: '๐ซ', description: 'Extra virgin olive oil', unit: '500ml', in_stock: 1 },
81
82 // Frozen Foods
83 { name: 'Frozen Pizza', category: 'frozen', price: 4.99, image: '๐', description: 'Margherita frozen pizza', unit: 'each', in_stock: 1 },
84 { name: 'Ice Cream', category: 'frozen', price: 5.49, image: '๐ฆ', description: 'Vanilla ice cream', unit: 'pint', in_stock: 1 },
85 { name: 'Frozen Vegetables', category: 'frozen', price: 2.99, image: '๐ฅฆ', description: 'Mixed frozen vegetables', unit: '12oz bag', in_stock: 1 },
86
87 // Beverages
88 { name: 'Orange Juice', category: 'beverages', price: 3.99, image: '๐', description: 'Fresh orange juice', unit: '64oz', in_stock: 1 },
89 { name: 'Sparkling Water', category: 'beverages', price: 4.99, image: '๐ง', description: 'Sparkling water 12-pack', unit: '12 pack', in_stock: 1 },
90 { name: 'Coffee', category: 'beverages', price: 8.99, image: 'โ', description: 'Ground coffee beans', unit: '12oz bag', in_stock: 1 },
91
92 // Snacks & Candy
93 { name: 'Potato Chips', category: 'snacks', price: 3.49, image: '๐ฅ', description: 'Classic potato chips', unit: 'bag', in_stock: 1 },
94 { name: 'Chocolate Bar', category: 'snacks', price: 2.99, image: '๐ซ', description: 'Milk chocolate bar', unit: 'each', in_stock: 1 },
95 { name: 'Cookies', category: 'snacks', price: 4.49, image: '๐ช', description: 'Chocolate chip cookies', unit: 'package', in_stock: 1 }
96 ];
97
98 for (const product of products) {
99 await sqlite.execute(
100 `INSERT INTO ${PRODUCTS_TABLE} (name, category, price, image, description, unit, in_stock)
101 VALUES (?, ?, ?, ?, ?, ?, ?)`,
102 [product.name, product.category, product.price, product.image, product.description, product.unit, product.in_stock]
103 );
104 }