diff --git a/IdentService/build/web/WEB-INF/sun-web.xml b/IdentService/build/web/WEB-INF/sun-web.xml
deleted file mode 100644
index 1ac7af40bc9f499787d5623c4191ae84b07f4c3b..0000000000000000000000000000000000000000
--- a/IdentService/build/web/WEB-INF/sun-web.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Servlet 3.0//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd">
-<sun-web-app error-url="">
-  <class-loader delegate="true"/>
-  <jsp-config>
-    <property name="keepgenerated" value="true">
-      <description>Keep a copy of the generated servlet class' java code.</description>
-    </property>
-  </jsp-config>
-</sun-web-app>
-
diff --git a/IdentService/build/web/gfv3ee6.dpf b/IdentService/build/web/gfv3ee6.dpf
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/IdentService/dist/IdentService.war b/IdentService/dist/IdentService.war
index 4414210f46b62a5a0861ed9887d3759bb181eba7..3f8440ad6c59a4b6ef74873792a554fe693495c8 100644
Binary files a/IdentService/dist/IdentService.war and b/IdentService/dist/IdentService.war differ
diff --git a/KAA-JSP/build/web/catalog.jsp b/KAA-JSP/build/web/catalog.jsp
index d745aafd4a424fa18f1df235401640f055db9fb0..30b88767c8d5d70758debc8df91ecfa46e25c740 100644
--- a/KAA-JSP/build/web/catalog.jsp
+++ b/KAA-JSP/build/web/catalog.jsp
@@ -24,10 +24,10 @@
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 	<title>Sale Project - Catalog</title>
 	<link href="css/style.css" rel="stylesheet" type="text/css">
-         <!--Angular -->
-        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
         <!-- Firebase -->
         <script src="https://www.gstatic.com/firebasejs/3.6.1/firebase.js"></script>
+         <!--Angular -->
+        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
         <!--<script src="https://cdn.firebase.com/js/client/2.0.4/firebase.js"></script>--> 
         <!--<script src="https://www.gstatic.com/firebasejs/3.6.1/firebase-app.js"></script>
         <script src="https://www.gstatic.com/firebasejs/3.6.1/firebase-auth.js"></script>
@@ -35,7 +35,7 @@
         <script src="https://www.gstatic.com/firebasejs/3.6.1/firebase-messaging.js"></script>
         <!-- <script src="https://www.gstatic.com/firebasejs/3.6.1/firebase-storage.js"></script> -->
         <!-- AngularFire -->
-        <!--<script src="https://cdn.firebase.com/libs/angularfire/0.9.2/angularfire.min.js"></script>-->
+<!--        <script src="https://cdn.firebase.com/libs/angularfire/0.9.2/angularfire.min.js"></script>-->
  
         <script>
           // Initialize Firebase
@@ -47,7 +47,7 @@
             storageBucket: "kaa-saleproject.appspot.com",
             messagingSenderId: "815161898662"
           };*/
