-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase.sql
More file actions
454 lines (340 loc) · 36.5 KB
/
database.sql
File metadata and controls
454 lines (340 loc) · 36.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
-- ═══════════════════════════════════════════════════════════════
-- MEALJOURNEY DATABASE V3 - COMPLETE SETUP
-- Mit Onboarding, Partner-System, Eigene Rezepte
-- ═══════════════════════════════════════════════════════════════
SET NAMES utf8mb4;
SET CHARACTER SET utf8mb4;
-- ═══════════════════════════════════════════════════════════════
-- DROP EXISTING TABLES (Clean Install)
-- ═══════════════════════════════════════════════════════════════
DROP TABLE IF EXISTS shopping_list_items;
DROP TABLE IF EXISTS recipe_ratings;
DROP TABLE IF EXISTS recipe_ingredients;
DROP TABLE IF EXISTS meal_plan;
DROP TABLE IF EXISTS partner_connections;
DROP TABLE IF EXISTS user_settings;
DROP TABLE IF EXISTS recipes;
DROP TABLE IF EXISTS ingredient_categories;
DROP TABLE IF EXISTS users;
-- ═══════════════════════════════════════════════════════════════
-- USERS TABLE (mit Onboarding)
-- ═══════════════════════════════════════════════════════════════
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(255) NOT NULL UNIQUE,
password_hash VARCHAR(255) NOT NULL,
onboarding_completed TINYINT(1) DEFAULT 0,
onboarding_data JSON,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_email (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ═══════════════════════════════════════════════════════════════
-- USER SETTINGS TABLE
-- ═══════════════════════════════════════════════════════════════
CREATE TABLE user_settings (
setting_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL UNIQUE,
week_start_day ENUM('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday') DEFAULT 'Monday',
joker_meals_per_week INT DEFAULT 3,
chatgpt_enabled TINYINT(1) DEFAULT 0,
theme VARCHAR(20) DEFAULT 'light',
notifications_enabled TINYINT(1) DEFAULT 1,
FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ═══════════════════════════════════════════════════════════════
-- PARTNER CONNECTIONS TABLE (für gemeinsamen Kalender)
-- ═══════════════════════════════════════════════════════════════
CREATE TABLE partner_connections (
connection_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
partner_user_id INT NOT NULL,
connection_status ENUM('pending', 'accepted', 'declined') DEFAULT 'pending',
share_calendar TINYINT(1) DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
accepted_at TIMESTAMP NULL,
FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE,
FOREIGN KEY (partner_user_id) REFERENCES users(user_id) ON DELETE CASCADE,
UNIQUE KEY unique_connection (user_id, partner_user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ═══════════════════════════════════════════════════════════════
-- INGREDIENT CATEGORIES TABLE
-- ═══════════════════════════════════════════════════════════════
CREATE TABLE ingredient_categories (
category_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
icon VARCHAR(10) DEFAULT '🛒',
sort_order INT DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT INTO ingredient_categories (name, icon, sort_order) VALUES
('Obst & Gemüse', '🥬', 1),
('Milchprodukte', '🥛', 2),
('Fleisch & Fisch', '🥩', 3),
('Backwaren', '🍞', 4),
('Getreide & Pasta', '🌾', 5),
('Gewürze & Kräuter', '🧂', 6),
('Konserven & Gläser', '🥫', 7),
('Tiefkühl', '🧊', 8),
('Getränke', '🥤', 9),
('Sonstiges', '📦', 10);
-- ═══════════════════════════════════════════════════════════════
-- RECIPES TABLE (mit öffentlich/privat)
-- ═══════════════════════════════════════════════════════════════
CREATE TABLE recipes (
recipe_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT,
instructions TEXT,
category ENUM('Frühstück', 'Mittagessen', 'Abendessen', 'Snack') NOT NULL,
prep_time INT DEFAULT 0 COMMENT 'in minutes',
cook_time INT DEFAULT 0 COMMENT 'in minutes',
total_time INT GENERATED ALWAYS AS (prep_time + cook_time) STORED,
servings INT DEFAULT 2,
difficulty ENUM('Einfach', 'Mittel', 'Schwer') DEFAULT 'Einfach',
is_vegetarian TINYINT(1) DEFAULT 0,
is_vegan TINYINT(1) DEFAULT 0,
is_meal_prep TINYINT(1) DEFAULT 0,
image_url VARCHAR(500),
is_public TINYINT(1) DEFAULT 1,
created_by INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (created_by) REFERENCES users(user_id) ON DELETE SET NULL,
INDEX idx_category (category),
INDEX idx_public (is_public),
INDEX idx_created_by (created_by)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ═══════════════════════════════════════════════════════════════
-- RECIPE INGREDIENTS TABLE
-- ═══════════════════════════════════════════════════════════════
CREATE TABLE recipe_ingredients (
ingredient_id INT AUTO_INCREMENT PRIMARY KEY,
recipe_id INT NOT NULL,
ingredient_name VARCHAR(255) NOT NULL,
amount DECIMAL(10,2),
unit VARCHAR(50),
category_id INT,
FOREIGN KEY (recipe_id) REFERENCES recipes(recipe_id) ON DELETE CASCADE,
FOREIGN KEY (category_id) REFERENCES ingredient_categories(category_id) ON DELETE SET NULL,
INDEX idx_recipe (recipe_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ═══════════════════════════════════════════════════════════════
-- MEAL PLAN TABLE (erweitert)
-- ═══════════════════════════════════════════════════════════════
CREATE TABLE meal_plan (
plan_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
date DATE NOT NULL,
meal_type ENUM('Frühstück', 'Mittagessen', 'Abendessen', 'Snack') NOT NULL,
recipe_id INT,
custom_meal_name VARCHAR(255),
is_joker TINYINT(1) DEFAULT 0,
is_eating_out TINYINT(1) DEFAULT 0,
is_takeaway TINYINT(1) DEFAULT 0,
is_at_friends TINYINT(1) DEFAULT 0,
is_meal_prep TINYINT(1) DEFAULT 0,
prep_date DATE COMMENT 'Wann soll vorgekocht werden',
is_completed TINYINT(1) DEFAULT 0,
is_shared_meal TINYINT(1) DEFAULT 0 COMMENT 'Gemeinsam mit Partner',
notes TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE,
FOREIGN KEY (recipe_id) REFERENCES recipes(recipe_id) ON DELETE SET NULL,
INDEX idx_user_date (user_id, date),
INDEX idx_date (date)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ═══════════════════════════════════════════════════════════════
-- RECIPE RATINGS TABLE
-- ═══════════════════════════════════════════════════════════════
CREATE TABLE recipe_ratings (
rating_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
recipe_id INT NOT NULL,
rating INT NOT NULL CHECK (rating BETWEEN 1 AND 5),
review TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE,
FOREIGN KEY (recipe_id) REFERENCES recipes(recipe_id) ON DELETE CASCADE,
UNIQUE KEY unique_user_recipe (user_id, recipe_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- ═══════════════════════════════════════════════════════════════
-- REZEPTE: FRÜHSTÜCK (25 Rezepte)
-- ═══════════════════════════════════════════════════════════════
INSERT INTO recipes (name, description, instructions, category, prep_time, cook_time, servings, difficulty, is_vegetarian, is_vegan, is_meal_prep, is_public) VALUES
('Klassisches Porridge mit Beeren', 'Cremiges Haferflocken-Porridge mit frischen Beeren', '1. Haferflocken mit Milch in einem Topf aufkochen.\n2. Bei niedriger Hitze 5 Minuten köcheln lassen, dabei regelmäßig umrühren.\n3. Mit Honig süßen und mit frischen Beeren toppen.', 'Frühstück', 5, 5, 1, 'Einfach', 1, 0, 1),
('Avocado-Toast mit Ei', 'Knuspriger Toast mit cremiger Avocado und pochiertem Ei', '1. Brot toasten.\n2. Avocado zerdrücken und mit Salz, Pfeffer und Zitrone würzen.\n3. Auf Toast verteilen.\n4. Ei pochieren oder braten und darauf setzen.\n5. Mit Chiliflocken garnieren.', 'Frühstück', 5, 5, 1, 'Einfach', 1, 0, 0),
('Overnight Oats Schoko-Banane', 'Schokoladige Haferflocken über Nacht zubereitet', '1. Haferflocken, Milch, Joghurt und Kakao in ein Glas schichten.\n2. Über Nacht im Kühlschrank ziehen lassen.\n3. Am Morgen mit Bananenscheiben und Nüssen toppen.', 'Frühstück', 5, 0, 1, 'Einfach', 1, 0, 1),
('Rührei mit Schnittlauch', 'Fluffiges Rührei mit frischem Schnittlauch', '1. Eier mit etwas Milch verquirlen.\n2. In Butter bei niedriger Hitze stocken lassen.\n3. Mit Schnittlauch, Salz und Pfeffer würzen.', 'Frühstück', 2, 5, 2, 'Einfach', 1, 0, 0),
('Griechischer Joghurt mit Honig', 'Cremiger Joghurt mit Honig und Walnüssen', '1. Joghurt in eine Schüssel geben.\n2. Mit Honig beträufeln.\n3. Mit Walnüssen und frischen Früchten garnieren.', 'Frühstück', 5, 0, 1, 'Einfach', 1, 0, 0),
('Vollkorn-Pancakes', 'Fluffige Pancakes aus Vollkornmehl', '1. Mehl, Backpulver, Ei und Milch zu einem glatten Teig verrühren.\n2. In einer Pfanne kleine Pancakes goldbraun backen.\n3. Mit Ahornsirup und Beeren servieren.', 'Frühstück', 10, 15, 2, 'Einfach', 1, 0, 0),
('Smoothie Bowl Tropical', 'Erfrischende Smoothie Bowl mit tropischen Früchten', '1. Gefrorene Mango und Banane mit Kokosmilch pürieren.\n2. In eine Schüssel füllen.\n3. Mit Granola, Kokosraspeln und frischem Obst toppen.', 'Frühstück', 10, 0, 1, 'Einfach', 1, 1, 0),
('Käse-Omelette', 'Goldenes Omelette gefüllt mit Käse', '1. Eier verquirlen und würzen.\n2. In einer Pfanne stocken lassen.\n3. Geriebenen Käse auf eine Hälfte geben.\n4. Zusammenklappen und servieren.', 'Frühstück', 3, 5, 1, 'Einfach', 1, 0, 0),
('Bircher Müsli', 'Schweizer Klassiker mit Apfel und Haferflocken', '1. Haferflocken mit Milch und Joghurt mischen.\n2. Über Nacht im Kühlschrank ziehen lassen.\n3. Am Morgen geriebenen Apfel und Nüsse unterheben.', 'Frühstück', 10, 0, 2, 'Einfach', 1, 0, 1),
('French Toast', 'Goldbraun gebratenes Brot in Ei-Milch-Mischung', '1. Eier mit Milch, Zimt und Vanille verquirlen.\n2. Brotscheiben darin wenden.\n3. In Butter goldbraun braten.\n4. Mit Puderzucker und Beeren servieren.', 'Frühstück', 5, 10, 2, 'Einfach', 1, 0, 0),
('Quinoa-Frühstücksbowl', 'Proteinreiche Bowl mit Quinoa und Früchten', '1. Quinoa nach Packungsanweisung kochen.\n2. Mit Joghurt, Honig und Zimt mischen.\n3. Mit frischen Früchten und Nüssen toppen.', 'Frühstück', 5, 15, 2, 'Mittel', 1, 0, 1),
('Bagel mit Lachs', 'Klassischer Bagel mit Räucherlachs und Frischkäse', '1. Bagel halbieren und toasten.\n2. Mit Frischkäse bestreichen.\n3. Mit Räucherlachs, Kapern und Dill belegen.', 'Frühstück', 10, 0, 1, 'Einfach', 0, 0, 0),
('Chia-Pudding mit Mango', 'Cremiger Chia-Pudding mit frischer Mango', '1. Chiasamen mit Kokosmilch und Honig mischen.\n2. Mindestens 4 Stunden oder über Nacht quellen lassen.\n3. Mit frischer Mango servieren.', 'Frühstück', 5, 0, 2, 'Einfach', 1, 1, 1),
('Shakshuka', 'Pochierte Eier in würziger Tomatensauce', '1. Zwiebeln und Paprika in Olivenöl anbraten.\n2. Tomaten und Gewürze hinzufügen.\n3. Mulden formen und Eier hineingleiten lassen.\n4. Mit Deckel garen bis Eier stocken.', 'Frühstück', 10, 20, 2, 'Mittel', 1, 0, 0),
('Müsli mit Joghurt', 'Knuspriges Müsli mit cremigem Joghurt', '1. Joghurt in eine Schüssel geben.\n2. Mit Müsli und frischem Obst toppen.\n3. Mit Honig beträufeln.', 'Frühstück', 5, 0, 1, 'Einfach', 1, 0, 0),
('Protein-Pancakes', 'Eiweißreiche Pancakes für Sportler', '1. Haferflocken, Eier, Proteinpulver und Milch mixen.\n2. In einer Pfanne kleine Pancakes backen.\n3. Mit Quark und Beeren servieren.', 'Frühstück', 5, 10, 2, 'Einfach', 1, 0, 0),
('Eggs Benedict', 'Pochierte Eier auf English Muffin mit Hollandaise', '1. English Muffin toasten.\n2. Eier pochieren.\n3. Mit Schinken und Hollandaise Sauce anrichten.', 'Frühstück', 15, 15, 2, 'Schwer', 0, 0, 0),
('Acai Bowl', 'Brasilianische Superfood-Bowl', '1. Gefrorenes Acai-Püree mit Banane und Milch pürieren.\n2. In eine Schüssel füllen.\n3. Mit Granola, Kokosflocken und Früchten toppen.', 'Frühstück', 10, 0, 1, 'Einfach', 1, 1, 0),
('Baked Oats Apfel-Zimt', 'Im Ofen gebackene Haferflocken', '1. Haferflocken, Ei, Milch und geriebenen Apfel mischen.\n2. Mit Zimt würzen.\n3. Bei 180°C ca. 25 Minuten backen.', 'Frühstück', 10, 25, 2, 'Einfach', 1, 0, 1),
('Croissant mit Marmelade', 'Frisches Croissant mit hausgemachter Marmelade', '1. Croissant kurz im Ofen aufbacken.\n2. Mit Butter und Marmelade servieren.\n3. Dazu frischen Kaffee.', 'Frühstück', 5, 5, 1, 'Einfach', 1, 0, 0),
('Wrap mit Ei und Gemüse', 'Gefüllter Frühstückswrap', '1. Rührei zubereiten.\n2. Wrap mit Frischkäse bestreichen.\n3. Mit Rührei, Tomaten und Spinat füllen.\n4. Aufrollen und servieren.', 'Frühstück', 10, 5, 1, 'Einfach', 1, 0, 0),
('Granola selbstgemacht', 'Knuspriges Granola aus dem Ofen', '1. Haferflocken mit Honig, Öl und Nüssen mischen.\n2. Auf einem Blech verteilen.\n3. Bei 160°C ca. 30 Minuten rösten, dabei mehrmals wenden.', 'Frühstück', 10, 30, 6, 'Einfach', 1, 1, 1),
('Crêpes mit Nutella', 'Hauchdünne Crêpes mit Schokoaufstrich', '1. Dünnen Teig aus Mehl, Eiern und Milch herstellen.\n2. In einer Pfanne hauchdünne Crêpes backen.\n3. Mit Nutella bestreichen und falten.', 'Frühstück', 10, 15, 4, 'Einfach', 1, 0, 0),
('Skyr mit Beeren', 'Isländischer Skyr mit frischen Beeren', '1. Skyr in eine Schüssel geben.\n2. Mit gemischten Beeren toppen.\n3. Mit etwas Honig süßen.', 'Frühstück', 5, 0, 1, 'Einfach', 1, 0, 0),
('Frühstücks-Burrito', 'Herzhafter Burrito zum Frühstück', '1. Rührei mit Bohnen und Käse zubereiten.\n2. In eine Tortilla füllen.\n3. Mit Salsa und Avocado servieren.', 'Frühstück', 10, 10, 1, 'Einfach', 1, 0, 0);
-- ═══════════════════════════════════════════════════════════════
-- REZEPTE: MITTAGESSEN (25 Rezepte)
-- ═══════════════════════════════════════════════════════════════
INSERT INTO recipes (name, description, instructions, category, prep_time, cook_time, servings, difficulty, is_vegetarian, is_vegan, is_meal_prep, is_public) VALUES
('Spaghetti Bolognese', 'Italienischer Klassiker mit Hackfleischsauce', '1. Zwiebeln und Knoblauch anbraten.\n2. Hackfleisch krümelig braten.\n3. Tomaten und Kräuter hinzufügen.\n4. 30 Minuten köcheln lassen.\n5. Mit al dente gekochten Spaghetti servieren.', 'Mittagessen', 15, 35, 4, 'Einfach', 0, 0, 1),
('Hähnchen-Curry', 'Cremiges Curry mit zartem Hähnchen', '1. Hähnchenbrust in Stücke schneiden und anbraten.\n2. Zwiebeln und Currypaste hinzufügen.\n3. Mit Kokosmilch ablöschen.\n4. 20 Minuten köcheln lassen.\n5. Mit Reis servieren.', 'Mittagessen', 15, 25, 4, 'Einfach', 0, 0, 1),
('Buddha Bowl', 'Bunte Bowl mit Quinoa und Gemüse', '1. Quinoa kochen.\n2. Gemüse nach Wahl rösten.\n3. Kichererbsen anbraten.\n4. Alles in einer Schüssel anrichten.\n5. Mit Tahini-Dressing servieren.', 'Mittagessen', 20, 25, 2, 'Mittel', 1, 1, 1),
('Caesar Salad', 'Klassischer Salat mit cremigem Dressing', '1. Römersalat waschen und zerteilen.\n2. Croutons rösten.\n3. Parmesan hobeln.\n4. Dressing aus Eigelb, Zitrone und Sardellen zubereiten.\n5. Alles vermengen.', 'Mittagessen', 15, 5, 2, 'Einfach', 1, 0, 0),
('Lachs mit Gemüse', 'Gebratener Lachs auf buntem Ofengemüse', '1. Gemüse auf ein Blech geben und mit Öl beträufeln.\n2. Lachs würzen.\n3. Bei 200°C 25 Minuten backen.\n4. Mit Zitrone servieren.', 'Mittagessen', 15, 25, 2, 'Einfach', 0, 0, 0),
('Risotto Pilze', 'Cremiges Risotto mit Champignons', '1. Zwiebeln in Butter anschwitzen.\n2. Reis hinzufügen und mit Wein ablöschen.\n3. Nach und nach Brühe hinzufügen.\n4. Gebratene Pilze und Parmesan unterheben.', 'Mittagessen', 10, 30, 2, 'Mittel', 1, 0, 0),
('Wrap mit Hähnchen', 'Gefüllter Wrap mit gegrilltem Hähnchen', '1. Hähnchen grillen und in Streifen schneiden.\n2. Wrap mit Sauce bestreichen.\n3. Mit Salat, Tomaten und Hähnchen füllen.\n4. Aufrollen und halbieren.', 'Mittagessen', 15, 15, 2, 'Einfach', 0, 0, 0),
('Tomatensuppe', 'Cremige Suppe aus frischen Tomaten', '1. Tomaten, Zwiebeln und Knoblauch rösten.\n2. Mit Brühe pürieren.\n3. Mit Sahne verfeinern.\n4. Mit Basilikum garnieren.', 'Mittagessen', 10, 30, 4, 'Einfach', 1, 0, 1),
('Schnitzel mit Kartoffelsalat', 'Wiener Schnitzel mit hausgemachtem Kartoffelsalat', '1. Schnitzel panieren.\n2. In Butter goldbraun braten.\n3. Kartoffeln kochen und mit Essig-Öl-Dressing mischen.\n4. Zusammen servieren.', 'Mittagessen', 20, 20, 2, 'Mittel', 0, 0, 0),
('Pasta Primavera', 'Bunte Gemüsepasta mit Frühlingsgemüse', '1. Pasta kochen.\n2. Gemüse in Olivenöl anbraten.\n3. Mit Knoblauch würzen.\n4. Pasta unterheben.\n5. Mit Parmesan bestreuen.', 'Mittagessen', 15, 15, 2, 'Einfach', 1, 0, 0),
('Falafel Bowl', 'Orientalische Bowl mit Falafel und Hummus', '1. Falafel-Masse zubereiten und frittieren.\n2. Salat, Gurke und Tomaten schneiden.\n3. Mit Hummus und Tahini anrichten.\n4. Mit Fladenbrot servieren.', 'Mittagessen', 30, 15, 2, 'Mittel', 1, 1, 0),
('Ramen', 'Japanische Nudelsuppe mit Ei und Gemüse', '1. Brühe mit Sojasauce und Miso würzen.\n2. Nudeln separat kochen.\n3. Mit weich gekochtem Ei, Nori und Frühlingszwiebeln garnieren.', 'Mittagessen', 20, 20, 2, 'Mittel', 0, 0, 0),
('Griechischer Salat', 'Frischer Salat mit Feta und Oliven', '1. Tomaten, Gurke und Paprika würfeln.\n2. Zwiebeln in Ringe schneiden.\n3. Feta darüber bröseln.\n4. Mit Oliven und Oregano garnieren.\n5. Olivenöl darüber träufeln.', 'Mittagessen', 15, 0, 2, 'Einfach', 1, 0, 0),
('Lasagne', 'Klassische italienische Lasagne', '1. Bolognese-Sauce zubereiten.\n2. Béchamel-Sauce kochen.\n3. Abwechselnd mit Nudelplatten schichten.\n4. Mit Käse bestreuen.\n5. Bei 180°C 45 Minuten backen.', 'Mittagessen', 30, 45, 6, 'Mittel', 0, 0, 1),
('Thunfisch-Sandwich', 'Klassisches Sandwich mit Thunfischsalat', '1. Thunfisch mit Mayo, Sellerie und Zwiebeln mischen.\n2. Toast mit Salat belegen.\n3. Thunfischmasse darauf verteilen.\n4. Mit zweiter Scheibe bedecken.', 'Mittagessen', 10, 0, 2, 'Einfach', 0, 0, 0),
('Gemüse-Quiche', 'Herzhafte Quiche mit buntem Gemüse', '1. Mürbeteig in Form drücken.\n2. Gemüse anbraten.\n3. Mit Ei-Sahne-Mischung übergießen.\n4. Bei 180°C 40 Minuten backen.', 'Mittagessen', 25, 40, 6, 'Mittel', 1, 0, 1),
('Poke Bowl', 'Hawaiianische Bowl mit Lachs', '1. Reis kochen und würzen.\n2. Lachs in Würfel schneiden und marinieren.\n3. Mit Avocado, Edamame und Sesam anrichten.', 'Mittagessen', 20, 15, 2, 'Einfach', 0, 0, 0),
('Carbonara', 'Cremige Pasta auf römische Art', '1. Pasta kochen.\n2. Speck kross braten.\n3. Eigelb mit Pecorino verrühren.\n4. Pasta unterheben und mit Ei-Käse-Mischung vermengen.', 'Mittagessen', 10, 15, 2, 'Einfach', 0, 0, 0),
('Linseneintopf', 'Herzhafter Eintopf mit Linsen', '1. Zwiebeln und Karotten anbraten.\n2. Linsen und Brühe hinzufügen.\n3. 30 Minuten köcheln lassen.\n4. Mit Essig und Würstchen servieren.', 'Mittagessen', 15, 35, 4, 'Einfach', 0, 0, 1),
('Burrito Bowl', 'Mexikanische Bowl ohne Tortilla', '1. Reis mit Limette würzen.\n2. Bohnen erwärmen.\n3. Hähnchen oder Tofu anbraten.\n4. Mit Mais, Salsa und Guacamole anrichten.', 'Mittagessen', 20, 15, 2, 'Einfach', 0, 0, 0),
('Gnocchi mit Salbei-Butter', 'Weiche Gnocchi in aromatischer Salbeibutter', '1. Gnocchi in Salzwasser kochen.\n2. Butter mit Salbei bräunen.\n3. Gnocchi darin schwenken.\n4. Mit Parmesan servieren.', 'Mittagessen', 5, 10, 2, 'Einfach', 1, 0, 0),
('Pulled Pork Sandwich', 'Zartes Schweinefleisch im Brötchen', '1. Schweineschulter mit Gewürzen einreiben.\n2. 6-8 Stunden bei niedriger Temperatur garen.\n3. Fleisch zerzupfen.\n4. Mit Coleslaw im Brötchen servieren.', 'Mittagessen', 20, 360, 6, 'Schwer', 0, 0, 1),
('Minestrone', 'Italienische Gemüsesuppe', '1. Gemüse würfeln und in Olivenöl anbraten.\n2. Mit Brühe aufgießen.\n3. Bohnen und kleine Nudeln hinzufügen.\n4. Mit Parmesan servieren.', 'Mittagessen', 20, 30, 4, 'Einfach', 1, 1, 1),
('Gebratene Nudeln', 'Asiatische Nudeln mit Gemüse', '1. Nudeln kochen.\n2. Gemüse im Wok anbraten.\n3. Sojasauce und Sesamöl hinzufügen.\n4. Nudeln unterheben und servieren.', 'Mittagessen', 15, 10, 2, 'Einfach', 1, 1, 0),
('Flammkuchen', 'Elsässer Spezialität mit Speck und Zwiebeln', '1. Teig dünn ausrollen.\n2. Mit Crème fraîche bestreichen.\n3. Mit Zwiebeln und Speck belegen.\n4. Bei 250°C knusprig backen.', 'Mittagessen', 15, 15, 2, 'Einfach', 0, 0, 0);
-- ═══════════════════════════════════════════════════════════════
-- REZEPTE: ABENDESSEN (25 Rezepte)
-- ═══════════════════════════════════════════════════════════════
INSERT INTO recipes (name, description, instructions, category, prep_time, cook_time, servings, difficulty, is_vegetarian, is_vegan, is_meal_prep, is_public) VALUES
('Steak mit Bratkartoffeln', 'Saftiges Rindersteak mit knusprigen Kartoffeln', '1. Steak bei Zimmertemperatur ruhen lassen.\n2. Kartoffeln vorkochen und braten.\n3. Steak scharf anbraten.\n4. Mit Kräuterbutter servieren.', 'Abendessen', 15, 20, 2, 'Mittel', 0, 0, 0),
('Gemüsepfanne mit Reis', 'Bunte Pfanne mit knackigem Gemüse', '1. Reis kochen.\n2. Gemüse in Streifen schneiden.\n3. Im Wok anbraten.\n4. Mit Sojasauce würzen.\n5. Mit Reis servieren.', 'Abendessen', 15, 20, 2, 'Einfach', 1, 1, 0),
('Pizza Margherita', 'Klassische Pizza mit Tomaten und Mozzarella', '1. Hefeteig zubereiten und gehen lassen.\n2. Dünn ausrollen.\n3. Mit Tomatensauce und Mozzarella belegen.\n4. Bei 250°C ca. 12 Minuten backen.', 'Abendessen', 30, 15, 2, 'Mittel', 1, 0, 0),
('Hähnchen-Geschnetzeltes', 'Zartes Hähnchen in Rahmsauce', '1. Hähnchen in Streifen schneiden.\n2. Mit Paprika anbraten.\n3. Mit Sahne ablöschen.\n4. Mit Spätzle oder Reis servieren.', 'Abendessen', 15, 20, 2, 'Einfach', 0, 0, 0),
('Fischstäbchen mit Püree', 'Knusprige Fischstäbchen mit cremigem Kartoffelpüree', '1. Fischstäbchen nach Packung zubereiten.\n2. Kartoffeln kochen und pürieren.\n3. Mit Butter und Milch verfeinern.\n4. Mit Erbsen servieren.', 'Abendessen', 10, 25, 2, 'Einfach', 0, 0, 0),
('Thai-Curry Grün', 'Authentisches grünes Curry', '1. Currypaste in Kokosmilch anbraten.\n2. Gemüse und Tofu oder Fleisch hinzufügen.\n3. Mit Fischsauce und Zucker würzen.\n4. Mit Jasminreis servieren.', 'Abendessen', 20, 20, 2, 'Mittel', 0, 0, 0),
('Auflauf mit Hackfleisch', 'Herzhafter Kartoffel-Hack-Auflauf', '1. Kartoffeln in Scheiben schneiden.\n2. Hackfleisch anbraten.\n3. Abwechselnd schichten.\n4. Mit Sahne übergießen und Käse bestreuen.\n5. 40 Minuten backen.', 'Abendessen', 20, 40, 4, 'Einfach', 0, 0, 1),
('Lachs-Spinat-Pasta', 'Pasta mit Lachs und cremigem Spinat', '1. Pasta kochen.\n2. Lachs würfeln und anbraten.\n3. Spinat und Sahne hinzufügen.\n4. Mit Pasta vermengen.', 'Abendessen', 10, 15, 2, 'Einfach', 0, 0, 0),
('Tacos', 'Mexikanische Tacos mit Hackfleisch', '1. Hackfleisch mit Gewürzen anbraten.\n2. Tacoschalen erwärmen.\n3. Mit Salat, Tomaten, Käse und Salsa füllen.', 'Abendessen', 15, 15, 4, 'Einfach', 0, 0, 0),
('Ofengemüse mit Feta', 'Buntes Gemüse aus dem Ofen', '1. Gemüse grob würfeln.\n2. Mit Olivenöl und Kräutern mischen.\n3. Bei 200°C 30 Minuten rösten.\n4. Mit Feta bestreuen.', 'Abendessen', 15, 30, 2, 'Einfach', 1, 0, 0),
('Gulasch', 'Ungarisches Gulasch mit viel Paprika', '1. Rindfleisch in Würfel schneiden.\n2. Mit Zwiebeln anbraten.\n3. Mit Paprika und Tomatenmark würzen.\n4. 2 Stunden schmoren lassen.', 'Abendessen', 20, 120, 4, 'Mittel', 0, 0, 1),
('Sushi Bowl', 'Deconstructed Sushi in der Schüssel', '1. Sushireis kochen und würzen.\n2. Lachs oder Thunfisch in Würfel schneiden.\n3. Mit Avocado, Edamame und Nori anrichten.\n4. Mit Sojasauce servieren.', 'Abendessen', 20, 15, 2, 'Einfach', 0, 0, 0),
('Käsespätzle', 'Schwäbischer Klassiker mit viel Käse', '1. Spätzle selbst machen oder kaufen.\n2. Mit geriebenem Käse schichten.\n3. Im Ofen überbacken.\n4. Mit Röstzwiebeln toppen.', 'Abendessen', 15, 20, 2, 'Einfach', 1, 0, 0),
('Hähnchenspieße', 'Marinierte Spieße vom Grill', '1. Hähnchen in Stücke schneiden.\n2. In Joghurt-Gewürz-Marinade einlegen.\n3. Auf Spieße stecken.\n4. Grillen oder braten.\n5. Mit Tzatziki servieren.', 'Abendessen', 30, 15, 4, 'Einfach', 0, 0, 0),
('Bruschetta', 'Italienische Vorspeise als leichtes Abendessen', '1. Baguette in Scheiben schneiden und rösten.\n2. Tomaten würfeln und mit Basilikum mischen.\n3. Mit Knoblauch und Olivenöl würzen.\n4. Auf Brot verteilen.', 'Abendessen', 15, 5, 2, 'Einfach', 1, 1, 0),
('Cordon Bleu', 'Gefülltes Schnitzel mit Schinken und Käse', '1. Schnitzel aufschneiden.\n2. Mit Schinken und Käse füllen.\n3. Panieren.\n4. In Butter goldbraun braten.', 'Abendessen', 20, 15, 2, 'Mittel', 0, 0, 0),
('Pad Thai', 'Thailändisches Nudelgericht', '1. Reisnudeln einweichen.\n2. Tofu oder Garnelen anbraten.\n3. Mit Ei, Sprossen und Sauce vermischen.\n4. Mit Erdnüssen und Limette servieren.', 'Abendessen', 20, 15, 2, 'Mittel', 0, 0, 0),
('Chili con Carne', 'Feuriges Tex-Mex-Gericht', '1. Hackfleisch anbraten.\n2. Zwiebeln, Bohnen und Tomaten hinzufügen.\n3. Mit Chili und Kreuzkümmel würzen.\n4. 45 Minuten köcheln lassen.', 'Abendessen', 15, 45, 4, 'Einfach', 0, 0, 1),
('Zucchini-Boote', 'Gefüllte Zucchini aus dem Ofen', '1. Zucchini halbieren und aushöhlen.\n2. Hackfleisch mit Tomaten und Feta mischen.\n3. Zucchini füllen.\n4. 30 Minuten backen.', 'Abendessen', 20, 30, 2, 'Einfach', 0, 0, 0),
('Teriyaki-Lachs', 'Glasierter Lachs mit Teriyaki-Sauce', '1. Teriyaki-Sauce zubereiten.\n2. Lachs marinieren.\n3. In der Pfanne glasieren.\n4. Mit Sesam bestreuen und mit Reis servieren.', 'Abendessen', 15, 15, 2, 'Einfach', 0, 0, 0),
('Spinat-Ricotta-Cannelloni', 'Gefüllte Nudelrollen mit Spinat', '1. Spinat mit Ricotta mischen.\n2. Cannelloni füllen.\n3. In Tomatensauce legen.\n4. Mit Käse überbacken.', 'Abendessen', 25, 35, 4, 'Mittel', 1, 0, 1),
('Burger Classic', 'Saftiger Rindfleisch-Burger', '1. Patties aus Hackfleisch formen.\n2. Scharf anbraten.\n3. Brötchen toasten.\n4. Mit Salat, Tomate, Käse und Sauce belegen.', 'Abendessen', 15, 10, 2, 'Einfach', 0, 0, 0),
('Pilzragout', 'Cremiges Ragout mit verschiedenen Pilzen', '1. Pilze putzen und schneiden.\n2. In Butter anbraten.\n3. Mit Sahne und Weißwein ablöschen.\n4. Mit Petersilie garnieren.', 'Abendessen', 15, 20, 2, 'Einfach', 1, 0, 0),
('Garnelen-Scampi', 'Knoblauch-Garnelen in Weißwein', '1. Knoblauch in Olivenöl anbraten.\n2. Garnelen hinzufügen.\n3. Mit Weißwein ablöschen.\n4. Mit Petersilie und Baguette servieren.', 'Abendessen', 10, 10, 2, 'Einfach', 0, 0, 0),
('Kartoffelgratin', 'Cremiges Gratin mit goldbrauner Kruste', '1. Kartoffeln in dünne Scheiben schneiden.\n2. Mit Sahne und Knoblauch in eine Form schichten.\n3. Mit Käse bestreuen.\n4. 60 Minuten bei 180°C backen.', 'Abendessen', 20, 60, 4, 'Einfach', 1, 0, 0);
-- ═══════════════════════════════════════════════════════════════
-- REZEPTE: SNACKS (15 Rezepte)
-- ═══════════════════════════════════════════════════════════════
INSERT INTO recipes (name, description, instructions, category, prep_time, cook_time, servings, difficulty, is_vegetarian, is_vegan, is_meal_prep, is_public) VALUES
('Hummus mit Gemüsesticks', 'Cremiger Hummus mit frischem Gemüse', '1. Kichererbsen, Tahini und Zitrone pürieren.\n2. Mit Olivenöl und Paprika garnieren.\n3. Mit Karotten, Gurke und Paprika servieren.', 'Snack', 15, 0, 4, 'Einfach', 1, 1, 1),
('Energiebällchen', 'Gesunde Snacks aus Datteln und Nüssen', '1. Datteln, Nüsse und Kakao im Mixer zerkleinern.\n2. Zu kleinen Kugeln formen.\n3. In Kokosraspeln wälzen.', 'Snack', 15, 0, 12, 'Einfach', 1, 1, 1),
('Apfel mit Erdnussbutter', 'Einfacher, sättigender Snack', '1. Apfel in Spalten schneiden.\n2. Mit Erdnussbutter dippen.', 'Snack', 5, 0, 1, 'Einfach', 1, 1, 0),
('Käse-Cracker', 'Würzige Cracker mit Käse', '1. Cracker auf einem Teller anrichten.\n2. Mit Käsescheiben belegen.\n3. Optional mit Weintrauben garnieren.', 'Snack', 5, 0, 1, 'Einfach', 1, 0, 0),
('Guacamole mit Nachos', 'Frische Avocadocreme mit Tortilla-Chips', '1. Avocados zerdrücken.\n2. Mit Limette, Zwiebel und Koriander mischen.\n3. Mit Nachos servieren.', 'Snack', 10, 0, 4, 'Einfach', 1, 1, 0),
('Joghurt mit Nüssen', 'Proteinreicher Snack', '1. Naturjoghurt in eine Schüssel geben.\n2. Mit gemischten Nüssen toppen.\n3. Mit Honig beträufeln.', 'Snack', 5, 0, 1, 'Einfach', 1, 0, 0),
('Smoothie Grün', 'Vitaminreicher grüner Smoothie', '1. Spinat, Banane und Apfel in den Mixer geben.\n2. Mit Wasser oder Milch auffüllen.\n3. Glatt pürieren.', 'Snack', 10, 0, 1, 'Einfach', 1, 1, 0),
('Bruschetta-Häppchen', 'Mini-Bruschetta als Snack', '1. Baguette in kleine Scheiben schneiden.\n2. Toasten.\n3. Mit Tomatenwürfeln belegen.', 'Snack', 10, 5, 6, 'Einfach', 1, 1, 0),
('Studentenfutter', 'Klassische Nuss-Frucht-Mischung', '1. Nüsse und Trockenfrüchte mischen.\n2. Portionsweise abpacken.', 'Snack', 5, 0, 4, 'Einfach', 1, 1, 1),
('Caprese-Spieße', 'Mozzarella-Tomaten-Spieße', '1. Mozzarella und Tomaten auf Zahnstocher spießen.\n2. Mit Basilikum garnieren.\n3. Mit Balsamico beträufeln.', 'Snack', 10, 0, 8, 'Einfach', 1, 0, 0),
('Proteinriegel homemade', 'Selbstgemachte Eiweißriegel', '1. Haferflocken, Proteinpulver und Erdnussbutter mischen.\n2. Mit Honig binden.\n3. In einer Form pressen und kühlen.', 'Snack', 15, 0, 8, 'Einfach', 1, 0, 1),
('Edamame', 'Gesalzene Sojabohnen', '1. Edamame in Salzwasser kochen.\n2. Mit grobem Meersalz bestreuen.\n3. Warm servieren.', 'Snack', 5, 5, 2, 'Einfach', 1, 1, 0),
('Bananenbrot-Muffins', 'Kleine Portionen Bananenbrot', '1. Überreife Bananen mit Ei und Mehl verrühren.\n2. In Muffinformen füllen.\n3. 20 Minuten backen.', 'Snack', 10, 20, 12, 'Einfach', 1, 0, 1),
('Tzatziki mit Pita', 'Griechischer Dip mit Fladenbrot', '1. Joghurt mit Gurke und Knoblauch mischen.\n2. Mit Dill würzen.\n3. Mit warmem Pitabrot servieren.', 'Snack', 10, 0, 4, 'Einfach', 1, 0, 0),
('Obstsalat', 'Bunter Mix aus frischen Früchten', '1. Verschiedene Früchte würfeln.\n2. Mit etwas Zitronensaft mischen.\n3. Optional mit Minze garnieren.', 'Snack', 15, 0, 2, 'Einfach', 1, 1, 0);
-- ═══════════════════════════════════════════════════════════════
-- ZUTATEN FÜR AUSGEWÄHLTE REZEPTE
-- ═══════════════════════════════════════════════════════════════
-- Porridge (ID 1)
INSERT INTO recipe_ingredients (recipe_id, ingredient_name, amount, unit, category_id) VALUES
(1, 'Haferflocken', 50, 'g', 5),
(1, 'Milch', 200, 'ml', 2),
(1, 'Honig', 1, 'EL', 10),
(1, 'Gemischte Beeren', 100, 'g', 1),
(1, 'Zimt', 1, 'Prise', 6);
-- Avocado-Toast (ID 2)
INSERT INTO recipe_ingredients (recipe_id, ingredient_name, amount, unit, category_id) VALUES
(2, 'Vollkornbrot', 2, 'Scheiben', 4),
(2, 'Avocado', 1, 'Stück', 1),
(2, 'Ei', 1, 'Stück', 2),
(2, 'Zitronensaft', 1, 'TL', 1),
(2, 'Chiliflocken', 1, 'Prise', 6),
(2, 'Salz', 1, 'Prise', 6),
(2, 'Pfeffer', 1, 'Prise', 6);
-- Spaghetti Bolognese (ID 26)
INSERT INTO recipe_ingredients (recipe_id, ingredient_name, amount, unit, category_id) VALUES
(26, 'Spaghetti', 400, 'g', 5),
(26, 'Rinderhackfleisch', 500, 'g', 3),
(26, 'Zwiebel', 1, 'Stück', 1),
(26, 'Knoblauch', 2, 'Zehen', 1),
(26, 'Passierte Tomaten', 400, 'g', 7),
(26, 'Tomatenmark', 2, 'EL', 7),
(26, 'Olivenöl', 2, 'EL', 10),
(26, 'Oregano', 1, 'TL', 6),
(26, 'Basilikum', 1, 'TL', 6),
(26, 'Parmesan', 50, 'g', 2);
-- Hähnchen-Curry (ID 27)
INSERT INTO recipe_ingredients (recipe_id, ingredient_name, amount, unit, category_id) VALUES
(27, 'Hähnchenbrust', 400, 'g', 3),
(27, 'Kokosmilch', 400, 'ml', 7),
(27, 'Currypaste', 2, 'EL', 6),
(27, 'Zwiebel', 1, 'Stück', 1),
(27, 'Paprika', 1, 'Stück', 1),
(27, 'Reis', 200, 'g', 5),
(27, 'Koriander', 1, 'Bund', 6);
-- Buddha Bowl (ID 28)
INSERT INTO recipe_ingredients (recipe_id, ingredient_name, amount, unit, category_id) VALUES
(28, 'Quinoa', 150, 'g', 5),
(28, 'Kichererbsen', 200, 'g', 7),
(28, 'Süßkartoffel', 1, 'Stück', 1),
(28, 'Brokkoli', 150, 'g', 1),
(28, 'Avocado', 1, 'Stück', 1),
(28, 'Tahini', 2, 'EL', 10),
(28, 'Zitrone', 1, 'Stück', 1);
-- Steak mit Bratkartoffeln (ID 51)
INSERT INTO recipe_ingredients (recipe_id, ingredient_name, amount, unit, category_id) VALUES
(51, 'Rindersteak', 2, 'Stück', 3),
(51, 'Kartoffeln', 500, 'g', 1),
(51, 'Butter', 50, 'g', 2),
(51, 'Rosmarin', 2, 'Zweige', 6),
(51, 'Knoblauch', 2, 'Zehen', 1),
(51, 'Salz', 1, 'TL', 6),
(51, 'Pfeffer', 1, 'TL', 6);
-- Pizza Margherita (ID 53)
INSERT INTO recipe_ingredients (recipe_id, ingredient_name, amount, unit, category_id) VALUES
(53, 'Pizzateig', 1, 'Stück', 4),
(53, 'Tomatensauce', 150, 'ml', 7),
(53, 'Mozzarella', 200, 'g', 2),
(53, 'Basilikum', 1, 'Bund', 6),
(53, 'Olivenöl', 2, 'EL', 10);
-- Hummus (ID 76)
INSERT INTO recipe_ingredients (recipe_id, ingredient_name, amount, unit, category_id) VALUES
(76, 'Kichererbsen', 400, 'g', 7),
(76, 'Tahini', 3, 'EL', 10),
(76, 'Zitronensaft', 3, 'EL', 1),
(76, 'Knoblauch', 2, 'Zehen', 1),
(76, 'Olivenöl', 4, 'EL', 10),
(76, 'Paprikapulver', 1, 'TL', 6),
(76, 'Karotten', 2, 'Stück', 1),
(76, 'Gurke', 1, 'Stück', 1);