diff --git a/.gitignore b/.gitignore
index dd04e98646d755c0ef3f122065eb1bcf17a0ef3f..9c39416c539b1b5aef50acb58fd01f8e226bb2cb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-config/*
+db/*
diff --git a/app/controller/user/AuthMiddleware.php b/app/controller/user/AuthMiddleware.php
index baa8c596cf88199775712145afde94a56f2fec8d..15813d0d1f6d4cae8bb59a044b77c416eee4a2a8 100644
--- a/app/controller/user/AuthMiddleware.php
+++ b/app/controller/user/AuthMiddleware.php
@@ -6,9 +6,9 @@
     class AuthMiddleware implements IMiddleware {
         function run($next, $nextRequest) {
             if ($_COOKIE["Authorization"]){
-                $user_id = verifyJWT($_COOKIE["Authorization"]); 
+                $user_id = verifyJWT($_COOKIE["Authorization"]);
                 if ($user_id){
-                    setcookie("user_id", $user_id, time()+30000, "/");
+                    setcookie("user_id", $user_id, time()+300, "/");
                     $next($nextRequest);
                     exit;
                 } 
diff --git a/app/controller/user/routes.php b/app/controller/user/routes.php
index a48817ccb43ec5ff0cc4224a781d40eb7c8f6636..8e57f437cc0144e3afcb78a263b3e7006bc1430e 100644
--- a/app/controller/user/routes.php
+++ b/app/controller/user/routes.php
@@ -8,5 +8,4 @@
         $router->add("/auth/login/", "POST", array($userUsecase,'login'));
         return $router;
     }
-
 ?>
\ No newline at end of file
diff --git a/app/view/logout.php b/app/view/logout.php
index 5e6bba76d9ab7a3a9a691212f7f5e4c6a5025ebc..c51bf8bfa6885f21dfacdc8681606eeda6f7027d 100644
--- a/app/view/logout.php
+++ b/app/view/logout.php
@@ -1,14 +1,13 @@
 <?php
 
-    if ($_COOKIE["user"]){
+    if ($_COOKIE["user_id"]){
         unset($_COOKIE["Authorization"]);
         unset($_COOKIE["user_id"]);
         setcookie("Authorization",null,time()-3600,"/");
         setcookie("user_id",null,time()-3600,"/");
     }
-
+    
     $url = APP_CONFIG["base_url"]."/login/";
     header('Location: '.$url);
     die();
-
 ?>
\ No newline at end of file
diff --git a/config/devel.php b/config/devel.php
index 3da4d5bcf4b2498ad3aaad777e214abdd84675a2..7a9949ef27af01a4190ad6b83cb445ec68148915 100644
--- a/config/devel.php
+++ b/config/devel.php
@@ -6,6 +6,8 @@
             "password" => "06071998",
             "db_name" => "tayo_book_store"
         ),
-        "base_url" => "localhost:4000/"
+        "base_url" => "http://localhost:4000/",
+        "jwt_alg"=>"sha256",
+        "jwt_key"=>"weirdgenius2018"
     )
 ?>
\ No newline at end of file
diff --git a/public/static/css/header.css b/public/static/css/header.css
index 9c742c1d9f08e8024bc0b51d75ca6f9a01a3d844..8f36eb7ca426640ff38bb0fa3aa4817a4a8f4419 100644
--- a/public/static/css/header.css
+++ b/public/static/css/header.css
@@ -23,16 +23,16 @@ nav {
 }
 
 #header_username {
-    font-size: 1.5em;
+    font-size: 1.75em;
     color: #ffffff;
-    font-weight: bold;
+    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
     font-style: italic;
-    margin-top:15%;
+    margin-top:10%;
     margin-right:10px;
 }
 
 #logo {
-    font-size: 3em;
+    font-size: 3.5em;
     color: white;
     font-weight: bold;
     margin-left: 25px;
@@ -62,10 +62,10 @@ nav {
 
 .menu-item{
     border: 1pt;
-    font-size: 2em;
-    padding-top:5%;
+    font-size: 3em;
+    padding-top:3%;
     font-family: 'Helvetica', Courier, monospace;
-    font-weight: bold;
+    font-weight: lighter;
     color:#ffffff;
     text-align: center;
     text-decoration: none;
diff --git a/public/static/css/register.css b/public/static/css/register.css
index 58987fb9179ddf70c7d936dbea07b1044fce254d..78faa9669426cb84c5c5059ffa7f2a0b86b34368 100644
--- a/public/static/css/register.css
+++ b/public/static/css/register.css
@@ -12,7 +12,7 @@ body{
     font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
 }
 
-form {
+.register-form {
     background-image: url("/static/img/form-bg.jpg");
     padding: 10px;
 }
@@ -22,6 +22,21 @@ form {
     margin:20px;
 }
 
+.check {
+    margin-left: 10px;
+    font-size: 2.1em;
+    font-weight: bolder;
+    color:#FF6029;
+    display: none;
+}
+
+input, textarea {
+    padding: 5px;
+    color:black;
+    border-radius: 5px;
+    background-color: #f7f7f7;
+}
+
 .row {
     display: flex;
     padding-bottom:10px;
@@ -48,6 +63,7 @@ form {
 #address_form{
     height:100px;
 }
+
 .register-link{
     display: block;
 }
@@ -62,3 +78,7 @@ form {
     background-color: white;
 }
 
+.submit-button:hover {
+    color:white;
+    background-color: #FF6029;
+}
diff --git a/public/static/html/register.html b/public/static/html/register.html
index cf4aa302524cbe0b74f1e744e4df1b7b27ceba10..9ce2c82da6d84a045d9b89475f23d5d0ee3f5be7 100644
--- a/public/static/html/register.html
+++ b/public/static/html/register.html
@@ -2,42 +2,42 @@
 <link rel="stylesheet" href="/static/css/base.css">
 
 <div class="container">
-    <form action="/api/user/" method="POST">
+    <div class="register-form">
             <h1 class="form-title">REGISTER</h1>
         <div class="row">
             <label for="name_form" class="form-label">Name</label>
-            <input class="form-input" type="text" name="fullname" placeholder="Budi" id="name_form">
+            <input class="form-input" type="text" name="fullname"  id="name_form">
         </div>
         <div class="row">
             <label for="username_form" class="form-label">Username</label>
-            <input class="form-input validation" type="text" name="username" placeholder="Budi" id="username_form">
+            <input class="form-input validation" type="text" name="username"  id="username_form">
+            <span class="check" id="username_check">✓</span>
         </div>
         <div class="row">
             <label for="email_form" class="form-label">Email</label>
-            <input class="form-input validation" type="email" name="email" placeholder="Budi" id="email_form">
+            <input class="form-input validation" type="email" name="email"  id="email_form">
+            <span class="check" id="email_check">✓</span>
         </div>
         <div class="row">
             <label for="password_form" class="form-label">Password</label>
-            <input class="form-input" type="password" name="password" placeholder="Budi" id="password_form">
+            <input class="form-input" type="password" name="password"  id="password_form">
         </div>
         <div class="row">
             <label for="confirm_password_form" class="form-label">Confirm Password</label>
-            <input class="form-input" type="password" name="confirm_password" placeholder="Budi" id="confirm_password_form">
+            <input class="form-input" type="password" name="confirm_password"  id="confirm_password_form">
         </div>
         <div class="row">
             <label for="address_form" class="form-label">Address</label>
-            <textarea class="form-input" type="text" name="address" placeholder="Budi" id="address_form"></textarea>
+            <textarea class="form-input" type="text" name="address"  id="address_form"></textarea>
         </div>
         <div class="row">
             <label for="phone_form" class="form-label">Phone Number</label>
-            <input class="form-input" type="tel" name="phone_number" placeholder="Budi" id="phone_form">
+            <input class="form-input" type="tel" name="phone_number"  id="phone_form">
         </div>
-
-        
         <a class="register-link" href="/login/">Already have an account?</a> 
         <br>
         <div class="row">
-            <input class="submit-button" type="submit" value="Register">
-        </div> 
-    </form>
+            <button class="submit-button">Register</button>
+        </div>
+    </div>
 </div>
\ No newline at end of file
diff --git a/public/static/js/login.js b/public/static/js/login.js
index 0570521fef7e0e290c7a553c86739ca63a69df1f..9ba787e6d97044d812bff7735ec24792cdf6c2c4 100644
--- a/public/static/js/login.js
+++ b/public/static/js/login.js
@@ -9,7 +9,7 @@ const doLogin = function(){
 
     doAjax('/auth/login/',"POST", payload, function(response){
             console.log(response);
-            setCookie("Authorization", response.data.token, 30000);
+            setCookie("Authorization", response.data.token, 300);
             window.location.replace('http://localhost:4000/browse/');
         }, function(response){
             alert("Invalid username or password");
diff --git a/public/static/js/register.js b/public/static/js/register.js
new file mode 100644
index 0000000000000000000000000000000000000000..df4dfba0a480eeea22f05022a07f8bdf7bbc5cc3
--- /dev/null
+++ b/public/static/js/register.js
@@ -0,0 +1,29 @@
+const name = document.getElementById('name_form');
+const username = document.getElementById('username_form');
+const email = document.getElementById('email_form');
+const password = document.getElementById('password_form');
+const confirmPassword = document.getElementById('confirm_password_form');
+const address = document.getElementById('address_form');
+const phone = document.getElementById('phone_form');
+
+function doRegister(){
+    const nameValue = name.value; 
+    const usernameValue = username.value;
+    const emailValue = email.value;
+    const passwordValue = password.value;
+    const confirmPasswordValue = confirmPassword.value;
+    const addressValue = address.value;
+    const phoneValue = phone.value;   
+}
+
+function validateUsername(){
+    let isValid = false;
+    username.addEventListener("change", function(){
+        
+    });
+}
+
+
+window.onload = function(){
+
+}
\ No newline at end of file
diff --git a/public/static/js/util.js b/public/static/js/util.js
index 03fe828dcbfb35144a49a63ff526bcbb987e07d7..9c10a7020d3c581ef4c92ba2e9d4e0b093e6a9c6 100644
--- a/public/static/js/util.js
+++ b/public/static/js/util.js
@@ -26,9 +26,8 @@ function doAjax(url, method, data, successCallback,failCallback) {
     let req = new XMLHttpRequest();
     req.open(method, url, true);
     req.setRequestHeader("Content-Type", "application/json");
-    req.onreadystatechange = function(){
-        if (this.readyState == 4 && this.status==200){
-            console.log('haha')
+    req.onload = function(){
+        if (this.status==200){
             successCallback(JSON.parse(req.responseText));
         } else {
             console.log(req.responseText);