diff --git a/.env b/.env
index 60d18f216c2b0b39f67a6ae4f621c753e0030348..21e2f4c8c238de0dfef1ff0811064a7583501fe6 100644
--- a/.env
+++ b/.env
@@ -2,4 +2,5 @@ POSTGRES_USER=postgres
 POSTGRES_PASSWORD=postgres
 POSTGRES_DB=labpro
 POSTGRES_HOST=db
-SOAP_URL=http://host.docker.internal:8080/premium
\ No newline at end of file
+SOAP_URL=http://host.docker.internal:8080/premium
+REST_URL=http://host.docker.internal:8000/api
\ No newline at end of file
diff --git a/api/course/premium.php b/api/course/premium.php
new file mode 100644
index 0000000000000000000000000000000000000000..72cd0ab35ee387e29982486e686a2b33961bed67
--- /dev/null
+++ b/api/course/premium.php
@@ -0,0 +1,6 @@
+<?php
+    $raw = file_get_contents("http://host.docker.internal:8000/api/course");
+    $data = json_decode($raw, true);
+    $course = $data["data"];
+    var_dump($course);
+?>
\ No newline at end of file
diff --git a/api/subscribe/subscribe.php b/api/subscribe/subscribe.php
index 77e7b79144700d6a84144345c9ba4bcce9ae7500..acbdc141f4a3a203c9a9a8ee82e3045fe255f06f 100644
--- a/api/subscribe/subscribe.php
+++ b/api/subscribe/subscribe.php
@@ -18,6 +18,7 @@
         </soap:Body>
     </soap:Envelope>';
     $headers = array(
+        "X-API-KEY: PHPApp",
         "Content-Type: text/xml;charset=\"utf-8\"",
       );
       $url = $_ENV["SOAP_URL"];
