diff --git a/core/rest_service.sql b/core/rest_service.sql index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..793a621aa5688d816f2d1a4c4878f2afc7f5eb41 100644 --- a/core/rest_service.sql +++ b/core/rest_service.sql @@ -0,0 +1,94 @@ +CREATE SCHEMA IF NOT EXISTS `rest-service` DEFAULT CHARACTER SET utf8 ; +USE rest-service ; + +CREATE TABLE IF NOT EXISTS `rest-service`.`log`( + `id` INT NOT NULL AUTO_INCREMENT, + `ip` VARCHAR(50) NOT NULL, + `endpoint` VARCHAR(255) NOT NULL, + `description` TEXT, + `timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE IF NOT EXISTS `rest-service`.`user` ( + username VARCHAR(255) PRIMARY KEY NOT NULL, + email VARCHAR(255) NOT NULL, + password VARCHAR(255) NOT NULL, + PRIMARY KEY (`username`) +)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE IF NOT EXISTS `rest-service`.`transaction`( + `transaction_id` INT NOT NULL AUTO_INCREMENT, + `buyer_username` VARCHAR(45) NOT NULL, + `seller_username` VARCHAR(45) NOT NULL, + `item_id` INT NOT NULL, + `quantity` INT NOT NULL, + PRIMARY KEY (`transaction_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE IF NOT EXISTS`rest-service`.`items`( + id_item INT NOT NULL AUTO_INCREMENT, + item_name VARCHAR(255) NOT NULL, + item_price DECIMAL(10,2) NOT NULL, + item_stock INT NOT NULL, + item_description VARCHAR(255) NOT NULL, + item_image VARCHAR(255) NOT NULL, + item_rate DECIMAL(2,1) NOT NULL DEFAULT 0.0, + PRIMARY KEY (`id_item`) +)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + + +CREATE TABLE IF NOT EXISTS `rest-service`.`itemRate`( + id_rate INT NOT NULL AUTO_INCREMENT, + item_id VARCHAR(255) NOT NULL, + rate_value DECIMAL(2,1) NOT NULL, + PRIMARY KEY (`id_rate`), + FOREIGN KEY (item_id) REFERENCES items(id_item) +)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE IF NOT EXISTS `rest-service`.`userRate`( + id_rate INT NOT NULL AUTO_INCREMENT, + username VARCHAR(255) NOT NULL, + rate_value DECIMAL(2,1) NOT NULL, + PRIMARY KEY (`id_rate`), + FOREIGN KEY (username) REFERENCES user(username) +)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE IF NOT EXISTS `rest-service`.`itemReview`( + id_review INT NOT NULL AUTO_INCREMENT, + item_id VARCHAR(255) NOT NULL, + review VARCHAR(255) NOT NULL, + PRIMARY KEY (`id_review`), + FOREIGN KEY (item_id) REFERENCES items(id_item) +)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE IF NOT EXISTS `rest-service`.`userReview`( + id_review INT NOT NULL AUTO_INCREMENT, + username VARCHAR(255) NOT NULL, + review VARCHAR(255) NOT NULL, + PRIMARY KEY (`id_review`), + FOREIGN KEY (username) REFERENCES user(username) +)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE IF NOT EXISTS `rest-service`.`chat_history` ( + id_chat INT NOT NULL AUTO_INCREMENT, + sender_username VARCHAR(255) NOT NULL, + receiver_username VARCHAR(255) NOT NULL, + message TEXT NOT NULL, + timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id_chat`), + FOREIGN KEY (sender_username) REFERENCES user(username), + FOREIGN KEY (receiver_username) REFERENCES user(username) +)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE IF NOT EXISTS `rest-service`.`friends` ( + id_friend INT NOT NULL AUTO_INCREMENT, + user1_username VARCHAR(255) NOT NULL, + user2_username VARCHAR(255) NOT NULL, + status ENUM('pending', 'accepted') DEFAULT 'pending',\ + PRIMARY KEY (`id_friend`), + FOREIGN KEY (user1_username) REFERENCES user(username), + FOREIGN KEY (user2_username) REFERENCES user(username) +)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + + diff --git a/nodemon.json b/nodemon.json index 5926d88fbbf1996b5bfa5c6dc4d93073ae94cad3..e6506d8e0be4ace0718e988f04fb6e2a87005040 100644 --- a/nodemon.json +++ b/nodemon.json @@ -1,5 +1,6 @@ { "watch": ["router","services","core","template","types","models"], "ext": ".ts,.js", - "exec": "ts-node ./app.ts" + "exec": "ts-node ./services/transaction.ts" + } \ No newline at end of file diff --git a/package.json b/package.json index 4e166f11d083e7df09ffdd78fcebabc9ac9e1092..9f1c71aa1501c309069f3b148538df97ccff52a2 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "main": "app.ts", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "start": "nodemon -x ts-node --esm ./app.ts" + "start": "nodemon -x ts-node --esm ./services/transaction.ts" }, "author": "kelompok i", "license": "ISC", diff --git a/page/login.css b/page/login.css new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/page/login.html b/page/login.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/public/Screenshot_2023-09-27_222606-removebg-preview.png b/public/Screenshot_2023-09-27_222606-removebg-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..d3c5c400a610f03cb45210fc883a4db8ac8153bf Binary files /dev/null and b/public/Screenshot_2023-09-27_222606-removebg-preview.png differ diff --git a/public/logoregis.png b/public/logoregis.png new file mode 100644 index 0000000000000000000000000000000000000000..bcec499de50039fd4228a6dc4bb4f70c9d272fc8 Binary files /dev/null and b/public/logoregis.png differ diff --git a/public/signin.png b/public/signin.png new file mode 100644 index 0000000000000000000000000000000000000000..b82159195127f4531ba22b091b0d8c09b36eaca8 Binary files /dev/null and b/public/signin.png differ