diff --git a/.password b/.password
new file mode 100644
index 0000000000000000000000000000000000000000..34de5c7cdbc7b04a70081bb65523b4cf9f5a3cf0
--- /dev/null
+++ b/.password
@@ -0,0 +1 @@
+b5bb4cb9
diff --git a/.ssh b/.ssh
new file mode 100755
index 0000000000000000000000000000000000000000..598511507f7b7c0b877f961500acdb92ada2baa9
--- /dev/null
+++ b/.ssh
@@ -0,0 +1 @@
+ssh student@129.241.99.33
diff --git a/src/main/java/dao/GroupChatDAO.java b/src/main/java/dao/GroupChatDAO.java
index 4269d354e1345d2047a2ca8132513dc506c34848..d91ae29643b972fa35e3f19ed6fca096578ebf9f 100644
--- a/src/main/java/dao/GroupChatDAO.java
+++ b/src/main/java/dao/GroupChatDAO.java
@@ -4,6 +4,7 @@ import data.GroupChat;
 import data.Message;
 import data.User;
 
+import javax.swing.*;
 import java.sql.*;
 import java.util.ArrayList;
 import java.util.List;
@@ -104,8 +105,7 @@ public class GroupChatDAO {
 
 
 
-    public void addGroupChat(GroupChat groupChat) {
-
+    public GroupChat addGroupChat(GroupChat groupChat) {
         Connection connection = null;
         PreparedStatement preparedStatement = null;
         ResultSet resultSet = null;
@@ -123,12 +123,15 @@ public class GroupChatDAO {
                 if (resultSet.next()) groupChat.setGroupChatId(resultSet.getInt(1));
             }
         }catch (SQLIntegrityConstraintViolationException e){
-            e.printStackTrace();
+            groupChat = new GroupChat();
+            return groupChat;
         } catch (SQLException e) {
+            groupChat = null;
             e.printStackTrace();
         }finally{
             close(connection, preparedStatement, resultSet);
         }
+        return groupChat;
     }
 
 
@@ -196,7 +199,7 @@ public class GroupChatDAO {
 
 
 
-    public void addMessage(Message message) {
+    public Message addMessage(Message message) {
         Connection connection = null;
         PreparedStatement preparedStatement = null;
         ResultSet resultSet = null;
@@ -218,10 +221,12 @@ public class GroupChatDAO {
             }
         }catch (SQLIntegrityConstraintViolationException e){
             message = new Message();
+            return message;
         } catch (SQLException e) {
             e.printStackTrace();
         }finally{
             close(connection, preparedStatement, resultSet);
         }
+        return message;
     }
 }
diff --git a/src/main/java/resources/GroupChatResource.java b/src/main/java/resources/GroupChatResource.java
index a24331a5faa8f57bafa5f563108d5615153573af..91d7fea4e3f248765f40a3b741a27d748d614062 100644
--- a/src/main/java/resources/GroupChatResource.java
+++ b/src/main/java/resources/GroupChatResource.java
@@ -1,9 +1,15 @@
 package resources;
 
+import dao.GroupChatDAO;
 import data.GroupChat;
+import data.Message;
+import data.User;
 
+import javax.print.attribute.standard.Media;
+import javax.swing.*;
 import javax.ws.rs.*;
 import javax.ws.rs.core.MediaType;
+import java.util.ArrayList;
 
 /**
  * GroupChat resource exposed at "/groupchat" path
@@ -20,7 +26,44 @@ public class GroupChatResource {
     @Path ("{groupChatId}")
     @Produces (MediaType.APPLICATION_JSON)
     public GroupChat getGroupChat(@PathParam("groupChatId") int groupChatId){
-        return null;
+        GroupChatDAO dao = new GroupChatDAO();
+        return dao.getGroupChat(groupChatId);
     }
 
+    @GET
+    @Path ("user/{userId}")
+    @Consumes (MediaType.APPLICATION_JSON)
+    @Produces (MediaType.APPLICATION_JSON)
+    public ArrayList<GroupChat> getGroupChatByUser(@PathParam("userId") int userId) {
+        GroupChatDAO dao = new GroupChatDAO();
+        return dao.getGroupChatByUserId(userId);
+    }
+
+    @POST
+    @Consumes (MediaType.APPLICATION_JSON)
+    @Produces (MediaType.APPLICATION_JSON)
+    public GroupChat postGroupChat(GroupChat groupChat){
+        GroupChatDAO dao = new GroupChatDAO();
+        groupChat = dao.addGroupChat(groupChat);
+        return groupChat;
+    }
+
+    @GET
+    @Produces (MediaType.APPLICATION_JSON)
+    @Path ("{groupChatId}/message")
+    public ArrayList<Message> getGroupChatMessages(@PathParam("groupChatId") int groupChatId) {
+        GroupChatDAO dao = new GroupChatDAO();
+        return dao.getGroupChatMessages(groupChatId);
+    }
+
+    @POST
+    @Produces (MediaType.APPLICATION_JSON)
+    @Consumes (MediaType.APPLICATION_JSON)
+    @Path ("{groupChatId}/message")
+    public Message postGroupChatMessage(@PathParam("groupChatId") int groupChatId, Message message) {
+        GroupChatDAO dao = new GroupChatDAO();
+        return dao.addMessage(message);
+    }
+
+
 }
diff --git a/src/main/webapp/app.html b/src/main/webapp/app.html
index 227bb615896b34c95b2160aeb94fa16e53554b5b..aba5731ca6458addd2c44deabc56eac348c2ba4f 100644
--- a/src/main/webapp/app.html
+++ b/src/main/webapp/app.html
@@ -31,7 +31,7 @@
 
             <ul id="userList">
                 <li onclick="openCalculator(); toggleUserList();"><i class="fas fa-user userIcon"></i>Kalkulator</li>
-                <li onclick="openNewGroupChatForm();"><i class="fas fa-plus userIcon">Gruppesamtale</i></li>
+                <li onclick="openNewGroupChatForm();"><i class="fas fa-plus userIcon"></i>Gruppesamtale</li>
             </ul>
 
             <ul id="groupChatList">