diff --git a/src/history/history.router.ts b/src/history/history.router.ts
new file mode 100644
index 0000000000000000000000000000000000000000..08a6e62cb19512817f23940fc1f8e190421097ea
--- /dev/null
+++ b/src/history/history.router.ts
@@ -0,0 +1,26 @@
+import express from "express";
+import type { Request, Response } from "express";
+// import { body, validationResult } from "express-validator";
+
+import * as HistoryServices from './history.service'
+
+export const HistoryRouter = express.Router()
+
+HistoryRouter.get('/', async (request: Request, response: Response) => {
+    try {
+        const history = await HistoryServices.getHistory();
+        return response.status(200).json(history);
+    } catch (error: any) {
+        return response.status(500).json(error.message);
+    }
+})
+
+HistoryRouter.get('/:id', async (request: Request, response: Response) => {
+    const id: number = parseInt(request.params.id, 10);
+    try {
+        const history = await HistoryServices.getHistoryDetail(id);
+        return response.status(200).json(history);
+    } catch (error: any) {
+        return response.status(500).json(error.message);
+    }
+})
\ No newline at end of file
diff --git a/src/history/history.service.ts b/src/history/history.service.ts
new file mode 100644
index 0000000000000000000000000000000000000000..840fe1c5127ba0e8f2467c3f22119b9e1d6bade9
--- /dev/null
+++ b/src/history/history.service.ts
@@ -0,0 +1,47 @@
+import {db} from "../utils/db.server"
+
+
+type History = {
+    id: number,
+    user_id : number,
+    alamat_tujuan: string,
+    nama_penerima: string,
+    rating: number,
+}
+
+type HistoryDetail = {
+    id: number,
+    history_id : number,
+    product_name: string,
+    quantity: number,
+}
+
+export const getHistory = async (): Promise<History[]> => {
+    const user_id = 2; //ini buat temp aja karena auth belom dibuat
+    return db.history.findMany({
+        where:{
+            user_id : user_id,
+        },
+        select: {
+            id: true,
+            user_id: true,
+            alamat_tujuan: true,
+            nama_penerima: true,
+            rating: true
+        }
+    })
+}
+
+export const getHistoryDetail = async (historyId: number): Promise<HistoryDetail[]> => {
+    return db.historyDetail.findMany({
+        where:{
+            history_id: historyId
+        },
+        select:{
+            id: true,
+            history_id: true,
+            product_name: true,
+            quantity: true
+        }
+    })
+}
\ No newline at end of file
diff --git a/src/index.ts b/src/index.ts
index 217261daff874c082b1a88d6b9a8c0aa94c26ad8..e3da18cb0698b54a1375d9f24b9244fdcb55f18b 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,7 +1,11 @@
 import express, {Express, Request, Response} from "express";
+import { HistoryRouter } from "./history/history.router";
+
 const app = express();
 const port = 5000;
 
+
+app.use('/history', HistoryRouter);
 app.get("/", (req, res) => {
     res.send("test get home");
 })
diff --git a/src/user/user.service.ts b/src/user/user.service.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391