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