diff --git a/api/subscribe/update.php b/api/subscribe/update.php
new file mode 100644
index 0000000000000000000000000000000000000000..3a8fb43baa45f387335e2d9c79e81d178a890483
--- /dev/null
+++ b/api/subscribe/update.php
@@ -0,0 +1,4 @@
+<?php
+    $data = file_get_contents("php://input");
+    var_dump($data);
+?>
\ No newline at end of file
diff --git a/app/controllers/PremiumController.php b/app/controllers/PremiumController.php
new file mode 100644
index 0000000000000000000000000000000000000000..3179044f18c5809bbe08a5d038b8f46fdd292df8
--- /dev/null
+++ b/app/controllers/PremiumController.php
@@ -0,0 +1,28 @@
+<?php
+    class PremiumController extends Controller{
+        public function index(){
+            header("Location: /premium/lists/page=1");
+            exit;
+        }
+        public function lists($params){
+
+            $components = explode("=",$params);
+            $page_number = $components[1];
+            // Fetch data courses
+            $raw = file_get_contents("http://host.docker.internal:8000/api/course?page=".$page_number);
+            $data = json_decode($raw,true);
+
+            // Fetch total seluruh data
+            $raw_total_data = file_get_contents("http://host.docker.internal:8000/api/course/total");
+            $json_total_data = json_decode($raw_total_data,true);
+
+            // Cleaning data
+            $total_data = $json_total_data["data"];
+            $total_page = ceil($total_data/4);
+            $courses = $data["data"];
+
+            // Meneruskan data ke view
+            return $this->view('premium','index',["page_number"=>$page_number,"courses"=>$courses,"type"=>"lists","max_page"=>$total_page]);
+        }
+    }
+?>
\ No newline at end of file
diff --git a/app/core/App.php b/app/core/App.php
index b795779b65bdd778e778e06d50c70eb12ba28a2d..4b81b3b6a939569f74a3e34acd7b317087e02d3d 100644
--- a/app/core/App.php
+++ b/app/core/App.php
@@ -28,8 +28,13 @@
                 $this->params = array_values($url);
             }else{
                 if($this->methods == "lists"){
-                    header("Location: /course/lists/page=1");
-                    exit;
+                    if($this->controllers === "course"){
+                        header("Location: /course/lists/page=1");
+                        exit;
+                    }else if($this->controllers === "premimum"){
+                        header("Location: /premium/lists/page=1");
+                    }
+                    
                 }else if($this->methods == "enrolled"){
                     header("Location: /course/enrolled/page=1");
                     exit;
diff --git a/app/views/premium/index.php b/app/views/premium/index.php
new file mode 100644
index 0000000000000000000000000000000000000000..a7a84cbf3159d196eb9a3f134d58d40baf5f4008
--- /dev/null
+++ b/app/views/premium/index.php
@@ -0,0 +1,138 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <link href="../../public/css/home/home.css" rel="stylesheet">
+    <script src="../../public/js/home.js" defer></script>
+    <title>Document</title>
+</head>
+<body>
+    <?php
+        if(isset($_SESSION["user_id"])){
+            $user = new User;
+            $enrolled_courses = $user->getAllCoursesEnrolled();
+        }
+        if(isset($_SESSION["success"])){
+            $message = $_SESSION["success"];
+            $type = "success";
+            include(__DIR__."/../components/alertBox.php");
+            unset($_SESSION["success"]);
+        }
+        if(isset($_SESSION["error"])){
+            $message = $_SESSION["error"];
+            $type = "error";
+            include(__DIR__."/../components/alertBox.php");
+            unset($_SESSION["error"]);
+        }
+    ?>
+    <?php include __DIR__ . '/../navbar/navbar.php'?>
+    <section class="home-section">
+
+    <!-- HEADER SLIDESHOW -->
+
+        <div class="header">
+            <div class="slideshow-container">
+    
+                <div class="mySlides fade">
+                    <img src="../../public/asset/banner1.png" style="width:100%">
+                </div>
+    
+                <div class="mySlides fade">
+                    <img src="../../public/asset/banner2.png" style="width:100%">
+                </div>
+                <a class="prev" onclick="plusSlides(-1)">&#10094;</a>
+                <a class="next" onclick="plusSlides(1)">&#10095;</a>
+            </div>
+            <br>
+            <div style="text-align:center">
+                <span class="dot" onclick="currentSlide(1)"></span>
+                <span class="dot" onclick="currentSlide(2)"></span>
+            </div>
+        </div>
+
+    <!-- COURSES CARDS -->
+        
+        <div class="card-container">
+            <div class="cards grid-row">
+
+                <!-- Iterate through database the courses and put into this card -->
+                <?php
+                    $model = new Course();
+                    $courses = $data["courses"];
+                    foreach ($courses as $course ) {
+                        $joined = false;
+                        if(isset($_SESSION["user_id"])){
+                            $rows = $model->search_participant($course["id"]);
+                            if($rows){
+                                $joined = true;
+                            }
+                        }
+                        $image_path = isset($course["image_path"]) ? $course["image_path"]:"../../public/asset/banner1.png";
+                        $formattedDate = date('d-m-y', strtotime($course['release_date']));
+                        echo"
+                        <div class='card' onclick='openModal(\"$joined\",\"$course[id]\",\"$course[title]\",\"$course[description]\",\"$formattedDate\")' style='cursor: pointer;'>
+                            <div class='card-top'>
+                                <img src='$image_path' alt='Blog Name'>
+                            </div>
+                            <div class='card-info'>
+                                <div class='course-name'>
+                                    <h2>$course[title]</h2>
+                                </div>
+                                <span class='lecturer'>$course[description]</span>
+                            </div>
+                            <div class='card-bottom flex-row'>
+                                <p>$formattedDate</p>
+                            </div>
+                        </div>
+                        ";
+                    }
+                ?>
+            </div>
+        </div>
+
+        <div id="overlay">
+            <dialog id="dialog">
+                <div class="modal-container">
+                    <div class="flex">
+                        <p id="upload-date"></p>
+                        <button class="close-btn" onclick="closeDialog()">
+                            <i>
+                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
+                                <path d="M9.172 16.242 12 13.414l2.828 2.828 1.414-1.414L13.414 12l2.828-2.828-1.414-1.414L12 10.586 9.172 7.758 7.758 9.172 10.586 12l-2.828 2.828z"/>
+                                <path d="M12 22c5.514 0 10-4.486 10-10S17.514 2 12 2 2 6.486 2 12s4.486 10 10 10zm0-18c4.411 0 8 3.589 8 8s-3.589 8-8 8-8-3.589-8-8 3.589-8 8-8z"/>
+                            </svg>
+                            </i>
+                        </button>
+                    </div>
+                    <div class="title"><h3 id="course-title"></h3></div>
+                    <div class="description">
+                        <p id="course-desc">
+                        </p>
+                        <p style="display:none" id="course_id"></p>
+                    </div>
+                    <div class="buttons-enroll" id="button">
+                        <button id="course-detail" class="enroll-btn" style="visibiility:hidden;" onclick='visitCourse()'>Go to this course</button>
+                        <!-- <div class="lecturer"><h4>Lecturer: Bapak saya, kakek, nenek, pak dosen</h4></div> -->
+                        <div class="wrapper">
+                            <input placeholder="Enter course password" id="password-input" type="hidden" />
+                            <button class='enroll-btn' id="enroll-btn" onclick='enrolled()'>Enroll this Course</button>
+                        </div>
+                        
+                    </div>
+                </div>
+            </dialog>
+        </div>
+
+        <?php 
+            if(isset($data["courses"]) && count($data["courses"]) !== 0){
+                $parent = "premium";
+                $href = $data["type"];
+                include __DIR__ . '/../components/pagination.php';
+            }else{
+                echo "<div class='no-course'><p>There is no courses available...</p></div>";
+            }
+        ?>
+    </section>
+</body>
+</html>
\ No newline at end of file