diff --git a/README.md b/README.md
index 5614db31c485058c8277b93c72a82d02c6d04a21..18d4abbab8fd9125e78e6146673101acefef98aa 100644
--- a/README.md
+++ b/README.md
@@ -1,20 +1,75 @@
-## Panduan Pengerjaan
-Berikut adalah hal yang harus diperhatikan untuk pengumpulan tugas ini:
-1. Buatlah grup pada Gitlab dengan format "IF3110-2023-01-XX", dengan XX adalah nomor kelompok (untuk K1 dan K2) atau kode kelompok (untuk K3).
-2. Tambahkan anggota tim pada grup anda.
-3. **Fork** pada repository ini dengan organisasi yang telah dibuat.
-4. Ubah hak akses repository hasil Fork anda menjadi **private**.
-5. Hal-hal yang harus diperhatikan.
-    * Silakan commit pada repository anda (hasil fork)
-    * Lakukan beberapa commit dengan pesan yang bermakna, contoh: “add register form”, “fix logout bug”, jangan seperti “final”, “benerin dikit”, “fix bug”.
-    * Disarankan untuk tidak melakukan commit dengan perubahan yang besar karena akan mempengaruhi penilaian (contoh: hanya melakukan satu commit kemudian dikumpulkan).
-    * Commit dari setiap anggota tim akan mempengaruhi penilaian.
-    * Jadi, setiap anggota tim harus melakukan commit yang berpengaruh terhadap proses pembuatan aplikasi.
-    * Sebagai panduan bisa mengikuti [semantic commit](https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716).
-6. Buatlah file README yang berisi:
-    * Deskripsi aplikasi web
-    * Daftar requirement
-    * Cara instalasi
-    * Cara menjalankan server
-    * Screenshot tampilan aplikasi (tidak perlu semua kasus, minimal 1 per halaman), dan 
-    * Penjelasan mengenai pembagian tugas masing-masing anggota (lihat formatnya pada bagian pembagian tugas).
+# LeMeS
+
+> Disusun untuk memenuhi Tugas Milestone 1 - Monolithic PHP & Vanilla Web Application IF3110 Pengembangan Aplikasi Berbasis Web
+
+## Daftar Isi
+
+-   [Deskripsi Aplikasi Web](#deskripsi-aplikasi-web)
+-   [Daftar Requirement](#daftar-requirement)
+-   [Cara Instalasi](#cara-instalasi)
+-   [Cara Menjalankan Server](#cara-menjalankan-server)
+-   [Screenshot Tampilan Aplikasi](#screenshot-tampilan-aplikasi)
+-   [Entity Relationship Diagram](#entity-relationship-diagram)
+-   [Pembagian Tugas](#pembagian-tugas)
+
+## Deskripsi Aplikasi Web
+
+*LeMeS* merupakan sebuah aplikasi web pembelajaran yang mirip dengan Edunex.
+Pengguna dapat mengakses berbagai modul dan materi pembelajaran yang terdapat dalam berbagai kursus yang ditawarkan. *LeMeS* menghadirkan fitur manajemen kursus bagi admin dan pengajar untuk menambah, mengubah, dan menghapus kursus. Admin dapat melihat daftar pengguna yang mengakses web ini dan pengajar dapat melihat daftar kursus yang ditawarkan.
+
+## Daftar Requirement
+
+1. Login
+2. Register
+3. Homepage
+4. Daftar Course
+5. Search, Sort, dan Filter
+6. Edit Course
+7. Detail Course
+8. Tambah Course
+9. Tambah Modul
+10. Edit Modul
+11. Delete Modul
+12. Daftar User
+13. Edit Profil
+14. Tambah Materi
+15. Hapus Materi
+16. Edit User
+
+## Cara Instalasi
+
+1. Lakukan pengunduhan repository ini dengan menggunakan perintah `git clone https://gitlab.informatika.org/if3110-2023-01-26/tugas-besar-1.git` pada terminal komputer Anda.
+2. Pastikan komputer Anda telah menginstalasi dan menjalankan aplikasi Docker.
+
+## Cara Menjalankan Server
+
+1. Anda dapat menjalankan program ini dengan menjalankan perintah `docker-compose up -d` pada terminal directory aplikasi web.
+2. Aplikasi web dapat diakses dengan menggunakan browser pada URL `http://localhost/course/lists/page=1`atau dengan memasukkan `http://localhost/`.
+3. Aplikasi web dapat dihentikan dengan menjalankan perintah perintah `docker-compose down` pada terminal directory aplikasi web.
+4. Buat file .env di root folder
+5. Copy .env.example ke dalam file .env dan pastikan isinya sama dengan app/core/Database.php
+
+## Screenshot Tampilan Aplikasi
+
+### Login
+
+![Login Page](./screenshot/login.png)
+
+### Register
+
+![Register Page](./screenshot/register.png)
+
+### Home
+
+![Home Page](./screenshot/homepage.png)
+
+### Daftar User
+
+![Daftar User](./screenshot/user-list.png)
+
+### Search, Sort, dan Filter
+
+![Search, Sort, dan Filter Page](./screenshot/search.png)
+
+
+## Pembagian Tugas
diff --git a/api/admin/course/delete.php b/api/admin/course/delete.php
index 25f02b4464c280315ae078a817f86195c8be9e8c..35b7dfd3b3f737530f370913fe1e07479907b141 100644
--- a/api/admin/course/delete.php
+++ b/api/admin/course/delete.php
@@ -2,6 +2,8 @@
     require_once("../../../app/models/Admin.php");
     require_once("../../../app/core/App.php");
     require_once("../../../app/core/Database.php");
+    
+    require_once("../../../app/models/Course.php");
     require_once("../../../app/models/User.php");
     require_once("../../../app/core/Table.php");
     require_once("../../../config/config.php");
@@ -11,8 +13,13 @@
     }
     if(isset($_POST["id"])){
         $admin = new Admin;
+        $course = new Course;
+        $deleted_course = $course->single_course($_POST["id"]);
+        
         $rows = $admin->delete_course($_POST["id"]);
         if($rows){
+            $rm_image = 'rm ../../..' . $deleted_course["image_path"];
+            exec($rm_image);
             http_response_code(200);
             $_SESSION["success"] = "Course has been deleted!";
         }else{
diff --git a/api/admin/course/edit.php b/api/admin/course/edit.php
index d832b8b8f3b482d1ea52625acff52bcb5edfcc73..92666456d28fe4d47794508d80ad9514a41cdc6d 100644
--- a/api/admin/course/edit.php
+++ b/api/admin/course/edit.php
@@ -33,6 +33,8 @@
                 $uploaded = false;
             }
             if($uploaded){
+                $rm = "rm ../../..".$_POST["old_image"];
+                exec($rm);
                 $response = move_uploaded_file($_FILES["image"]["tmp_name"],$targeted_file);
             }else{
                 header("Location: /admin/courses");
diff --git a/api/admin/user/delete.php b/api/admin/user/delete.php
index 94377cf5f0829d2a134fffada799d543af488daf..f228888a6b73872e178eba889e8b76b77360c917 100644
--- a/api/admin/user/delete.php
+++ b/api/admin/user/delete.php
@@ -13,8 +13,13 @@
     if(isset($_POST["id"])){
         if(isset($_SESSION["user_id"])){
             $admin = new Admin();
+            $old_user = $admin->getUserById($_POST["id"]);
             $rows = $admin->deleteUserById($_POST["id"]);    
             if($rows){
+                if(isset($old_user["image_path"]) && $old_user["image_path"] !== ""){
+                    $rm = 'rm ../../..'.$old_user["image_path"];
+                    exec($rm);
+                }
                 http_response_code(200);
                 $_SESSION["success"] = "User has been deleted!";
                 echo json_encode(array("status" => "success"));
diff --git a/api/material/delete.php b/api/material/delete.php
index c856ba07670f468d3660cc4bd379086ab5735814..8b86478eb95b5dbccfe92fe80247942ab768c14d 100644
--- a/api/material/delete.php
+++ b/api/material/delete.php
@@ -10,7 +10,12 @@
 
     if(isset($_POST["material_id"])){
             $material = new Material();
-            $rows = $material->delete_material($_POST["material_id"]);    
+            
+            $deleted_material = $material->single_material($_POST["material_id"]);
+            $rm_file = 'rm ../..' . $deleted_material["material_path"];
+            exec($rm_file);
+
+            $rows = $material->delete_material($_POST["material_id"]);
             if($rows){
                 http_response_code(200);
                 $_SESSION["success"] = "Material has been deleted!";
diff --git a/api/material/edit.php b/api/material/edit.php
index 76cc8a6d0298bbd98abf1e6e1dc9f00f0c7ef94a..2172dd4139e820b90fb39de741a1dc8e02fd3ce4 100644
--- a/api/material/edit.php
+++ b/api/material/edit.php
@@ -32,6 +32,11 @@
             $response = move_uploaded_file($_FILES["material_path"]["tmp_name"],$targeted_file);
             $saved_file = $material_file;
         }
+
+        $deleted_material = $material->single_material($_POST["material_id"]);
+        $rm_file = 'rm ../..' . $deleted_material["material_path"];
+        exec($rm_file);
+        
         $rows = $material->update_material($material_id,$title,$description,$material_type,$saved_file);
         if($rows){
             http_response_code(200);
diff --git a/api/profile/edit.php b/api/profile/edit.php
index 238a13930cfd47b9e8bcce3a2d8a676447e4d7ef..1e2541a7ccb2599ced93674f6eb0794c67cdac9c 100644
--- a/api/profile/edit.php
+++ b/api/profile/edit.php
@@ -35,6 +35,11 @@
         $fullname = $_POST["fullname"];
         $username = $_POST["username"];
         $user_id = $_POST["user_id"];
+
+        $deleted_user = $user->getUserById($_POST["user_id"]);
+        $rm_file = 'rm ../..' . $deleted_user["image_path"];
+        exec($rm_file);
+
         $rows = $user->update_profile($fullname,$username,$image_file,$user_id);
         if($rows){
             http_response_code(200);
diff --git a/app/controllers/CourseController.php b/app/controllers/CourseController.php
index 05bf12aca3243c3cb17e42c8111e68ed5b4547e8..f511a83dc1e899506147bcbc8924b48726d526cb 100644
--- a/app/controllers/CourseController.php
+++ b/app/controllers/CourseController.php
@@ -18,15 +18,23 @@
             $course = new Course();
             $middleware = $this->middleware("LoginMiddleware");
             $middleware->hasLoggedIn();
+            $user_model = new User();
             $result = $course->single_course($params);
             if(!$result){   
                 header("Location: /notfound");
+            }else{
+                $enrolled = $user_model->check_enroll($result["course_id"]);
+                if(!$enrolled){
+                    $_SESSION["error"] = "You have to enrolled this course first!";
+                    header("Location: /");
+                }else{
+                    $modules = $course->get_modules($params);
+                    return $this->view('courses','detailCourse',["course" => $result,"modules"=>$modules]);
+                }
             }
-            $modules = $course->get_modules($params);
-            return $this->view('courses','detailCourse',["course" => $result,"modules"=>$modules]);
         }
 
-        public function enrolled($params){
+        public function enrolled($params = ""){
             // Bisa liat course yang udah dienrolled cuma kalau udah login
             $middleware = $this->middleware("LoginMiddleware");
             $middleware->hasLoggedIn();
@@ -51,7 +59,10 @@
             return $this->view("courses","add",[]);
         }
 
-        public function editCourse($params){
+        public function editCourse($params = ""){
+            if(!$params){
+                header("Location: /notfound");
+            }
             // Cuma admin yang bisa akses edit course
             $middleware = $this->middleware('AdminMiddleware');
             $middleware->isAdmin();
@@ -60,8 +71,11 @@
             return $this->view("courses","edit",["course" => $result]);
         }
 
-        public function module($params){
-            // Hanya orang yang sudah login yang bisa liat module
+        public function module($params = ""){
+            if(!$params){
+                header("Location: /notfound");
+            }
+            // // Hanya orang yang sudah login yang bisa liat module
             $course = new Course();
             $module = new Module();
             $middleware = $this->middleware("LoginMiddleware");
@@ -79,6 +93,9 @@
 
         public function addmodule($params=""){
             // Hanya teacher yang bisa add module
+            if(!$params){
+                return ("Location: /notfound");
+            }
             $teacher_middleware = $this->middleware("TeacherMiddleware");
             $teacher_middleware->isTeacher();
             $course = new Course();
diff --git a/app/core/Database.php b/app/core/Database.php
index ca56d09fa64220310d738e63376377ab285f34ae..335b13fee38212b9d6732830b392add9bc0cb1c2 100644
--- a/app/core/Database.php
+++ b/app/core/Database.php
@@ -10,15 +10,9 @@
         private $stmt;
         public function __construct(){
             $dsn = "pgsql:host=" . $this->host . ";dbname=" . $this->db . ";user=" . $this->username . ";password=" . $this->password;  
-            $option = [
-                PDO::ATTR_PERSISTENT => true,
-                PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
-            ];
             try {
-                //code...
                 $this->connection = new PDO($dsn);        
             } catch (PDOException $e) {
-                //throw $th;
                 echo $e->getMessage();
             }
             
diff --git a/app/models/Material.php b/app/models/Material.php
index b78deb613cc3b5ef9e60462037ff2ba191a835d1..ecc7a09c9a4b355bcf2f9b54e4309a5f84a69fb9 100644
--- a/app/models/Material.php
+++ b/app/models/Material.php
@@ -34,5 +34,14 @@ class Material extends Model{
         $this->database->execute();
         return $this->database->rowCount();
     }
+
+    public function single_material($id){
+        $query = "SELECT * FROM materials WHERE material_id = :material_id";
+        $this->database->query($query);
+        $this->database->bind("material_id",$id);
+        $result = $this->database->single_fetch();
+        return $result;            
+    }
+
 }
 ?>
\ No newline at end of file
diff --git a/app/views/admin/addCourse.php b/app/views/admin/addCourse.php
index a46b2c648182426873d48e3353a81649885133ea..45087a04768dccb8cafd7c0bf19fe8466a7aa076 100644
--- a/app/views/admin/addCourse.php
+++ b/app/views/admin/addCourse.php
@@ -75,7 +75,7 @@
                 </label>
             </div>
             <div class="button-container">
-                <button id = "back-button" class="back-btn">Back</button>
+                <button id = "back-button" class="back-btn" ><a href="/admin/courses" style="text-decoration:none">Back</a></button>
                 <button type="submit" class="add-btn" id="action-button">Add</button>
             </div>
             </form>
diff --git a/app/views/admin/courses.php b/app/views/admin/courses.php
index 45a2166d777bca7c195f6bc2c8411c5c1a9be4e0..772865d18fbe13d1626dc427735666a3c2e747dd 100644
--- a/app/views/admin/courses.php
+++ b/app/views/admin/courses.php
@@ -32,7 +32,7 @@
 				<div class="report-header">
 					<h1 class="recent-Articles">Courses List</h1>
                     <div class="header-button">
-                        <button class="add-user"><a href="/admin/addcourse">Add Course</a></button>
+                        <button class="add-user"><a href="/admin/addcourse" style="text-decoration:none">Add Course</a></button>
                     </div>
 				</div>
                 
diff --git a/app/views/admin/editCourse.php b/app/views/admin/editCourse.php
index af33a7f0a383b2c5329240ddc337f6ee78e84282..46da036c784ed9df8f21ba55e6d178709656a3d4 100644
--- a/app/views/admin/editCourse.php
+++ b/app/views/admin/editCourse.php
@@ -68,7 +68,7 @@
                     id="password-input" 
                     class="login-input"
                     required
-                    value = <?php echo ($data["course"]["course_password"] && $data["course"]["course_password"]) ?>
+                    value = <?php echo $data["course"]["course_password"]?>
                 ></input>
             </div>
             <div class="login-box">
@@ -84,7 +84,7 @@
                 </label>
             </div>
             <div class="button-container">
-                <button id = "back-button" class="back-btn">Back</button>
+                <button id = "back-button" class="back-btn"><a href="/admin/courses" style="text-decoration:none;color:black">Back</a></button>
                 <button type="submit" class="update-btn" id="action-button">Update</button>
             </div>
         </form>
diff --git a/app/views/admin/editUser.php b/app/views/admin/editUser.php
index 7d7393569989f4372d82939a87e9e4ffd1cb3776..a3d9ade4f907e660bdc6bbf870f040b6fef8ff28 100644
--- a/app/views/admin/editUser.php
+++ b/app/views/admin/editUser.php
@@ -65,7 +65,7 @@
             </div>
             <p id="username-alert"></p>
             <div class="button-container">
-                <button id = "back-button" class="back-btn">Back</button>
+                <button id = "back-button" class="back-btn"><a href="/admin/users" style="text-decoration:none;color:black">Back</a></button>
                 <button type="submit" class="update-btn" id="update-button">Update</button>
             </div>
         </form>
diff --git a/app/views/admin/login.php b/app/views/admin/login.php
deleted file mode 100644
index 56da386a861ab29d0db166a07e777a84e5bd4c45..0000000000000000000000000000000000000000
--- a/app/views/admin/login.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-    <head>
-        <meta charset="UTF-8">
-        <meta name="viewport" content="width=device-width, initial-scale=1.0">
-        <title>Log In or Sign Up</title>
-        <link href="../../public/css/login/login.css" rel="stylesheet">
-        <script src="../../public/js/login.js" defer>
-        </script>
-    </head>
-    <body>
-        <?php 
-            // Menampilkan alert
-            if(isset($_SESSION["success"])){
-                $message = $_SESSION["success"];
-                $type = "success";
-                include(__DIR__."/../components/alertBox.php");
-                unset($_SESSION["success"]);
-            }
-        ?>
-        <?php
-            if(isset($_SESSION["error"])){
-                $message = $_SESSION["error"];
-                $type = "error";
-                include(__DIR__."/../components/alertBox.php");
-                unset($_SESSION["error"]);
-            }
-        ?>
-        <div class="login">
-            <div class="login-content">
-                <div class="login-img">
-                    <img src="../../public/asset/img-login.svg" alt="login">
-                </div>
-
-                <div class="login-forms">
-                    <form action="/api/auth/login.php" method="post" class="login-register" id="login-in">
-                        <h1 class="login-title">Sign In</h1>
-
-                        <div class="login-box">
-                            <i class='bx bx-user login-icon'></i>
-                            <input type="text" 
-                                placeholder="Username" 
-                                name="username" 
-                                id="username-input"
-                                onkeyup="check_username()"
-                                class="login-input"
-                                required    
-                            >
-                        </div>
-                        <p id="username-alert"></p>
-                        <div class="login-box">
-                            <i class='bx bx-lock-alt login-icon'></i>
-                            <input 
-                                type="password" 
-                                placeholder="Password" 
-                                name="password"
-                                class="login-input"
-                                required
-                            >
-                        </div>
-
-                        <!-- <a href="#" class="login-forgot">Forgot password ?</a> -->
-
-                        <button type="submit" class="login-button" id="login-button" disabled>Sign In</button>
-
-                        <div>
-                            <span class="login-account">Don't have an Account ?</span>
-                            <span class="login-signin" id="sign-up"><a href="register">Sign Up</a></span>
-                        </div>
-                    </form>
-                </div>
-            </div>
-        </div>
-        
-    </body>
-</html>
diff --git a/app/views/admin/users.php b/app/views/admin/users.php
index 884826d4312af9fff96ef2052b12ac110e69ab7a..e9e22443b42d68bfd2a53d40a216f74acf1159cf 100644
--- a/app/views/admin/users.php
+++ b/app/views/admin/users.php
@@ -32,7 +32,7 @@
 				<div class="report-header">
 					<h1 class="recent-Articles">Users List</h1>
                     <div class="header-button">
-                        <button class="add-user"><a href="/admin/register">Add User</a></button>
+                        <button class="add-user"><a href="/admin/register" style="text-decoration:none">Add User</a></button>
                     </div>
 				</div>
                 
diff --git a/app/views/courses/detailCourse.php b/app/views/courses/detailCourse.php
index 2825427853ec46c38cdfb85263e2c17ba977dcb1..490d33e25142b2b56a2e4c80e9b38d87230caa34 100644
--- a/app/views/courses/detailCourse.php
+++ b/app/views/courses/detailCourse.php
@@ -26,6 +26,8 @@
     if($user["user_role"] === 'TEACHER'){
         $display = true;
     }
+    $course = $data["course"];
+
     ?>
 
     <?php include __DIR__ . '/../navbar/navbar.php' ?>
@@ -35,37 +37,27 @@
         <div class='popup-overlay'></div>
         <div class='popup-box'>
             <?php
-            if(isset($_SESSION["user_id"])){
-                $user_modal = new User();
-                $user_id = $_SESSION["user_id"];
-                $user = $user_modal->getUserById($_SESSION["user_id"]);
-                if($display){
-                    // Add Module Form
-                    $course = $data["course"];
-                    echo "
-                        <form class='addForm' action='javascript:'>
-                            <div class='addForm-header'>
-                                Add Module
-                            </div>
-                            <div class='addForm-element'>
-                                <label for='moduleName'>Module Name (Max 100 char)</label>
-                                <textarea class='name-area' id='moduleName' maxlength='100' onkeyup='check_area(\"confirm-save\", \"moduleName\", \"moduleDescription\")'></textarea>
-                            </div>
-                            <div class='addForm-element'>
-                                <label for='moduleDescription'>Description (Max 256 char)</label>
-                                <textarea class='desc-area' id='moduleDescription' maxlength='256' onkeyup='check_area(\"confirm-save\", \"moduleName\", \"moduleDescription\")'></textarea>
-                            </div>
-                            <div class='addForm-element'>
-                                <div class='popup-buttons'>
-                                    <button type='button' class='cancel-save' id='cancel-save'>Cancel</button>
-                                    <button type='submit' class='confirm-save' id='confirm-save' disabled onclick='handleAddModule($course[course_id])'>Add</button>
-                                </div>
+                echo "
+                    <form class='addForm' action='javascript:'>
+                        <div class='addForm-header'>
+                            Add Module
+                        </div>
+                        <div class='addForm-element'>
+                            <label for='moduleName'>Module Name (Max 100 char)</label>
+                            <textarea class='name-area' id='moduleName' maxlength='100' onkeyup='check_area(\"confirm-save\", \"moduleName\", \"moduleDescription\")'></textarea>
+                        </div>
+                        <div class='addForm-element'>
+                            <label for='moduleDescription'>Description (Max 256 char)</label>
+                            <textarea class='desc-area' id='moduleDescription' maxlength='256' onkeyup='check_area(\"confirm-save\", \"moduleName\", \"moduleDescription\")'></textarea>
+                        </div>
+                        <div class='addForm-element'>
+                            <div class='popup-buttons'>
+                                <button type='button' class='cancel-save' id='cancel-save'>Cancel</button>
+                                <button type='submit' class='confirm-save' id='confirm-save' disabled onclick='handleAddModule($course[course_id])'>Add</button>
                             </div>
-                        </form>
-                        ";
-                    }
-            }
-            
+                        </div>
+                    </form>
+                    ";
             ?>
         </div>
     </section>
@@ -119,9 +111,9 @@
                                                 </div>
                                                 <?php
                                                 if($display){
-                                                echo "
+                                                    echo "
                                                     <div class='actions'>
-                                                        <i onclick='openFormEditModule(\"$course[course_id]\", \"$module[module_id]\", \"$module[title]\", \"$module[description]\")'>
+                                                        <i onclick='openFormEditModule(\"$module[module_id]\", \"$module[title]\", \"$module[description]\")'>
                                                             <svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' style='fill: rgba(0, 0, 0, 1);'>
                                                                 <path fill='#564C95' d='m18.988 2.012 3 3L19.701 7.3l-3-3zM8 16h3l7.287-7.287-3-3L8 13z'></path>
                                                                 <path fill='#564C95' d='M19 19H8.158c-.026 0-.053.01-.079.01-.033 0-.066-.009-.1-.01H5V5h6.847l2-2H5c-1.103 0-2 .896-2 2v14c0 1.104.897 2 2 2h14a2 2 0 0 0 2-2v-8.668l-2 2V19z'></path>
diff --git a/app/views/courses/detailModule.php b/app/views/courses/detailModule.php
index c6e43c8b9b4a0fc9d2149ef1500131273d55810b..733db74f05d04e4d1f560ea5f6c145ccf464378a 100644
--- a/app/views/courses/detailModule.php
+++ b/app/views/courses/detailModule.php
@@ -257,7 +257,7 @@
                                                         <path fill='#564C95' d='M19 19H8.158c-.026 0-.053.01-.079.01-.033 0-.066-.009-.1-.01H5V5h6.847l2-2H5c-1.103 0-2 .896-2 2v14c0 1.104.897 2 2 2h14a2 2 0 0 0 2-2v-8.668l-2 2V19z'></path>
                                                     </svg>
                                                 </i>
-                                                <i onclick='openFormDeleteMaterial(\"$module[module_id]\", \"$material[material_id]\", \"$material[title]\")'>
+                                                <i onclick='openFormDeleteMaterial(\"$module[module_id]\", \"$material[material_id]\", \"$material[title]\", \"$material[material_path]\")'>
                                                     <svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' style='fill: #564C95 ;'>
                                                         <path d='M6 7H5v13a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7H6zm10.618-3L15 2H9L7.382 4H3v2h18V4z'></path>
                                                     </svg>
diff --git a/app/views/navbar/navbar.php b/app/views/navbar/navbar.php
index 73763ac7cc4ce4b9f4844f08705e9aa93ba8b63d..6f215fe532a640963f346937404b737a65cc8bd5 100644
--- a/app/views/navbar/navbar.php
+++ b/app/views/navbar/navbar.php
@@ -98,7 +98,7 @@
             <li>
                 <a href="/search">
                 <i>
-                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" style="fill: rgba(0, 0, 0, 1);transform: ;msFilter:;">
+                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" style="fill: rgba(0, 0, 0, 1);">
                     <path fill="white" d="M19.023 16.977a35.13 35.13 0 0 1-1.367-1.384c-.372-.378-.596-.653-.596-.653l-2.8-1.337A6.962 6.962 0 0 0 16 9c0-3.859-3.14-7-7-7S2 5.141 2 9s3.14 7 7 7c1.763 0 3.37-.66 4.603-1.739l1.337 2.8s.275.224.653.596c.387.363.896.854 1.384 1.367l1.358 1.392.604.646 2.121-2.121-.646-.604c-.379-.372-.885-.866-1.391-1.36zM9 14c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5-2.243 5-5 5z"></path>
                 </svg>
                 </i>
@@ -107,7 +107,9 @@
                 <span class="tooltip">Search</span>
             </li>
             <!-- LOGOUT BUTTON -->
-                <?php
+                 
+            <?php }?>
+            <?php
                     if(session_status() === PHP_SESSION_NONE){
                         session_start();
                     }
@@ -125,9 +127,7 @@
                             </button>
                             <span class='tooltip'>Log Out</span>
                         </li>
-                    <?php } 
-            }?>
-            
+                    <?php } ?>
             <div class="footer">
                 <p class="text-xs">
                     <span>Copyright ©</span>
diff --git a/public/file/.gitkeep b/public/file/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/public/file/CourseDetail-GoogleChrome2023-10-0908-58-44.mp4 b/public/file/CourseDetail-GoogleChrome2023-10-0908-58-44.mp4
deleted file mode 100644
index c90e04534e5dd9bae33cf034f27015b238f6dbcc..0000000000000000000000000000000000000000
Binary files a/public/file/CourseDetail-GoogleChrome2023-10-0908-58-44.mp4 and /dev/null differ
diff --git a/public/file/Quiz-3-K2.pdf b/public/file/Quiz-3-K2.pdf
deleted file mode 100644
index 39cf9debff22c0297be851caf6bf41df3fbc3fe1..0000000000000000000000000000000000000000
Binary files a/public/file/Quiz-3-K2.pdf and /dev/null differ
diff --git a/public/file/UTSESSAY2020.pdf b/public/file/UTSESSAY2020.pdf
deleted file mode 100644
index 175f55f44e56f464c798ca566048094c64b1c9c3..0000000000000000000000000000000000000000
Binary files a/public/file/UTSESSAY2020.pdf and /dev/null differ
diff --git a/public/image/course/.gitkeep b/public/image/course/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/public/image/course/144541.jpg b/public/image/course/144541.jpg
deleted file mode 100644
index 822c593771aaa355286b2616b03d26002ef24b11..0000000000000000000000000000000000000000
Binary files a/public/image/course/144541.jpg and /dev/null differ
diff --git a/public/image/course/Blankdiagram-Page2(1).jpeg b/public/image/course/Blankdiagram-Page2(1).jpeg
deleted file mode 100644
index eecf3c2eb3c8f1d23b6880d6f3442a5042f14a81..0000000000000000000000000000000000000000
Binary files a/public/image/course/Blankdiagram-Page2(1).jpeg and /dev/null differ
diff --git a/public/image/course/Blankdiagram-Page2(3).jpeg b/public/image/course/Blankdiagram-Page2(3).jpeg
deleted file mode 100644
index 506b7d7353168525c48a33a507a80d83ddb7ba50..0000000000000000000000000000000000000000
Binary files a/public/image/course/Blankdiagram-Page2(3).jpeg and /dev/null differ
diff --git a/public/image/course/Blankdiagram-Page2.png b/public/image/course/Blankdiagram-Page2.png
deleted file mode 100644
index 227ec31ce389fd86127ab29c20617d8bef59cf21..0000000000000000000000000000000000000000
Binary files a/public/image/course/Blankdiagram-Page2.png and /dev/null differ
diff --git a/public/image/course/Rectangle15.png b/public/image/course/Rectangle15.png
deleted file mode 100644
index 5fe92e90d4bff54fe3ca289996a739c531ec5871..0000000000000000000000000000000000000000
Binary files a/public/image/course/Rectangle15.png and /dev/null differ
diff --git a/public/image/course/sejutacita.jpeg b/public/image/course/sejutacita.jpeg
deleted file mode 100644
index 571634ba364e972955ff61a37809d06046462580..0000000000000000000000000000000000000000
Binary files a/public/image/course/sejutacita.jpeg and /dev/null differ
diff --git a/public/image/course/unnamed.jpg b/public/image/course/unnamed.jpg
deleted file mode 100644
index b1dc36cebf33c13f7827a27c62b5df0bcd90c19c..0000000000000000000000000000000000000000
Binary files a/public/image/course/unnamed.jpg and /dev/null differ
diff --git a/public/image/profile/.gitkeep b/public/image/profile/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/public/image/profile/Blankdiagram-Page2(2).jpeg b/public/image/profile/Blankdiagram-Page2(2).jpeg
deleted file mode 100644
index 364418503226ff6e37fa3937c1a66cddecf6c52f..0000000000000000000000000000000000000000
Binary files a/public/image/profile/Blankdiagram-Page2(2).jpeg and /dev/null differ
diff --git a/public/image/profile/FivePortersForces.png b/public/image/profile/FivePortersForces.png
deleted file mode 100644
index f6707c675516daeb9ed7a754c97e40bc2ea10f97..0000000000000000000000000000000000000000
Binary files a/public/image/profile/FivePortersForces.png and /dev/null differ
diff --git a/public/image/profile/pexels-christian-heitz-842711.jpg b/public/image/profile/pexels-christian-heitz-842711.jpg
deleted file mode 100644
index 637af31ca6b0090d72f6fe0912dbfd4918b334f0..0000000000000000000000000000000000000000
Binary files a/public/image/profile/pexels-christian-heitz-842711.jpg and /dev/null differ
diff --git a/public/image/profile/pexels-simon-berger-1183099.jpg b/public/image/profile/pexels-simon-berger-1183099.jpg
deleted file mode 100644
index 47952867078f4e44e7e09558f35515f7a4e54ae6..0000000000000000000000000000000000000000
Binary files a/public/image/profile/pexels-simon-berger-1183099.jpg and /dev/null differ
diff --git a/public/js/admin.js b/public/js/admin.js
index 9f2fc3c7770e0e36c92e52c56eb20a1ceba184ac..78da71b983b36957f3d350d8d9a7f3b6f3adfa44 100644
--- a/public/js/admin.js
+++ b/public/js/admin.js
@@ -23,6 +23,7 @@ const handleDelete = (type) => {
       } else {
         window.location.href = "/admin/courses";
       }
+      
     } else {
       console.log("gagal");
     }
@@ -35,7 +36,6 @@ let cancelButton = document.getElementById("cancel-btn");
 let confirmButton = document.getElementById("confirm-btn");
 let popup = document.getElementById("popup-container");
 let form = document.getElementById("form");
-let backButton = document.getElementById("back-button");
 let oldUsername = document.getElementById("old-username");
 let oldFullname = document.getElementById("old-fullname");
 updateButton &&
@@ -126,10 +126,7 @@ const check_username = () => {
   }
   check_button();
 };
-backButton.addEventListener("click", (e) => {
-  e.preventDefault();
-  window.location.href = "/admin/users";
-});
+
 
 const handleUpload = () => {
   var image = document.getElementById("course-image");
diff --git a/public/js/course.js b/public/js/course.js
index 238fb90084033f51c18d5ceb23ff1766ba47c13f..c8872137b47aad0422d7083ab16b2a8a7144988c 100644
--- a/public/js/course.js
+++ b/public/js/course.js
@@ -26,7 +26,6 @@ const handleSubmit = () => {
   const xhr = new XMLHttpRequest();
   xhr.open("POST", "/api/course/add.php", true);
   xhr.onload = function () {
-    console.log(this)
     let response = JSON.parse(this.responseText);
     if (this.status == 200) {
       if(response.status == "success"){
@@ -59,7 +58,6 @@ const handleUpdate = () => {
     if(this.status === 200){
       window.location.href = "/course";
     }else{
-      console.log(this);
       alert("Something went wrong!");
     }
   }
diff --git a/public/js/detailsCourse.js b/public/js/detailsCourse.js
index eba561da6bee5874fface96748785acf8b464204..7792aa018291c2708f931d5068d567fa066b3ac0 100644
--- a/public/js/detailsCourse.js
+++ b/public/js/detailsCourse.js
@@ -53,6 +53,7 @@ function openFormAddModule() {
 };
 
 const openFormEditModule = (course_id, module_id, title, description) => {
+  console.log("Edit module")
   var test = document.querySelector('.addForm-header');
   test.textContent = 'Edit Module';
   document.querySelector('#confirm-save').textContent = 'Edit';
@@ -78,7 +79,6 @@ const handleAddModule = (id) => {
     if (this.status === 200) {
       window.location.href = "/course/preview/" + id;
     } else {
-      console.log(this);
       alert("Something went wrong!");
     }
   }
@@ -98,7 +98,6 @@ const handleEditModule = (course_id, module_id) => {
     if (this.status === 200) {
       window.location.href = "/course/preview/" + course_id;
     } else {
-      console.log(this);
       alert("Something went wrong!");
     }
   }
@@ -114,7 +113,6 @@ const handleDeleteModule = (course_id, module_id) => {
     if (this.status === 200) {
       window.location.href = "/course/preview/" + course_id;
     } else {
-      console.log(this);
       alert("Something went wrong!");
     }
   }
diff --git a/public/js/detailsModule.js b/public/js/detailsModule.js
index dc4641a8848a22b7cf1e5bd7e66a2884280b1559..a0562f7cc376e35a8618f21a0761e67a8da33847 100644
--- a/public/js/detailsModule.js
+++ b/public/js/detailsModule.js
@@ -1,62 +1,62 @@
-function reset(){
-  var nameArea = document.getElementById('moduleName');
-  var descArea = document.getElementById('moduleDescription');
-  nameArea.value = '';
-  descArea.value = '';
+function reset() {
+  var nameArea = document.getElementById("moduleName");
+  var descArea = document.getElementById("moduleDescription");
+  nameArea.value = "";
+  descArea.value = "";
   var submit_button = document.getElementById("confirm-save");
   submit_button.disabled = true;
-  var test = document.querySelector('.addForm-header');
-  test.textContent = 'Add Module';
-  document.querySelector('#confirm-save').textContent = 'Add';
-};
+  var test = document.querySelector(".addForm-header");
+  test.textContent = "Add Module";
+  document.querySelector("#confirm-save").textContent = "Add";
+}
 
 function openForm(section, cancel, popup) {
   var popupOverlay = document.querySelector(popup);
   var popupSection = document.querySelector(section);
   var closePopup = document.querySelector(cancel);
   popupSection.classList.add("active");
-  popupOverlay.style.display = 'block';
-  popupSection.style.display = 'block';
+  popupOverlay.style.display = "block";
+  popupSection.style.display = "block";
 
   // Add a click event listener to the overlay
   popupOverlay.addEventListener("click", function () {
     popupSection.classList.remove("active");
-    popupOverlay.style.display = 'none';
-    popupSection.style.display = 'none';
+    popupOverlay.style.display = "none";
+    popupSection.style.display = "none";
     reset();
   });
 
   // Add a click event listener to the close button
   closePopup.addEventListener("click", function () {
     popupSection.classList.remove("active");
-    popupOverlay.style.display = 'none';
-    popupSection.style.display = 'none';
+    popupOverlay.style.display = "none";
+    popupSection.style.display = "none";
     reset();
   });
-};
+}
 
 function openFormDeleteModule(course_id, module_id, title) {
   openForm(".popup-section2", ".cancel-save2", ".popup-overlay2");
   var message = document.querySelector(".delete-warning");
   message.innerText = "Delete module " + title + "?";
-  var button = document.querySelector('.confirm-save2');
-  button.onclick = function() {
+  var button = document.querySelector(".confirm-save2");
+  button.onclick = function () {
     handleDeleteModule(course_id, module_id);
   };
-};
+}
 
 function openFormAddModule() {
   openForm(".popup-section", ".cancel-save", ".popup-overlay");
-};
+}
 
 const openFormEditModule = (module_id, title, description) => {
-  var test = document.querySelector('.addForm-header');
-  test.textContent = 'Edit Module';
-  document.querySelector('#confirm-save').textContent = 'Edit';
-  document.querySelector('#moduleName').value = title;
-  document.querySelector('#moduleDescription').value = description;
-  var button = document.getElementById('confirm-save');
-  button.onclick = function() {
+  var test = document.querySelector(".addForm-header");
+  test.textContent = "Edit Module";
+  document.querySelector("#confirm-save").textContent = "Edit";
+  document.querySelector("#moduleName").value = title;
+  document.querySelector("#moduleDescription").value = description;
+  var button = document.getElementById("confirm-save");
+  button.onclick = function () {
     handleEditModule(module_id);
   };
   openForm(".popup-section", ".cancel-save", ".popup-overlay");
@@ -64,37 +64,37 @@ const openFormEditModule = (module_id, title, description) => {
 
 function openFormAddMaterial(module_id) {
   openForm(".popup-section3", ".cancel-save3", ".popup-overlay3");
-  button.onclick = function() {
+  button.onclick = function () {
     handleAddMaterial(module_id);
   };
-};
+}
 
-function openFormDeleteMaterial(module_id, material_id, title) {
+function openFormDeleteMaterial(module_id, material_id, title, material_path) {
   openForm(".popup-section2", ".cancel-save2", ".popup-overlay2");
   var message = document.querySelector(".delete-warning");
   message.innerText = "Delete material " + title + "?";
-  var button = document.querySelector('.confirm-save2');
-  button.onclick = function() {
-    handleDeleteMaterial(module_id, material_id);
+  var button = document.querySelector(".confirm-save2");
+  button.onclick = function () {
+    handleDeleteMaterial(module_id, material_id, material_path);
   };
-};
+}
 
 const openFormEditMaterial = (module_id, material_id, title, description) => {
-  var test = document.querySelector('.addForm-header3');
-  test.textContent = 'Edit Material';
-  document.querySelector('#confirm-save3').textContent = 'Edit';
-  document.querySelector('#materialName').value = title;
-  document.querySelector('#materialDescription').value = description;
-  var button = document.getElementById('confirm-save3');
-  button.onclick = function() {
+  var test = document.querySelector(".addForm-header3");
+  test.textContent = "Edit Material";
+  document.querySelector("#confirm-save3").textContent = "Edit";
+  document.querySelector("#materialName").value = title;
+  document.querySelector("#materialDescription").value = description;
+  var button = document.getElementById("confirm-save3");
+  button.onclick = function () {
     handleEditMaterial(module_id, material_id);
   };
   openForm(".popup-section3", ".cancel-save3", ".popup-overlay3");
 };
 
 const handleEditMaterial = (module_id, material_id) => {
-  let title = document.getElementById('materialName').value;
-  let description = document.getElementById('materialDescription').value;
+  let title = document.getElementById("materialName").value;
+  let description = document.getElementById("materialDescription").value;
   let material = document.getElementById("materialFile");
   const data = new FormData();
   data.append("material_id", parseInt(material_id));
@@ -107,10 +107,9 @@ const handleEditMaterial = (module_id, material_id) => {
     if (this.status === 200) {
       window.location.href = "/course/module/" + module_id;
     } else {
-      console.log(this);
       alert("Something went wrong!");
     }
-  }
+  };
   xhr.send(data);
 };
 
@@ -122,7 +121,7 @@ const handleAddModule = (course_id, module_id) => {
   data.append("title", title);
   data.append("description", description);
   const xhr = new XMLHttpRequest();
-  xhr.open("POST", "/api/module/add.php", true)
+  xhr.open("POST", "/api/module/add.php", true);
   xhr.onload = function () {
     if (this.status === 200) {
       window.location.href = "/course/module/" + module_id;
@@ -130,13 +129,13 @@ const handleAddModule = (course_id, module_id) => {
       console.log(this);
       alert("Something went wrong!");
     }
-  }
+  };
   xhr.send(data);
 };
 
 const handleEditModule = (module_id) => {
-  var title = document.getElementById('moduleName').value;
-  var description = document.getElementById('moduleDescription').value;
+  var title = document.getElementById("moduleName").value;
+  var description = document.getElementById("moduleDescription").value;
   const data = new FormData();
   data.append("module_id", parseInt(module_id));
   data.append("title", title);
@@ -147,10 +146,9 @@ const handleEditModule = (module_id) => {
     if (this.status === 200) {
       window.location.href = "/course/module/" + module_id;
     } else {
-      console.log(this);
       alert("Something went wrong!");
     }
-  }
+  };
   xhr.send(data);
 };
 
@@ -166,13 +164,13 @@ const handleDeleteModule = (course_id, module_id) => {
       console.log(this);
       alert("Something went wrong!");
     }
-  }
+  };
   xhr.send(data);
 };
 
 const handleAddMaterial = (module_id) => {
-  let title = document.getElementById('materialName').value;
-  let description = document.getElementById('materialDescription').value;
+  let title = document.getElementById("materialName").value;
+  let description = document.getElementById("materialDescription").value;
   let material = document.getElementById("materialFile");
   const data = new FormData();
   data.append("module_id", parseInt(module_id));
@@ -186,25 +184,24 @@ const handleAddMaterial = (module_id) => {
       console.log(this);
       window.location.href = "/course/module/" + module_id;
     } else {
-      console.log(this);
       alert("Something went wrong!");
     }
-  }
+  };
   xhr.send(data);
 };
 
-const handleDeleteMaterial = (module_id, material_id) => {
+const handleDeleteMaterial = (module_id, material_id, material_path) => {
   const data = new FormData();
   data.append("material_id", parseInt(material_id));
+  data.append("old_file", material_path);
   const xhr = new XMLHttpRequest();
-  xhr.open("POST", "/api/material/delete.php", true)
+  xhr.open("POST", "/api/material/delete.php", true);
   xhr.onload = function () {
     if (this.status === 200) {
       window.location.href = "/course/module/" + module_id;
     } else {
-      console.log(this);
       alert("Something went wrong!");
     }
-  }
+  };
   xhr.send(data);
 };
diff --git a/screenshot/add-courses.png b/screenshot/add-courses.png
new file mode 100644
index 0000000000000000000000000000000000000000..b07c7fce4f5863bc2cbef6b64380717cf96ab128
Binary files /dev/null and b/screenshot/add-courses.png differ
diff --git a/screenshot/enroll.png b/screenshot/enroll.png
new file mode 100644
index 0000000000000000000000000000000000000000..84aed3967e43e7f15bddea08263dd1941a084e28
Binary files /dev/null and b/screenshot/enroll.png differ
diff --git a/screenshot/homepage.png b/screenshot/homepage.png
new file mode 100644
index 0000000000000000000000000000000000000000..15ecd864d1c2803aedb37240c410338ed5dded80
Binary files /dev/null and b/screenshot/homepage.png differ
diff --git a/screenshot/login.png b/screenshot/login.png
new file mode 100644
index 0000000000000000000000000000000000000000..7457f889169186a7a12e948fe149d2c766be9332
Binary files /dev/null and b/screenshot/login.png differ
diff --git a/screenshot/not-found.png b/screenshot/not-found.png
new file mode 100644
index 0000000000000000000000000000000000000000..a20bc2557cd83c1d53e725861c6839d37b48650d
Binary files /dev/null and b/screenshot/not-found.png differ
diff --git a/screenshot/pop-up.png b/screenshot/pop-up.png
new file mode 100644
index 0000000000000000000000000000000000000000..7fbcb6b3316806f3512b2533521e7daffba894e9
Binary files /dev/null and b/screenshot/pop-up.png differ
diff --git a/screenshot/register.png b/screenshot/register.png
new file mode 100644
index 0000000000000000000000000000000000000000..b7160306a205cb67c9292411c4edbcd4961e5c27
Binary files /dev/null and b/screenshot/register.png differ
diff --git a/screenshot/search.png b/screenshot/search.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d40a0a9730cf25ac42b3e938c71752b3299b5f2
Binary files /dev/null and b/screenshot/search.png differ
diff --git a/screenshot/user-list.png b/screenshot/user-list.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7747bb0729ac2c965a3de571952166cd12cced5
Binary files /dev/null and b/screenshot/user-list.png differ