diff --git a/installation/MySQL_Dump.sql b/installation/MySQL_Dump.sql new file mode 100644 index 0000000..61deee0 --- /dev/null +++ b/installation/MySQL_Dump.sql @@ -0,0 +1,515 @@ +-- MySQL dump 10.13 Distrib 8.0.45, for Linux (x86_64) +-- +-- Host: localhost Database: FSST +-- ------------------------------------------------------ +-- Server version 8.0.45-0ubuntu0.24.04.1 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `attributes` +-- + +DROP TABLE IF EXISTS `attributes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `attributes` ( + `attributeID` int NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `unit` varchar(50) DEFAULT NULL, + `dataType` varchar(20) DEFAULT NULL, + PRIMARY KEY (`attributeID`) +) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `attributes` +-- + +LOCK TABLES `attributes` WRITE; +/*!40000 ALTER TABLE `attributes` DISABLE KEYS */; +INSERT INTO `attributes` VALUES (1,'SoC',NULL,'string'),(2,'Release-Jahr',NULL,'number'),(3,'Gewicht','g','number'),(10,'Displaygröße','Zoll','float'),(11,'Displaytyp',NULL,'string'),(12,'Auflösung Breite','px','number'),(13,'Auflösung Höhe','px','number'),(20,'RAM','GB','number'),(21,'Interner Speicher','GB','number'),(30,'Hauptkamera','MP','number'),(40,'Akkukapazität','mAh','number'),(50,'5G',NULL,'bool'),(51,'WiFi Standard',NULL,'string'),(60,'ANC',NULL,'bool'),(61,'Transparenzmodus',NULL,'bool'),(62,'Hauptprozessor',NULL,'string'),(63,'Gehäusematerial',NULL,'string'),(64,'Innenkamera','MP','string'),(65,'Kamerazoom','fach','string'),(66,'Ladeanschluss',NULL,'string'),(67,'Farben',NULL,'string'),(68,'Apple Pencil ',NULL,'string'),(69,'Magic Keyboard',NULL,'string'); +/*!40000 ALTER TABLE `attributes` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `brands` +-- + +DROP TABLE IF EXISTS `brands`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `brands` ( + `brandID` int NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + PRIMARY KEY (`brandID`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `brands` +-- + +LOCK TABLES `brands` WRITE; +/*!40000 ALTER TABLE `brands` DISABLE KEYS */; +INSERT INTO `brands` VALUES (1,'Apple'); +/*!40000 ALTER TABLE `brands` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `categories` +-- + +DROP TABLE IF EXISTS `categories`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `categories` ( + `categoryID` int NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `parentCategoryID` int DEFAULT NULL, + PRIMARY KEY (`categoryID`), + KEY `categories_ibfk_1` (`parentCategoryID`), + CONSTRAINT `categories_ibfk_1` FOREIGN KEY (`parentCategoryID`) REFERENCES `categories` (`categoryID`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `categories` +-- + +LOCK TABLES `categories` WRITE; +/*!40000 ALTER TABLE `categories` DISABLE KEYS */; +INSERT INTO `categories` VALUES (20,'iPhone',NULL),(21,'iPad',NULL),(22,'MacBook',NULL),(23,'AirPods',NULL),(24,'Accessories ',NULL),(25,'Watch',NULL); +/*!40000 ALTER TABLE `categories` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `categoryAttributes` +-- + +DROP TABLE IF EXISTS `categoryAttributes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `categoryAttributes` ( + `categoryID` int NOT NULL, + `attributeID` int NOT NULL, + PRIMARY KEY (`categoryID`,`attributeID`), + KEY `attributeID` (`attributeID`), + CONSTRAINT `categoryAttributes_ibfk_1` FOREIGN KEY (`categoryID`) REFERENCES `categories` (`categoryID`), + CONSTRAINT `categoryAttributes_ibfk_2` FOREIGN KEY (`attributeID`) REFERENCES `attributes` (`attributeID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `categoryAttributes` +-- + +LOCK TABLES `categoryAttributes` WRITE; +/*!40000 ALTER TABLE `categoryAttributes` DISABLE KEYS */; +INSERT INTO `categoryAttributes` VALUES (20,2),(21,2),(22,2),(23,2),(25,2),(20,3),(21,3),(22,3),(23,3),(25,3),(20,10),(21,10),(22,10),(25,10),(20,11),(21,11),(22,11),(25,11),(20,20),(21,20),(22,20),(20,21),(21,21),(22,21),(20,30),(21,30),(20,40),(21,40),(20,50),(21,50),(22,51),(23,60),(23,61),(20,62),(21,62),(20,63),(21,63),(20,64),(21,64),(20,65),(21,65),(20,66),(21,66),(20,67),(21,67),(21,68),(21,69); +/*!40000 ALTER TABLE `categoryAttributes` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `notifications` +-- + +DROP TABLE IF EXISTS `notifications`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `notifications` ( + `notificationID` int NOT NULL AUTO_INCREMENT, + `userID` int NOT NULL, + `title` varchar(255) NOT NULL, + `message` text NOT NULL, + `isRead` tinyint(1) NOT NULL DEFAULT '0', + `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`notificationID`), + KEY `fk_notifications_user` (`userID`), + CONSTRAINT `fk_notifications_user` FOREIGN KEY (`userID`) REFERENCES `users` (`userID`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `notifications` +-- + +LOCK TABLES `notifications` WRITE; +/*!40000 ALTER TABLE `notifications` DISABLE KEYS */; +/*!40000 ALTER TABLE `notifications` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `offers` +-- + +DROP TABLE IF EXISTS `offers`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `offers` ( + `offerID` int NOT NULL AUTO_INCREMENT, + `productID` int NOT NULL, + `shopID` int NOT NULL, + `price` decimal(10,2) NOT NULL, + `shippingCost` decimal(10,2) DEFAULT NULL, + `inStock` tinyint(1) DEFAULT NULL, + `offerURL` varchar(255) DEFAULT NULL, + PRIMARY KEY (`offerID`), + KEY `productID` (`productID`), + KEY `shopID` (`shopID`), + CONSTRAINT `offers_ibfk_1` FOREIGN KEY (`productID`) REFERENCES `products` (`productID`), + CONSTRAINT `offers_ibfk_2` FOREIGN KEY (`shopID`) REFERENCES `shops` (`shopID`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `offers` +-- + +LOCK TABLES `offers` WRITE; +/*!40000 ALTER TABLE `offers` DISABLE KEYS */; +INSERT INTO `offers` VALUES (1,1001,1,800.00,0.00,1,'https://www.apple.com/at/shop/buy-iphone/iphone-16'),(2,1001,5,700.00,5.00,1,NULL),(3,1001,6,250.00,90.00,1,NULL); +/*!40000 ALTER TABLE `offers` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `priceAlerts` +-- + +DROP TABLE IF EXISTS `priceAlerts`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `priceAlerts` ( + `alertID` int NOT NULL AUTO_INCREMENT, + `userID` int NOT NULL, + `productID` int NOT NULL, + `targetPrice` decimal(10,2) NOT NULL, + `isActive` tinyint(1) NOT NULL DEFAULT '1', + `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`alertID`), + KEY `fk_pricealerts_user` (`userID`), + KEY `fk_pricealerts_product` (`productID`), + CONSTRAINT `fk_pricealerts_product` FOREIGN KEY (`productID`) REFERENCES `products` (`productID`) ON DELETE CASCADE, + CONSTRAINT `fk_pricealerts_user` FOREIGN KEY (`userID`) REFERENCES `users` (`userID`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `priceAlerts` +-- + +LOCK TABLES `priceAlerts` WRITE; +/*!40000 ALTER TABLE `priceAlerts` DISABLE KEYS */; +/*!40000 ALTER TABLE `priceAlerts` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `productAttributes` +-- + +DROP TABLE IF EXISTS `productAttributes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `productAttributes` ( + `productID` int NOT NULL, + `attributeID` int NOT NULL, + `valueString` varchar(255) DEFAULT NULL, + `valueNumber` decimal(10,2) DEFAULT NULL, + `valueBool` tinyint(1) DEFAULT NULL, + PRIMARY KEY (`productID`,`attributeID`), + KEY `attributeID` (`attributeID`), + CONSTRAINT `productAttributes_ibfk_1` FOREIGN KEY (`productID`) REFERENCES `products` (`productID`), + CONSTRAINT `productAttributes_ibfk_2` FOREIGN KEY (`attributeID`) REFERENCES `attributes` (`attributeID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `productAttributes` +-- + +LOCK TABLES `productAttributes` WRITE; +/*!40000 ALTER TABLE `productAttributes` DISABLE KEYS */; +INSERT INTO `productAttributes` VALUES (1001,1,'A16 Bionic',NULL,NULL),(1001,2,NULL,2023.00,NULL),(1001,3,NULL,171.00,NULL),(1001,10,NULL,6.10,NULL),(1001,11,'OLED',NULL,NULL),(1001,20,NULL,6.00,NULL),(1001,21,NULL,128.00,NULL),(1001,30,NULL,48.00,NULL),(1001,40,NULL,3349.00,NULL),(1001,50,NULL,NULL,1),(1002,1,'A17 Pro',NULL,NULL),(1002,2,NULL,2023.00,NULL),(1002,3,NULL,187.00,NULL),(1002,10,NULL,6.10,NULL),(1002,11,'OLED LTPO',NULL,NULL),(1002,20,NULL,8.00,NULL),(1002,21,NULL,256.00,NULL),(1002,30,NULL,48.00,NULL),(1002,40,NULL,3274.00,NULL),(1002,50,NULL,NULL,1),(1102,1,'Apple M4',NULL,NULL),(1102,2,NULL,2024.00,NULL),(1102,3,NULL,579.00,NULL),(1102,10,NULL,13.00,NULL),(1102,11,'OLED',NULL,NULL),(1102,20,NULL,16.00,NULL),(1102,21,NULL,512.00,NULL),(1102,40,NULL,10290.00,NULL),(1102,51,'Wi-Fi 6E',NULL,NULL),(1202,1,'Apple M3 Pro',NULL,NULL),(1202,2,NULL,2024.00,NULL),(1202,3,NULL,1600.00,NULL),(1202,10,NULL,14.20,NULL),(1202,11,'Mini-LED',NULL,NULL),(1202,20,NULL,18.00,NULL),(1202,21,NULL,512.00,NULL),(1202,51,'Wi-Fi 6E',NULL,NULL),(1301,2,NULL,2023.00,NULL),(1301,3,NULL,56.00,NULL),(1301,60,NULL,NULL,1),(1301,61,NULL,NULL,1),(1341,2,NULL,2026.00,NULL),(1341,3,NULL,165.00,NULL),(1341,10,NULL,6.50,NULL),(1341,11,'OLED, 2736x1260, 120Hz',NULL,NULL),(1341,20,NULL,12.00,NULL),(1341,21,NULL,256.00,NULL),(1341,30,NULL,48.00,NULL),(1341,40,NULL,3149.00,NULL),(1341,50,'Ja',NULL,NULL),(1341,62,'A19',NULL,NULL),(1341,63,'Titan',NULL,NULL),(1341,64,NULL,18.00,NULL),(1341,65,'1x, 2x',NULL,NULL),(1341,66,'Typ-C',NULL,NULL),(1341,67,'Weiß, Beige, Blau, Schwarz',NULL,NULL),(1342,2,NULL,2026.00,NULL),(1342,3,NULL,177.00,NULL),(1342,10,NULL,6.30,NULL),(1342,11,'OLED, 2622x1206, 120Hz',NULL,NULL),(1342,20,NULL,8.00,NULL),(1342,21,NULL,256.00,NULL),(1342,30,NULL,48.00,NULL),(1342,40,NULL,2692.00,NULL),(1342,50,'Ja',NULL,NULL),(1342,62,'A19',NULL,NULL),(1342,63,'Aluminium',NULL,NULL),(1342,64,NULL,18.00,NULL),(1342,65,'0.5x, 1x, 2x',NULL,NULL),(1342,66,'Typ-C',NULL,NULL),(1342,67,'Schwarz, Weiß, Blau, Grün, Lila',NULL,NULL),(1343,2,NULL,2026.00,NULL),(1343,3,NULL,167.00,NULL),(1343,10,NULL,6.10,NULL),(1343,11,'OLED, 2532x1170, 60Hz',NULL,NULL),(1343,20,NULL,8.00,NULL),(1343,21,NULL,128.00,NULL),(1343,30,NULL,48.00,NULL),(1343,40,NULL,4005.00,NULL),(1343,50,'Ja',NULL,NULL),(1343,62,'A19',NULL,NULL),(1343,63,'Aluminium',NULL,NULL),(1343,64,NULL,12.00,NULL),(1343,65,'1x, 2x',NULL,NULL),(1343,66,'Typ-C',NULL,NULL),(1343,67,'Schwarz, Weiß, Rose',NULL,NULL),(1344,2,NULL,2025.00,NULL),(1344,3,NULL,376.00,NULL),(1344,10,NULL,13.00,NULL),(1344,11,'OLED, 2752x2064, 120Hz',NULL,NULL),(1344,20,NULL,12.00,NULL),(1344,21,NULL,256.00,NULL),(1344,30,NULL,12.00,NULL),(1344,40,NULL,6258.00,NULL),(1344,50,'Ja',NULL,NULL),(1344,62,'M5',NULL,NULL),(1344,63,'Aluminium',NULL,NULL),(1344,64,NULL,12.00,NULL),(1344,65,'1x',NULL,NULL),(1344,66,'Typ-C',NULL,NULL),(1344,67,'Schwarz, Weiß',NULL,NULL),(1344,68,'Pro, Typ-C, 2.Gen',NULL,NULL),(1344,69,'IPad Pro',NULL,NULL),(1345,2,NULL,2025.00,NULL),(1345,3,NULL,336.00,NULL),(1345,10,NULL,11.00,NULL),(1345,11,'IPS, 2360x1640, 60Hz',NULL,NULL),(1345,20,NULL,12.00,NULL),(1345,21,NULL,128.00,NULL),(1345,30,NULL,12.00,NULL),(1345,40,NULL,5432.00,NULL),(1345,50,'Ja',NULL,NULL),(1345,62,'M4',NULL,NULL),(1345,63,'Aluminium',NULL,NULL),(1345,64,NULL,12.00,NULL),(1345,65,'1x',NULL,NULL),(1345,66,'Typ-C',NULL,NULL),(1345,67,'Grau, Beige, Lila, Mint',NULL,NULL),(1345,68,'Pro, Typ-C, 2.Gen',NULL,NULL),(1345,69,'IPad Air',NULL,NULL),(1346,2,NULL,2025.00,NULL),(1346,3,NULL,481.00,NULL),(1346,10,NULL,11.00,NULL),(1346,11,'IPS, 2360x1640, 60Hz',NULL,NULL),(1346,20,NULL,6.00,NULL),(1346,21,NULL,128.00,NULL),(1346,30,NULL,12.00,NULL),(1346,40,NULL,5786.00,NULL),(1346,50,'Ja',NULL,NULL),(1346,62,'A16',NULL,NULL),(1346,63,'Aluminium',NULL,NULL),(1346,64,NULL,12.00,NULL),(1346,65,'1x',NULL,NULL),(1346,66,'Typ-C',NULL,NULL),(1346,67,'Blau, Rose, Gelb, Silber',NULL,NULL),(1346,68,'Typ-C, 2.Gen, 1.Gen',NULL,NULL),(1346,69,'Folio',NULL,NULL); +/*!40000 ALTER TABLE `productAttributes` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `products` +-- + +DROP TABLE IF EXISTS `products`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `products` ( + `productID` int NOT NULL AUTO_INCREMENT, + `categoryID` int NOT NULL, + `brandID` int NOT NULL, + `model` varchar(255) NOT NULL, + `description` text, + `imagePath` varchar(255) DEFAULT NULL, + PRIMARY KEY (`productID`), + KEY `categoryID` (`categoryID`), + KEY `brandID` (`brandID`), + CONSTRAINT `products_ibfk_1` FOREIGN KEY (`categoryID`) REFERENCES `categories` (`categoryID`), + CONSTRAINT `products_ibfk_2` FOREIGN KEY (`brandID`) REFERENCES `brands` (`brandID`) +) ENGINE=InnoDB AUTO_INCREMENT=1347 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `products` +-- + +LOCK TABLES `products` WRITE; +/*!40000 ALTER TABLE `products` DISABLE KEYS */; +INSERT INTO `products` VALUES (1001,20,1,'iPhone 16','Unglaubliche Performance.\nRobustes Design.','assets/images/products/1001.png'),(1002,20,1,'iPhone 17 Pro','Innovatives Design für ultimative Performance und Batterielaufzeit.','assets/images/products/1002.png'),(1101,21,1,'iPad Air 11 (M2)','Apple iPad Air 11 Zoll mit M2','assets/images/products/1101.png'),(1102,21,1,'iPad Pro 13 (M4)','Apple iPad Pro 13 Zoll mit M4','assets/images/products/1102.png'),(1201,22,1,'MacBook Air 13 M3','MacBook Air 13 Zoll M3','assets/images/products/1201.png'),(1202,22,1,'MacBook Pro 14 M3 Pro','MacBook Pro 14 Zoll M3 Pro','assets/images/products/1202.png'),(1301,23,1,'AirPods Pro (3. Gen)','AirPods Pro mit USB-C','assets/images/products/1301.png'),(1302,23,1,'AirPods (3. Gen)','AirPods 3. Generation','assets/images/products/1302.png'),(1303,25,1,'Watch Ultra','Ultra Watch',NULL),(1341,20,1,'IPhone Air','Das dünnste IPhone aller Zeiten. Mit Pro Power.','assets/images/products/1341.png'),(1342,20,1,'IPhone 17','Wunderschöner. Und noch robuster.','assets/images/products/1342.png'),(1343,20,1,'IPhone 17e','Kann viel. Guter Deal.','assets/images/products/1343.png'),(1344,21,1,'IPad Pro (M5)','IPad Pro (M5)','assets/images/products/1344.png'),(1345,21,1,'IPad Air (M4)','IPad Air (M4)','assets/images/products/1345.png'),(1346,21,1,'IPad A16','IPad A16','assets/images/products/1346.png'); +/*!40000 ALTER TABLE `products` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `reviews` +-- + +DROP TABLE IF EXISTS `reviews`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `reviews` ( + `reviewID` int NOT NULL AUTO_INCREMENT, + `userID` int NOT NULL, + `productID` int NOT NULL, + `rating` int NOT NULL, + `comment` text, + `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`reviewID`), + KEY `fk_reviews_user` (`userID`), + KEY `fk_reviews_product` (`productID`), + CONSTRAINT `fk_reviews_product` FOREIGN KEY (`productID`) REFERENCES `products` (`productID`) ON DELETE CASCADE, + CONSTRAINT `fk_reviews_user` FOREIGN KEY (`userID`) REFERENCES `users` (`userID`) ON DELETE CASCADE, + CONSTRAINT `reviews_chk_1` CHECK ((`rating` between 1 and 5)) +) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `reviews` +-- + +LOCK TABLES `reviews` WRITE; +/*!40000 ALTER TABLE `reviews` DISABLE KEYS */; +INSERT INTO `reviews` VALUES (4,10,1002,4,'Echt stabiles Prodoukt ! Etwas sehr teuer, aber sonst top','2026-03-18 14:20:43'),(6,10,1341,5,'Es fühlt sich an, als hätte ich eine Wokle in der Hand!','2026-03-18 14:57:37'),(7,29,1201,2,'Benutzeroberfläche gefällt mir echt, aber im Technik bereich echt unbrauchbar. Ich wechsle wieder auf Windows!','2026-03-18 14:58:03'),(8,29,1302,1,'Also da waren die Samsung Buds ein Segen dagegen. Absolute Geldverschwendung!','2026-03-18 14:59:21'),(9,31,1001,1,'Richtige scheiß kotz Website, wechsle wieder auf Jerkmate','2026-03-18 15:02:23'),(10,32,1002,5,'Sehr gut und handlich','2026-03-18 15:02:52'),(11,33,1002,1,'Puh selten so einen Blödsinn entdeckt aber die Seite kann schon mit xhamster mithalten','2026-03-18 15:03:58'),(12,30,1301,1,'Echt ein Scheiß Produkt, hab auf einen eingebauten Vibrator gehoft...','2026-03-18 15:04:01'),(13,31,1341,5,'Top Produkt','2026-03-18 15:04:24'),(14,33,1341,4,'Gut aber unhandlich','2026-03-18 15:04:33'),(15,32,1102,2,'Nicht so gut wie Samsung aber trotzdem ein Produkt im untersten Unterbereich','2026-03-18 15:04:34'),(16,31,1101,1,'Versucht anal einzuführen, fehlgeschlagen.','2026-03-18 15:04:55'),(17,34,1002,4,'jerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirkjerk4kirk','2026-03-18 15:05:17'),(18,33,1302,1,'Höre Steckers Mom trotzdem stöhnen','2026-03-18 15:05:29'),(19,34,1341,5,'Empfehlung: Handy vaginal/anal einführen und auf eine Nachricht warten. Vibrator & Handy in einem. Daumen hoch','2026-03-18 15:09:03'),(20,35,1002,4,'Gutes Produkt. Groß genug zum Goonen. Außerdem liegt es gut in der Hand (beim Goonen)','2026-03-18 15:09:32'),(21,36,1343,5,'Top Produkt Perfekt zum Pornos schauen','2026-03-18 15:09:57'),(22,34,1301,4,'guter sound zum goonen','2026-03-18 15:10:09'),(23,34,1001,1,'müllersayri größter ayri','2026-03-18 15:10:48'),(24,35,1341,1,'Zu unhandlich um zu goonen','2026-03-18 15:10:51'),(25,34,1302,3,'toni = kritz','2026-03-18 15:11:23'),(26,35,1301,1,'Wer will airpods Pro. Komplett unüblich beim Goonen','2026-03-18 15:13:23'),(27,37,1101,1,'so ein beschissenes produkt konnte mir nicht mal ne pocket pussy für antonia kaufen diese beschissene website is genau so scheiße wie die entwickler. wie heißt es so schön der apfel fällt nicht weit vom stamm.','2026-03-18 15:14:43'),(28,34,1342,5,'Todo Liste: Steckers Mom','2026-03-18 15:14:52'),(29,33,1001,4,'Gutes Produkt aber zu wenig RAM','2026-03-18 15:16:01'),(30,40,1001,1,'safdat','2026-03-18 15:16:54'),(31,39,1002,1,'top','2026-03-18 15:17:22'),(32,37,1001,1,'beschissene website man merkt alles mit chatGPT gemacht worden','2026-03-18 15:18:01'),(33,39,1302,1,'wer braucht die wenn man airpods max haben kann','2026-03-18 15:18:27'),(34,37,1201,1,'zu kleiner bildschirm kann nicht 2 pornos nebeneinander am laufen lassen. zusammengefasst eine beschissene website','2026-03-18 15:19:12'),(35,41,1002,3,'Find ich durchaus etwas funktionabel ist aber leider länger als mein Erigiertes Glied und somit äußerst unbrauchbar','2026-03-18 15:20:16'),(36,37,1301,1,'scheiß produkt die case ist so groß wie michis linkes hodenei','2026-03-18 15:20:19'),(37,37,1343,1,'@SexyHure du drecks Kahi gib mal Nummer dann fick ich dich durch du dreckige ich mags auch schmutzig','2026-03-18 15:21:22'),(38,43,1341,4,'jerk4kirk','2026-03-18 15:21:37'),(39,37,1341,1,'ein kondom hätte einen so beschissenen websitedesigner und somit auch so ne scheiß website verhindert','2026-03-18 15:22:40'),(40,44,1301,1,'Wollte als Bluetooth Vibrator bei Herrn Patrick Dudek verwenden dieser wollte sich nicht freiwillig melden da er ihn zu schwach fand','2026-03-18 21:07:12'); +/*!40000 ALTER TABLE `reviews` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `roles` +-- + +DROP TABLE IF EXISTS `roles`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `roles` ( + `roleID` int NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + PRIMARY KEY (`roleID`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `roles` +-- + +LOCK TABLES `roles` WRITE; +/*!40000 ALTER TABLE `roles` DISABLE KEYS */; +INSERT INTO `roles` VALUES (1,'ADMIN'),(3,'MODERATOR'),(2,'USER'); +/*!40000 ALTER TABLE `roles` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `shops` +-- + +DROP TABLE IF EXISTS `shops`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `shops` ( + `shopID` int NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `website` varchar(255) DEFAULT NULL, + `logoPath` varchar(255) DEFAULT NULL, + `shippingTime` varchar(255) DEFAULT NULL, + PRIMARY KEY (`shopID`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `shops` +-- + +LOCK TABLES `shops` WRITE; +/*!40000 ALTER TABLE `shops` DISABLE KEYS */; +INSERT INTO `shops` VALUES (1,'Apple','https://apple.de','assets/images/shopLogo/Apple.png','10-14'),(5,'Test','https://Test.com','assets/images/shopLogo/Dummie.png','2-3'),(6,'Amazon','https://amazon.de','assets/images/shopLogo/Amazon.png','5'); +/*!40000 ALTER TABLE `shops` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `userFavorites` +-- + +DROP TABLE IF EXISTS `userFavorites`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `userFavorites` ( + `userID` int NOT NULL, + `productID` int NOT NULL, + `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`userID`,`productID`), + KEY `fk_favorites_product` (`productID`), + CONSTRAINT `fk_favorites_product` FOREIGN KEY (`productID`) REFERENCES `products` (`productID`) ON DELETE CASCADE, + CONSTRAINT `fk_favorites_user` FOREIGN KEY (`userID`) REFERENCES `users` (`userID`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `userFavorites` +-- + +LOCK TABLES `userFavorites` WRITE; +/*!40000 ALTER TABLE `userFavorites` DISABLE KEYS */; +INSERT INTO `userFavorites` VALUES (10,1001,'2026-02-22 19:33:39'),(10,1202,'2026-02-22 19:33:51'),(10,1341,'2026-03-30 18:21:41'),(27,1001,'2026-03-02 10:40:26'),(28,1002,'2026-03-04 09:01:36'),(33,1002,'2026-03-18 15:02:36'),(39,1002,'2026-03-18 15:15:47'); +/*!40000 ALTER TABLE `userFavorites` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `userRoles` +-- + +DROP TABLE IF EXISTS `userRoles`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `userRoles` ( + `userID` int NOT NULL, + `roleID` int NOT NULL, + PRIMARY KEY (`userID`,`roleID`), + KEY `fk_userroles_role` (`roleID`), + CONSTRAINT `fk_userroles_role` FOREIGN KEY (`roleID`) REFERENCES `roles` (`roleID`) ON DELETE CASCADE, + CONSTRAINT `fk_userroles_user` FOREIGN KEY (`userID`) REFERENCES `users` (`userID`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `userRoles` +-- + +LOCK TABLES `userRoles` WRITE; +/*!40000 ALTER TABLE `userRoles` DISABLE KEYS */; +INSERT INTO `userRoles` VALUES (10,1),(11,2),(12,2),(13,2),(14,2),(15,2),(16,2),(18,2),(19,2),(20,2),(21,2),(22,2),(24,2),(25,2),(26,2),(27,2),(28,2),(30,2),(31,2),(32,2),(33,2),(34,2),(35,2),(36,2),(37,2),(38,2),(39,2),(40,2),(41,2),(42,2),(43,2),(44,2),(29,3); +/*!40000 ALTER TABLE `userRoles` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `userSessions` +-- + +DROP TABLE IF EXISTS `userSessions`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `userSessions` ( + `sessionID` varchar(128) NOT NULL, + `userID` int NOT NULL, + `expiresAt` timestamp NOT NULL, + PRIMARY KEY (`sessionID`), + KEY `fk_sessions_user` (`userID`), + CONSTRAINT `fk_sessions_user` FOREIGN KEY (`userID`) REFERENCES `users` (`userID`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `userSessions` +-- + +LOCK TABLES `userSessions` WRITE; +/*!40000 ALTER TABLE `userSessions` DISABLE KEYS */; +/*!40000 ALTER TABLE `userSessions` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `users` +-- + +DROP TABLE IF EXISTS `users`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `users` ( + `userID` int NOT NULL AUTO_INCREMENT, + `email` varchar(255) NOT NULL, + `passwordHash` varchar(255) NOT NULL, + `displayName` varchar(255) DEFAULT NULL, + `isActive` tinyint(1) NOT NULL DEFAULT '1', + `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `profilePicture` varchar(255) DEFAULT NULL, + PRIMARY KEY (`userID`), + UNIQUE KEY `email` (`email`) +) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `users` +-- + +LOCK TABLES `users` WRITE; +/*!40000 ALTER TABLE `users` DISABLE KEYS */; +INSERT INTO `users` VALUES (10,'email@fabianschieder.com','$2y$10$eAsaK8BnlB7XmYVw4TFTv.X2XNEVJhHERYY38YczDYxJgbDV3oMHG','admin',1,'2026-01-25 16:18:49','assets/images/profilePictures/user_10_20260331-002705.png'),(11,'testemail123@email.com','$2y$10$LBLlHg4KdTTxgMLPCRdLguHVU6CPPsHWVzSBm.5gqSfI9K70wx9Am','123123123123',1,'2026-01-28 14:41:24','assets/images/profilePictures/default.png'),(12,'email@beispiel.com','$2y$10$FYfv5YyK4LCxTkFpaOtVA.NP2YKV53pmOQPWNBnFA.m3nzO.RLOdi','12341234',1,'2026-01-28 14:44:52','assets/images/profilePictures/default.png'),(13,'fabian.schieder@el.htl-hl.ac.at','$2y$10$vObvu9mNWSFxWKRHSrq4bO2DFALqd98FuaxrU6dO5/4OODeKaxfRO','1234123412341234',1,'2026-01-28 14:45:35','assets/images/profilePictures/default.png'),(14,'penis@gmail.com','$2y$10$LuTDKriVfNoGm/Nwh1vTvehG09zBHWCvmWr5uWnigy1UHgyde4TEC','test',1,'2026-01-29 18:07:56','assets/images/profilePictures/default.png'),(15,'penis1@gmail.com','$2y$10$0aMn68ugon2rmYVzwGv9U.hfbGXgam9WRbDfypeIBW1QTIdHoFyhW','test1',1,'2026-01-29 18:09:21','assets/images/profilePictures/default.png'),(16,'penisemail@muschi.com','$2y$10$I20x8BHJLZ9oACyhgnnYjOepi9tuSTmZ11igXrWgxNYBkWN6hEw3C','pimmellutscher67',1,'2026-01-29 21:37:05','assets/images/profilePictures/default.png'),(18,'aa@gmail.com','$2y$10$rx2/nI2078N.EmlIpAD7BupG5cPM.wY7rBI0OkRJ.yPuqKLFKOzXe','aaa',1,'2026-02-11 07:58:59','assets/images/profilePictures/user_18_20260211-075924.png'),(19,'kyoslslsmd@gmail.com','$2y$10$.XaMYF3XdXcOF1.mobb8SupW1y7wq8m18TwFPLIrLXFJTegy5fna6','djkxodkeken',1,'2026-02-11 11:04:03','assets/images/profilePictures/user_19_20260211-110520.jpg'),(20,'penis2026@gmail.com','$2y$10$xnAuchSjI3SspHVjA3tJduHywFCXUbYEtVJNBeRQp7HYnitQsl6nm','test2026',1,'2026-02-11 15:03:50','assets/images/profilePictures/user_20_20260211-150621.jpg'),(21,'Penis123@gmail.com','$2y$10$WO2894qk0pFy.t5orI50BueisyLHivaQmFrQmlYSl2nF/ORrnJpBe','FabianAyri',1,'2026-02-11 19:18:12','assets/images/profilePictures/default.png'),(22,'pepi@saftad.com','$2y$10$qXcMjnHOpe81eup9/Ic79.qb31inWpne4mF7CkZFOdgJylTbxebB6','SAFTAD',1,'2026-02-13 10:35:07','assets/images/profilePictures/default.png'),(24,'didi@gmail.com','$2y$10$bw0Sm4rgg16X3mStRseeX.lrVsRy/hvGFvn2j591ucXSHuoJ.A98G','diddy',1,'2026-02-18 08:29:55','assets/images/profilePictures/default.png'),(25,'bbb@gmail.com','$2y$10$dOFxkwZYtGW/llftCSMo8OA.FwzMCtJwLQuRMHI7QFnxvBovQAjki','Hoizer',1,'2026-02-18 08:34:33','assets/images/profilePictures/user_25_20260218-083448.png'),(26,'testmail@gmail.com','$2y$10$kPmjXt1VKECJvb.4QLiBHuqO1jdGoexZOD5HPjFvgdd.okU5YOHhu','testuser',1,'2026-02-27 21:01:50','assets/images/profilePictures/user_26_20260227-214427.jpg'),(27,'fabianschieder@gmail.com','$2y$10$pzc20sfykzsPouToya1s4.olaYKmKM7euItFbRoIC7lgZ3dIXDgP6','YonathanTyroneArmaniCornelius',1,'2026-03-02 10:39:13','assets/images/profilePictures/user_27_20260302-103951.png'),(28,'jochenderRochen@gmail.com','$2y$10$U5FxwIlOuAAej/5XM3hc3eUAbtzBLB13VuUXC8mO6QA/3Tg1qdM1W','Jochen',1,'2026-03-04 09:00:19','assets/images/profilePictures/user_28_20260304-090040.png'),(29,'christopher.christen@gmail.com','$2y$10$Xd1hz2CnOpPSPBTLzHwtuu6DXSBZ0jzSgZStOAoCOhJv9u0cLdkvG','ChrisiChristen67 (Bartl)',1,'2026-03-18 14:56:00','assets/images/profilePictures/default.png'),(30,'Antonia.Geil@gmail.com','$2y$10$2wff3bt5k6Ny3jZjpaxgiOEx9uS1a8BoWWOKE/ZOFeS5Y50LHgvqu','Toni (Kritzinger)',1,'2026-03-18 15:00:35','assets/images/profilePictures/default.png'),(31,'fabiankleinpimmel@gmail.com','$2y$10$V7VqsB40QkDUsJbd47b8N.XbR1DunDXNjRwmpCCBboxRKoCQzAJi6','fabiankleinpimmel (Müllner)',1,'2026-03-18 15:01:16','assets/images/profilePictures/user_31_20260318-151743.png'),(32,'MrJoe@gmail.com','$2y$10$0ly0fUdAS3naRR.QpTJ5zu/B4rNBxAHvoD1OB7pW0lztGkwnG0h1W','Joe',1,'2026-03-18 15:01:30','assets/images/profilePictures/user_32_20260318-151952.jpg'),(33,'Peidlkratzer@gmail.com','$2y$10$cKuubbgrkct5BvamrJmTwOoqA2sHQ59dWgwHxCaMniLjs053uUI6C','Phallus (Fasching)',1,'2026-03-18 15:01:50','assets/images/profilePictures/user_33_20260318-150215.jpg'),(34,'pimmel@pimmel.pimmel','$2y$10$Hs0i7kGj62epKJl/eFh/aeuteZfOt4lHl6ZjdzpJ/1kRN8djh3oaC','BayernLover67Qwertz (Bartl)',1,'2026-03-18 15:02:29','assets/images/profilePictures/user_34_20260318-151850.png'),(35,'gooner123@gooning.com','$2y$10$ss5zPBxv66/Q.om0ckqlD.iro12/fp0RYWpxz0MH5CY9be58ispka','müllersayri (Arthold)',1,'2026-03-18 15:07:47','assets/images/profilePictures/user_35_20260318-151731.png'),(36,'GeileHure.Notgeil@gmail.com','$2y$10$rJA26G94ssH7SDqcdqE2QuEmGfe1jqhKvRFyYhKy9wTY30Uy8cIzG','SexyHure',1,'2026-03-18 15:08:36','assets/images/profilePictures/default.png'),(37,'pocketPussy@gmail.com','$2y$10$tp/YSK5Mq0rm5xd4AAvcS.oyRuZ9Cp8gHKPodCyJnGlCQC/GNphia','PocketPussy (Bartl)',1,'2026-03-18 15:12:58','assets/images/profilePictures/user_37_20260318-151542.jpg'),(38,'reisingerpep@gmail.com','$2y$10$Q.auZ8xzwh8jQfGnmMizHObb/FIGds63P2gSeAYhy6dUeyH0aV3EG','ReisingersgroßerZehFuß',1,'2026-03-18 15:13:40','assets/images/profilePictures/default.png'),(39,'putamadre@gmail.com','$2y$10$tcua6N6qtQ1c.UuE/yOO0uZVSuR8LTaWAWBNnkJcT3KVYBBgsVNeS','187 (Sabatini)',1,'2026-03-18 15:14:18','assets/images/profilePictures/user_39_20260318-151529.png'),(40,'reisingerpepi@gmail.com','$2y$10$exqKzkLsy06ky/i9q6qTWuI2evuhFn3kNJiaN4rr6DmcHrH81eZrG','ReisingersGroßerZeh',1,'2026-03-18 15:15:07','assets/images/profilePictures/user_40_20260318-151800.jpg'),(41,'qwertzujikl@gmail.com','$2y$10$Kuh0to1gB.ZHvsdyo1qinOq5DpdRIg9btxivzubJq3XRb4jwYMEWe','Christopher',1,'2026-03-18 15:18:13','assets/images/profilePictures/user_41_20260318-151840.png'),(42,'Kritzennigga@gmail.com','$2y$10$jODfk9zXa/P4JzCl8lkLiuQYGwJecUKmhxmX4vZhgwlsnVC2fgj1y','Kritznnigga',1,'2026-03-18 15:20:12','assets/images/profilePictures/user_42_20260318-152313.jpg'),(43,'dodo@gmail.com','$2y$10$YyushTM.geonU2nz/d2gsOuKigxx.dDg2eQqDR8BmvNeq3R9z6y4i','theRealDodo',1,'2026-03-18 15:20:13','assets/images/profilePictures/user_43_20260318-152107.png'),(44,'nigggggggaaa@gmail.com','$2y$10$/5YNGc0twpQ3.W0MJpOAt.Eut4nOZ0IT4GAOK31N06C1Q.XU4F8fG','Hurensohn67',1,'2026-03-18 21:03:45','assets/images/profilePictures/user_44_20260318-210416.jpg'); +/*!40000 ALTER TABLE `users` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `wishlist` +-- + +DROP TABLE IF EXISTS `wishlist`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `wishlist` ( + `userID` int NOT NULL, + `productID` int NOT NULL, + `offerID` int NOT NULL, + PRIMARY KEY (`offerID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `wishlist` +-- + +LOCK TABLES `wishlist` WRITE; +/*!40000 ALTER TABLE `wishlist` DISABLE KEYS */; +INSERT INTO `wishlist` VALUES (10,1001,1); +/*!40000 ALTER TABLE `wishlist` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Dumping events for database 'FSST' +-- + +-- +-- Dumping routines for database 'FSST' +-- +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2026-04-01 21:32:38 diff --git a/installation/xampp-windows-x64-8.2.12-0-VS16-installer.exe b/installation/xampp-windows-x64-8.2.12-0-VS16-installer.exe new file mode 100644 index 0000000..902d6ce Binary files /dev/null and b/installation/xampp-windows-x64-8.2.12-0-VS16-installer.exe differ