-        var config = {
+/*        var config = {
           apiKey: "AIzaSyAQ2WIB6GWOxmtwMdGd8eHawL4PWxK8evU",
           authDomain: "tugas-besar-wbd.firebaseapp.com",
           databaseURL: "https://tugas-besar-wbd.firebaseio.com",
@@ -69,7 +69,9 @@
             })
             .catch(function(err) {
               console.log('Unable to get permission to notify.', err);
-            });
+            });*/
+    
+    
           /*messaging.requestPermission().then(function(){
               console.log('Notification permission granted');
               messaging.getToken().then(function(){
@@ -109,11 +111,11 @@
 
         </script>
         <!--Application -->
-        <!--<script src="scripts/app.js"></script>-->
+        <script src="scripts/app.js"></script>
 
         
     </head>
-    <body>
+    <body ng-app="chatApp" ng-controller="chatController">
 	<div class="catalog_content">
         <div class="logo">
             <span id="red">Sale</span><span id="blue">Project</span>
@@ -309,8 +311,8 @@
                             out.print("<p>No product to be sold.</p>");
                     } else {
                         for (int i = 0; i < result.size(); i++) {
-                            out.print("<div ng-click=\"setReceiver(\""+result.get(i).getUsername()+"\"<p><b>" + result.get(i).getUsername() + "</b></div><br/>");
-                            out.print("added this on " + result.get(i).getDate().getDate() + "</p>");
+                            out.print("<div ng-click=\"setReceiver(\""+result.get(i).getUsername()+"\")\"><p><b>" + result.get(i).getUsername() + "</b><br/>");
+                            out.print("added this on " + result.get(i).getDate().getDate() + "</p></div>");
                             out.print("<hr/>");
                             out.print("<table>");
                             out.print("<tr class = \"container\">");
@@ -361,7 +363,7 @@
                             out.print("<p>Nothing matches your search.</p>");
                         } else {
                             for (int i = 0; i < result.size(); i++) {
-                                out.print("<div ng-click=\""+result.get(i).getUsername()+"\"><p><b>" + result.get(i).getUsername() + "</b></div><br/>");
+                                out.print("<div ng-click=\"setReceiver(\""+result.get(i).getUsername()+"\")\"><p><b>" + result.get(i).getUsername() + "</b></div><br/>");
                                 out.print("added this on " + result.get(i).getDate().getDate() + "</p>");
                                 out.print("<hr/>");
                                 out.print("<table>");
@@ -395,6 +397,10 @@
             }
         %>
 
+        <br>
+        {{user}}
+        {{receiver}}
+            
 <!--        <div ng-app="chatApp" ng-controller="chatController">
             <p>Name: <input type="text" ng-model="newmessage.user"></p>
             <p>Message: <input type="text" ng-model="newmessage.text"></p>
diff --git a/KAA-JSP/build/web/scripts/app.js b/KAA-JSP/build/web/scripts/app.js
index b7ffb7919a3ae035028cbb99b2f51c13b16b893f..d7578f08e7d99ef8f629a18b85f685c04259f1af 100644
--- a/KAA-JSP/build/web/scripts/app.js
+++ b/KAA-JSP/build/web/scripts/app.js
@@ -5,17 +5,17 @@
  */
 
 
-var app =  angular.module('chatApp', ['firebase']);
+var app =  angular.module('chatApp', []);
 
-app.controller('chatController', ['$scope','Message', function($scope,Message,){
-    $scope.user = "";
+app.controller('chatController', ['$scope','Message', function($scope,Message){
+    $scope.user = "testst";
     
     $scope.receiver = "";
     
-    $scope.messages= Message.all;
+    $scope.messages= "";
     
     $scope.insert = function(message){
-        Message.create(message);
+        //Message.create(message);
     };  
     
     $scope.setUser = function(username){
@@ -29,13 +29,53 @@ app.controller('chatController', ['$scope','Message', function($scope,Message,){
     $scope.isReceiverSet = function(){
         return !(receiver === "");
     };
+    
+    var config = {
+        apiKey: "AIzaSyAQ2WIB6GWOxmtwMdGd8eHawL4PWxK8evU",
+        authDomain: "tugas-besar-wbd.firebaseapp.com",
+        databaseURL: "https://tugas-besar-wbd.firebaseio.com",
+        storageBucket: "tugas-besar-wbd.appspot.com",
+        messagingSenderId: "1049009619420"
+    };
+    firebase.initializeApp(config);
+          
+    const messaging = firebase.messaging();
+    messaging.requestPermission()
+      .then(function() {
+        console.log('Notification permission granted.');
+        return messaging.getToken();
+        // TODO(developer): Retrieve an Instance ID token for use with FCM.
+        // ...
+      })
+      .then(function(token){
+          console.log(token); 
+      })
+      .catch(function(err) {
+        console.log('Unable to get permission to notify.', err);
+      });
 }]);
 
 
-app.factory('Message', ['$firebase', function($firebase) {
-    var ref= new Firebase('https://kaa-saleproject.firebaseio.com');
+app.factory('Message', function() {
+    var messages = [{'name':'Pippo','text':'Hello'},
+        {'name':'Pluto','text':'Hello'},
+        {'name':'Pippo','text':'how are you ?'},
+        {'name':'Pluto','text':'fine thanks'},
+        {'name':'Pippo','text':'Bye'},
+        {'name':'Pluto','text':'Bye'}];
+
+    var Message= {
+        all:messages
+    };
+    
+    return Message;
+
+});
+
+/*app.factory('Message', function() {
+//    var ref= new Firebase('https://kaa-saleproject.firebaseio.com');
  
-    var messages = $firebase(ref.child('messages')).$asArray();
+/*    var messages = $firebase(ref.child('messages')).$asArray();
 /*   var messages = [{'name':'Pippo','text':'Hello'},
         {'name':'Pluto','text':'Hello'},
         {'name':'Pippo','text':'how are you ?'},
@@ -43,15 +83,15 @@ app.factory('Message', ['$firebase', function($firebase) {
         {'name':'Pippo','text':'Bye'},
         {'name':'Pluto','text':'Bye'}];*/
 
-    var Message = {
+/*    var Message = {
         all : messages,
         create: function(message){
-            return messages.$add(message);
+//            return messages.$add(message);
         },
-        get: function(messageId){
+/*        get: function(messageId){
             return $firebase(ref.child('messages').child(messageId)).$asObject();
-        },
-        delete: function(message){
+        },*/
+/*        delete: function(message){
             return messages.$remove(message);
         }
     };
@@ -59,6 +99,6 @@ app.factory('Message', ['$firebase', function($firebase) {
         all: messages
     };*/
 
-    return Message;
+//    return Message;
 
-}]);
+//});
diff --git a/KAA-JSP/dist/KAA-JSP.war b/KAA-JSP/dist/KAA-JSP.war
index 5bf48ddb056abf0ac4b3a627065137a7333f3e1f..7dde69db16939876c78a7f9ab52916a22b9eaa55 100644
Binary files a/KAA-JSP/dist/KAA-JSP.war and b/KAA-JSP/dist/KAA-JSP.war differ
diff --git a/KAA-JSP/web/catalog.jsp b/KAA-JSP/web/catalog.jsp
index d745aafd4a424fa18f1df235401640f055db9fb0..30b88767c8d5d70758debc8df91ecfa46e25c740 100644
--- a/KAA-JSP/web/catalog.jsp
+++ b/KAA-JSP/web/catalog.jsp
@@ -24,10 +24,10 @@
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 	<title>Sale Project - Catalog</title>
 	<link href="css/style.css" rel="stylesheet" type="text/css">
-         <!--Angular -->
-        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
         <!-- Firebase -->
         <script src="https://www.gstatic.com/firebasejs/3.6.1/firebase.js"></script>
+         <!--Angular -->
+        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
         <!--<script src="https://cdn.firebase.com/js/client/2.0.4/firebase.js"></script>--> 
         <!--<script src="https://www.gstatic.com/firebasejs/3.6.1/firebase-app.js"></script>
         <script src="https://www.gstatic.com/firebasejs/3.6.1/firebase-auth.js"></script>
@@ -35,7 +35,7 @@
         <script src="https://www.gstatic.com/firebasejs/3.6.1/firebase-messaging.js"></script>
         <!-- <script src="https://www.gstatic.com/firebasejs/3.6.1/firebase-storage.js"></script> -->
         <!-- AngularFire -->
-        <!--<script src="https://cdn.firebase.com/libs/angularfire/0.9.2/angularfire.min.js"></script>-->
+<!--        <script src="https://cdn.firebase.com/libs/angularfire/0.9.2/angularfire.min.js"></script>-->
  
         <script>
           // Initialize Firebase
@@ -47,7 +47,7 @@
             storageBucket: "kaa-saleproject.appspot.com",
             messagingSenderId: "815161898662"
           };*/
-        var config = {
+/*        var config = {
           apiKey: "AIzaSyAQ2WIB6GWOxmtwMdGd8eHawL4PWxK8evU",
           authDomain: "tugas-besar-wbd.firebaseapp.com",
           databaseURL: "https://tugas-besar-wbd.firebaseio.com",
@@ -69,7 +69,9 @@
             })
             .catch(function(err) {
               console.log('Unable to get permission to notify.', err);
-            });
+            });*/
+    
+    
           /*messaging.requestPermission().then(function(){
               console.log('Notification permission granted');
               messaging.getToken().then(function(){
@@ -109,11 +111,11 @@
 
         </script>
         <!--Application -->
-        <!--<script src="scripts/app.js"></script>-->
+        <script src="scripts/app.js"></script>
 
         
     </head>
-    <body>
+    <body ng-app="chatApp" ng-controller="chatController">
 	<div class="catalog_content">
         <div class="logo">
             <span id="red">Sale</span><span id="blue">Project</span>
@@ -309,8 +311,8 @@
                             out.print("<p>No product to be sold.</p>");
                     } else {
                         for (int i = 0; i < result.size(); i++) {
-                            out.print("<div ng-click=\"setReceiver(\""+result.get(i).getUsername()+"\"<p><b>" + result.get(i).getUsername() + "</b></div><br/>");
-                            out.print("added this on " + result.get(i).getDate().getDate() + "</p>");
+                            out.print("<div ng-click=\"setReceiver(\""+result.get(i).getUsername()+"\")\"><p><b>" + result.get(i).getUsername() + "</b><br/>");
+                            out.print("added this on " + result.get(i).getDate().getDate() + "</p></div>");
                             out.print("<hr/>");
                             out.print("<table>");
                             out.print("<tr class = \"container\">");
@@ -361,7 +363,7 @@
                             out.print("<p>Nothing matches your search.</p>");
                         } else {
                             for (int i = 0; i < result.size(); i++) {
-                                out.print("<div ng-click=\""+result.get(i).getUsername()+"\"><p><b>" + result.get(i).getUsername() + "</b></div><br/>");
+                                out.print("<div ng-click=\"setReceiver(\""+result.get(i).getUsername()+"\")\"><p><b>" + result.get(i).getUsername() + "</b></div><br/>");
                                 out.print("added this on " + result.get(i).getDate().getDate() + "</p>");
                                 out.print("<hr/>");
                                 out.print("<table>");
@@ -395,6 +397,10 @@
             }
         %>
 
+        <br>
+        {{user}}
+        {{receiver}}
+            
 <!--        <div ng-app="chatApp" ng-controller="chatController">
             <p>Name: <input type="text" ng-model="newmessage.user"></p>
             <p>Message: <input type="text" ng-model="newmessage.text"></p>
diff --git a/KAA-JSP/web/scripts/app.js b/KAA-JSP/web/scripts/app.js
index b7ffb7919a3ae035028cbb99b2f51c13b16b893f..d7578f08e7d99ef8f629a18b85f685c04259f1af 100644
--- a/KAA-JSP/web/scripts/app.js
+++ b/KAA-JSP/web/scripts/app.js
@@ -5,17 +5,17 @@
  */
 
 
-var app =  angular.module('chatApp', ['firebase']);
+var app =  angular.module('chatApp', []);
 
-app.controller('chatController', ['$scope','Message', function($scope,Message,){
-    $scope.user = "";
+app.controller('chatController', ['$scope','Message', function($scope,Message){
+    $scope.user = "testst";
     
     $scope.receiver = "";
     
-    $scope.messages= Message.all;
+    $scope.messages= "";
     
     $scope.insert = function(message){
-        Message.create(message);
+        //Message.create(message);
     };  
     
     $scope.setUser = function(username){
@@ -29,13 +29,53 @@ app.controller('chatController', ['$scope','Message', function($scope,Message,){
     $scope.isReceiverSet = function(){
         return !(receiver === "");
     };
+    
+    var config = {
+        apiKey: "AIzaSyAQ2WIB6GWOxmtwMdGd8eHawL4PWxK8evU",
+        authDomain: "tugas-besar-wbd.firebaseapp.com",
+        databaseURL: "https://tugas-besar-wbd.firebaseio.com",
+        storageBucket: "tugas-besar-wbd.appspot.com",
+        messagingSenderId: "1049009619420"
+    };
+    firebase.initializeApp(config);
+          
+    const messaging = firebase.messaging();
+    messaging.requestPermission()
+      .then(function() {
+        console.log('Notification permission granted.');
+        return messaging.getToken();
+        // TODO(developer): Retrieve an Instance ID token for use with FCM.
+        // ...
+      })
+      .then(function(token){
+          console.log(token); 
+      })
+      .catch(function(err) {
+        console.log('Unable to get permission to notify.', err);
+      });
 }]);
 
 
-app.factory('Message', ['$firebase', function($firebase) {
-    var ref= new Firebase('https://kaa-saleproject.firebaseio.com');
+app.factory('Message', function() {
+    var messages = [{'name':'Pippo','text':'Hello'},
+        {'name':'Pluto','text':'Hello'},
+        {'name':'Pippo','text':'how are you ?'},
+        {'name':'Pluto','text':'fine thanks'},
+        {'name':'Pippo','text':'Bye'},
+        {'name':'Pluto','text':'Bye'}];
+
+    var Message= {
+        all:messages
+    };
+    
+    return Message;
+
+});
+
+/*app.factory('Message', function() {
+//    var ref= new Firebase('https://kaa-saleproject.firebaseio.com');
  
-    var messages = $firebase(ref.child('messages')).$asArray();
+/*    var messages = $firebase(ref.child('messages')).$asArray();
 /*   var messages = [{'name':'Pippo','text':'Hello'},
         {'name':'Pluto','text':'Hello'},
         {'name':'Pippo','text':'how are you ?'},
@@ -43,15 +83,15 @@ app.factory('Message', ['$firebase', function($firebase) {
         {'name':'Pippo','text':'Bye'},
         {'name':'Pluto','text':'Bye'}];*/
 
-    var Message = {
+/*    var Message = {
         all : messages,
         create: function(message){
-            return messages.$add(message);
+//            return messages.$add(message);
         },
-        get: function(messageId){
+/*        get: function(messageId){
             return $firebase(ref.child('messages').child(messageId)).$asObject();
-        },
-        delete: function(message){
+        },*/
+/*        delete: function(message){
             return messages.$remove(message);
         }
     };
@@ -59,6 +99,6 @@ app.factory('Message', ['$firebase', function($firebase) {
         all: messages
     };*/
 
-    return Message;
+//    return Message;
 
-}]);
+//});
diff --git a/MarketPlaceService/dist/MarketPlaceService.war b/MarketPlaceService/dist/MarketPlaceService.war
index a940acf314d11c2ee3e7acabaa28be64ead1ddce..560c3e09f19e3da13fe2a674090f0d3e28f1f875 100644
Binary files a/MarketPlaceService/dist/MarketPlaceService.war and b/MarketPlaceService/dist/MarketPlaceService.war differ
diff --git a/firebase-messaging-sw.js b/firebase-messaging-sw.js
new file mode 100644
index 0000000000000000000000000000000000000000..a4ffdcf64b40fb7a338f24cf126f41119a64aa5c
--- /dev/null
+++ b/firebase-messaging-sw.js
@@ -0,0 +1,24 @@
+// Give the service worker access to Firebase Messaging.
+// Note that you can only use Firebase Messaging here, other Firebase libraries
+// are not available in the service worker.
+importScripts('https://www.gstatic.com/firebasejs/3.5.2/firebase-app.js');
+importScripts('https://www.gstatic.com/firebasejs/3.5.2/firebase-messaging.js');
+
+var config = {
+          apiKey: "AIzaSyAQ2WIB6GWOxmtwMdGd8eHawL4PWxK8evU",
+          authDomain: "tugas-besar-wbd.firebaseapp.com",
+          databaseURL: "https://tugas-besar-wbd.firebaseio.com",
+          storageBucket: "tugas-besar-wbd.appspot.com",
+          messagingSenderId: "1049009619420"
+};
+firebase.initializeApp(config);
+
+// Initialize the Firebase app in the service worker by passing in the
+// messagingSenderId.
+//firebase.initializeApp({
+ // 'messagingSenderId': 'YOUR-SENDER-ID'
+//});
+
+// Retrieve an instance of Firebase Messaging so that it can handle background
+// messages.
+const messaging = firebase.messaging();
\ No newline at end of file