From 4ae1842f8680bb502d54da145608ca1ee290ea4c Mon Sep 17 00:00:00 2001
From: Axel <wiepke@uni-potsdam.de>
Date: Thu, 25 Oct 2018 16:32:34 +0200
Subject: [PATCH] #5 integration of eJournal. Reworked DB-scheme

---
 .../gf/config/GFApplicationBinder.java        |   7 +-
 .../unipotsdam/gf/interfaces/IAnnotation.java |   2 +-
 .../unipotsdam/gf/interfaces/ISubmission.java |   2 +-
 .../controller/AnnotationController.java      |   2 +-
 .../modules/annotation/model/Annotation.java  |   2 -
 .../annotation/model/AnnotationMessage.java   |   2 -
 .../model/AnnotationPostRequest.java          |   2 -
 .../model}/Category.java                      |   2 +-
 .../annotation/view/AnnotationService.java    |   2 +-
 .../websocket/AnnotationWSTarget.java         |   2 +-
 .../AnnotationWebSocketEndpoint.java          |   2 +-
 .../AssessmentDBCommunication.java.orig       |   4 +-
 .../controller/view/QuizView.java.orig        |   8 +-
 .../Controller/PeerFeedbackController.java    | 298 ------------------
 .../gf/modules/feedback/FeedbackImpl.java     |  69 ----
 .../feedback/Model/Peer2PeerFeedback.java     | 108 -------
 .../feedback/View/PeerFeedbackView.java       | 155 ---------
 .../unipotsdam/gf/modules/group/GroupDAO.java |   2 +-
 .../gf/modules/journal/model/Journal.java     |  18 +-
 .../journal/model/dao/JournalDAOImpl.java     |   8 +-
 .../gf/modules/journal/util/JournalUtils.java |   2 +-
 .../gf/modules/journal/view/JournalView.java  |   9 +-
 .../gf/modules/project/Project.java           |  19 +-
 .../modules/project/ProjectConfiguration.java |   2 +-
 .../project/ProjectConfigurationDAO.java      |   2 +-
 .../gf/modules/project/ProjectDAO.java        |  20 +-
 .../gf/modules/project/ProjectView.java       |  20 +-
 .../controller/SubmissionController.java      |   4 +-
 .../submission/model/SubmissionPart.java      |   2 +-
 .../model/SubmissionPartPostRequest.java      |   2 +-
 .../SubmissionProjectRepresentation.java      |   2 +-
 .../submission/view/SubmissionService.java    |   2 +-
 .../gf/process/DossierCreationProcess.java    |   5 +-
 .../gf/process/tasks/FeedbackTaskData.java    |   2 +-
 .../gf/session/SessionExistsFilter.java       |   2 +-
 .../main/java/unipotsdam/gf/taglibs/Menu.java |  10 +-
 .../main/webapp/feedback/css/viewfeedback.css | 146 ---------
 .../main/webapp/feedback/give-feedback.jsp    | 113 -------
 .../webapp/feedback/js/givepeerfeedback.js    |  91 ------
 .../main/webapp/feedback/js/peerfeedback.js   |  55 ----
 .../webapp/feedback/js/viewpeerfeedback.js    | 293 -----------------
 .../main/webapp/feedback/view-feedback.jsp    | 110 -------
 .../main/webapp/journal/create-journal.jsp    | 127 ++++----
 .../main/webapp/journal/edit-description.jsp  |   5 +-
 .../src/main/webapp/journal/eportfolio.jsp    | 123 ++++----
 .../main/webapp/journal/js/create-journal.js  |  12 +-
 .../main/webapp/project/js/create-project.js  |   8 +-
 .../createDummyUsersGroupsProject.sql         |   4 +-
 .../core/context/project/ProjectDAOTest.java  |   1 -
 .../gf/interfaces/ActivityFlowTest.java       |  29 +-
 .../gf/interfaces/AnnotationTest.java         |   3 +-
 .../journal/model/dao/JournalDAOImplTest.java |   2 +-
 .../service/JournalServiceImplTest.java       |   2 +-
 .../src/test/resources/database/fltrail.sql   | 162 +++++++---
 54 files changed, 341 insertions(+), 1747 deletions(-)
 rename gemeinsamforschen/src/main/java/unipotsdam/gf/modules/{feedback => annotation/model}/Category.java (82%)
 delete mode 100644 gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/Controller/PeerFeedbackController.java
 delete mode 100644 gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/FeedbackImpl.java
 delete mode 100644 gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/Model/Peer2PeerFeedback.java
 delete mode 100644 gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/View/PeerFeedbackView.java
 delete mode 100644 gemeinsamforschen/src/main/webapp/feedback/css/viewfeedback.css
 delete mode 100644 gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp
 delete mode 100644 gemeinsamforschen/src/main/webapp/feedback/js/givepeerfeedback.js
 delete mode 100644 gemeinsamforschen/src/main/webapp/feedback/js/peerfeedback.js
 delete mode 100644 gemeinsamforschen/src/main/webapp/feedback/js/viewpeerfeedback.js
 delete mode 100644 gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp

diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java
index 2bc1b2f6..34c310d5 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java
@@ -6,11 +6,13 @@ import unipotsdam.gf.modules.annotation.controller.AnnotationController;
 import unipotsdam.gf.modules.assessment.controller.service.AssessmentDBCommunication;
 import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment;
 import unipotsdam.gf.modules.communication.service.CommunicationDummyService;
-import unipotsdam.gf.modules.feedback.FeedbackImpl;
 import unipotsdam.gf.modules.group.DummyProjectCreationService;
 import unipotsdam.gf.modules.group.GroupDAO;
 import unipotsdam.gf.modules.group.GroupfindingImpl;
 import unipotsdam.gf.modules.journal.service.IJournalImpl;
+import unipotsdam.gf.modules.journal.service.JournalService;
+import unipotsdam.gf.modules.journal.service.JournalServiceImpl;
+import unipotsdam.gf.modules.journal.util.JournalUtils;
 import unipotsdam.gf.modules.project.Management;
 import unipotsdam.gf.modules.project.ManagementImpl;
 import unipotsdam.gf.modules.project.ProjectConfigurationDAO;
@@ -40,6 +42,8 @@ public class GFApplicationBinder extends AbstractBinder {
         bind(PeerAssessment.class).to(IPeerAssessment.class);
         bind(PhasesImpl.class).to(IPhases.class);
         bind(GFContext.class).to(GFContext.class);
+        bind(JournalUtils.class).to(JournalUtils.class);
+        bind(JournalServiceImpl.class).to(JournalService.class);
         bind(ManagementImpl.class).to(Management.class);
         bind(DummyResearchReportManagement.class).to(ResearchReportManagement.class);
         bind(IJournalImpl.class).to(IJournal.class);
@@ -58,7 +62,6 @@ public class GFApplicationBinder extends AbstractBinder {
         bind(ProjectDAO.class).to(ProjectDAO.class);
         bind(GroupDAO.class).to(GroupDAO.class);
         bind(TaskDAO.class).to(TaskDAO.class);
-        bind(FeedbackImpl.class).to(Feedback.class);
 
         bindMore();
     }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IAnnotation.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IAnnotation.java
index c65a363e..021265a1 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IAnnotation.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IAnnotation.java
@@ -3,7 +3,7 @@ package unipotsdam.gf.interfaces;
 import unipotsdam.gf.modules.annotation.model.Annotation;
 import unipotsdam.gf.modules.annotation.model.AnnotationPatchRequest;
 import unipotsdam.gf.modules.annotation.model.AnnotationPostRequest;
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 import java.util.ArrayList;
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ISubmission.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ISubmission.java
index f6ba1456..f0009798 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ISubmission.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ISubmission.java
@@ -1,6 +1,6 @@
 package unipotsdam.gf.interfaces;
 
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 import unipotsdam.gf.modules.submission.model.FullSubmission;
 import unipotsdam.gf.modules.submission.model.FullSubmissionPostRequest;
 import unipotsdam.gf.modules.submission.model.SubmissionPart;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/controller/AnnotationController.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/controller/AnnotationController.java
index 07af9518..c86a15b4 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/controller/AnnotationController.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/controller/AnnotationController.java
@@ -7,7 +7,7 @@ import unipotsdam.gf.modules.annotation.model.Annotation;
 import unipotsdam.gf.modules.annotation.model.AnnotationBody;
 import unipotsdam.gf.modules.annotation.model.AnnotationPatchRequest;
 import unipotsdam.gf.modules.annotation.model.AnnotationPostRequest;
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 import javax.inject.Inject;
 import java.util.ArrayList;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/Annotation.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/Annotation.java
index cdc7ed16..b7256cc6 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/Annotation.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/Annotation.java
@@ -1,7 +1,5 @@
 package unipotsdam.gf.modules.annotation.model;
 
-import unipotsdam.gf.modules.feedback.Category;
-
 /**
  * @author Sven Kästle
  * skaestle@uni-potsdam.de
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/AnnotationMessage.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/AnnotationMessage.java
index de3ba66c..37cc3002 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/AnnotationMessage.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/AnnotationMessage.java
@@ -1,7 +1,5 @@
 package unipotsdam.gf.modules.annotation.model;
 
-import unipotsdam.gf.modules.feedback.Category;
-
 public class AnnotationMessage {
     // variables
     private String from;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/AnnotationPostRequest.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/AnnotationPostRequest.java
index 61ebb981..8d2bfced 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/AnnotationPostRequest.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/AnnotationPostRequest.java
@@ -1,7 +1,5 @@
 package unipotsdam.gf.modules.annotation.model;
 
-import unipotsdam.gf.modules.feedback.Category;
-
 /**
  * @author Sven Kästle
  * skaestle@uni-potsdam.de
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/Category.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/Category.java
similarity index 82%
rename from gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/Category.java
rename to gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/Category.java
index 67a3b26d..323dcde8 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/Category.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/Category.java
@@ -1,4 +1,4 @@
-package unipotsdam.gf.modules.feedback;
+package unipotsdam.gf.modules.annotation.model;
 
 /**
  Categories for feedback and documents
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/view/AnnotationService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/view/AnnotationService.java
index 2119e428..4cb7382a 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/view/AnnotationService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/view/AnnotationService.java
@@ -6,7 +6,7 @@ import unipotsdam.gf.modules.annotation.model.Annotation;
 import unipotsdam.gf.modules.annotation.model.AnnotationPatchRequest;
 import unipotsdam.gf.modules.annotation.model.AnnotationPostRequest;
 import unipotsdam.gf.modules.annotation.model.AnnotationResponse;
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 import javax.inject.Inject;
 import javax.ws.rs.Consumes;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/websocket/AnnotationWSTarget.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/websocket/AnnotationWSTarget.java
index 74fffe95..8c11de7c 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/websocket/AnnotationWSTarget.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/websocket/AnnotationWSTarget.java
@@ -1,6 +1,6 @@
 package unipotsdam.gf.modules.annotation.websocket;
 
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 /**
  * @author Sven Kästle
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/websocket/AnnotationWebSocketEndpoint.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/websocket/AnnotationWebSocketEndpoint.java
index 6cb6f579..74373313 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/websocket/AnnotationWebSocketEndpoint.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/websocket/AnnotationWebSocketEndpoint.java
@@ -1,7 +1,7 @@
 package unipotsdam.gf.modules.annotation.websocket;
 
 import unipotsdam.gf.modules.annotation.model.AnnotationMessage;
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 import javax.websocket.EncodeException;
 import javax.websocket.OnClose;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/AssessmentDBCommunication.java.orig b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/AssessmentDBCommunication.java.orig
index f0e3ec9a..9148d3a8 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/AssessmentDBCommunication.java.orig
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/AssessmentDBCommunication.java.orig
@@ -342,8 +342,8 @@ class AssessmentDBCommunication {
         while (next) {
             String fromPeer = selectWorkRatingResultSet.getString("fromPeer");
             if (!studentsInProject.contains(fromPeer)) {
-                StudentIdentifier userNameentifier = new StudentIdentifier(projectName, fromPeer);
-                result.add(userNameentifier);
+                StudentIdentifier studentIdentifier = new StudentIdentifier(projectName, fromPeer);
+                result.add(studentIdentifier);
             }
             next = selectWorkRatingResultSet.next();
         }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java.orig b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java.orig
index 9121f510..4d8744b6 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java.orig
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java.orig
@@ -179,12 +179,12 @@ public class QuizView {
     @Produces(MediaType.APPLICATION_JSON)
     @Path("/total/project/{projectName}/student/{student}")
     public ArrayList<Performance> getTotalAssessment(@PathParam("projectName") String ProjectId, @PathParam("student") String student) {
-        StudentIdentifier userNameentifier = new StudentIdentifier(ProjectId, student);
-        return getTotalAssessment(userNameentifier);
+        StudentIdentifier studentIdentifier = new StudentIdentifier(ProjectId, student);
+        return getTotalAssessment(studentIdentifier);
     }  //////////dummy/////////////funktioniert wie geplant//////////////////////////////////
 
-    private ArrayList<Performance> getTotalAssessment(StudentIdentifier userNameentifier) {
-        return peer.getTotalAssessment(userNameentifier);
+    private ArrayList<Performance> getTotalAssessment(StudentIdentifier studentIdentifier) {
+        return peer.getTotalAssessment(studentIdentifier);
     }  /////////dummy/////////////funktioniert wie geplant//////////////////////////////////
 
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/Controller/PeerFeedbackController.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/Controller/PeerFeedbackController.java
deleted file mode 100644
index d9ffa981..00000000
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/Controller/PeerFeedbackController.java
+++ /dev/null
@@ -1,298 +0,0 @@
-package unipotsdam.gf.modules.feedback.Controller;
-
-import unipotsdam.gf.mysql.MysqlConnect;
-import unipotsdam.gf.mysql.VereinfachtesResultSet;
-import unipotsdam.gf.modules.feedback.Category;
-import unipotsdam.gf.modules.feedback.Model.Peer2PeerFeedback;
-
-import javax.inject.Inject;
-import java.util.ArrayList;
-import java.util.UUID;
-
-public class PeerFeedbackController {
-
-    @Inject
-    MysqlConnect connection;
-
-
-
-    //@Override
-    public void createPeer2PeerFeedback(Peer2PeerFeedback feedback) {
-
-        // create a new id if we found no id.
-        String uuid = UUID.randomUUID().toString();
-        // while (existsfeedbackId(uuid)) {            //Todo: existsfeedbackId
-        //     uuid = UUID.randomUUID().toString();
-        //  }
-
-        // establish connection
-
-        connection.connect();
-
-        // build and execute request
-        String request = "INSERT INTO peerfeedback (`id`, `reciever`, `sender`, `text`, `category`, `filename`) VALUES (?,?,?,?,?,?);";
-        connection.issueInsertOrDeleteStatement(request, uuid, feedback.getFeedbackreceiver(), feedback.getFeedbacksender(), feedback.getText(), feedback.getFeedbackcategory(), feedback.getFilename());
-
-        // close connection
-        connection.close();
-
-        String pair = feedback.getFeedbacksender();
-        String[] pp = pair.split("'+'");
-        System.out.print("pair" + pp[0]);
-        String ur = "../give-feedback.jsp?token="+pp[0];
-        try{
-            URL url = new URL ("http://localhost:8080/feedback/give-feedback.jsp?token=");
-            URLConnection urlcon = url.openConnection();
-            urlcon.connect();
-            System.out.print("connect");
-        }
-            catch (Exception exp){
-            System.out.print("error to connect");
-            }
-
-        return ("wurde gesendet!"+ur);
-
-    }
-
-    public ArrayList<Peer2PeerFeedback> getsendedPeerfeedback(String sender) {
-
-        ArrayList<Peer2PeerFeedback> fe = new ArrayList<>();
-
-        MysqlConnect connection = new MysqlConnect();
-        connection.connect();
-
-        System.out.print("SENDER" + sender);
-
-        String request = "SELECT * FROM peerfeedback WHERE sender= ?;";
-        VereinfachtesResultSet rss = connection.issueSelectStatement(request, sender);
-        System.out.print("rs:" + rss);
-        System.out.print("rs:" + rss.next());
-
-        while (rss.next()) {
-            fe.add(getPeerfeedbackFromResultSet(rss));
-            System.out.print("FEEDBACKSSS" + fe);
-        }
-
-        connection.close();
-        System.out.print("FEEDBACKSSS" + fe);
-        return fe;
-    }
-
-    public ArrayList<Peer2PeerFeedback> getRecievedPeerfeedback(String reciever) {
-
-        ArrayList<Peer2PeerFeedback> rf = new ArrayList<>();
-
-        MysqlConnect connection = new MysqlConnect();
-        connection.connect();
-
-        System.out.print("RECIEVER"+reciever);
-
-        String request = "SELECT * FROM peerfeedback WHERE reciever= ?;";
-        VereinfachtesResultSet rs = connection.issueSelectStatement(request, reciever);
-        System.out.print("rs:"+rs);
-
-        while (rs.next()) {
-            rf.add(getPeerfeedbackFromResultSet(rs));
-        }
-
-        connection.close();
-        System.out.print("FEEDBACKSRR"+rf);
-        return rf;
-    }
-
-    public ArrayList<Peer2PeerFeedback> getFeedbacksBySender(String reciever, String sender) {
-
-        ArrayList<Peer2PeerFeedback> feedbacks = new ArrayList<>();
-
-        // establish connection
-
-        connection.connect();
-
-        String request = "SELECT * FROM peerfeedback WHERE reciever= ? AND sender= ?;";
-        VereinfachtesResultSet rs = connection.issueSelectStatement(request, reciever, sender);
-        System.out.print("rsfb:"+rs);
-
-        while (rs.next()) {
-            feedbacks.add(getPeerfeedbackFromResultSet(rs));
-        }
-
-        // close connection
-        connection.close();
-        System.out.print(feedbacks);
-        return feedbacks;
-    }
-
-    public ArrayList<String> getSender(String token){
-
-        ArrayList<String> username = new ArrayList<>();
-        ArrayList<String> tok = new ArrayList<>();
-
-        MysqlConnect connection1 = new MysqlConnect();
-        connection1.connect();
-
-            String[] pair = token.split(",");
-            System.out.print("TOKEN,,"+pair[0]+pair.length);
-            System.out.print(pair[0].substring(token.indexOf("+")+1));
-
-            for(int j=0; j < pair.length; j++){
-                pair[j] = pair[j].substring(token.indexOf("+")+1);
-                System.out.print("PAIR2 "+pair[j]);
-            }
-            System.out.print("pair");
-            for(int i = 0; i < pair.length; i++) {
-                String request1 = "SELECT * FROM users WHERE token= ?;";
-                VereinfachtesResultSet rs1 = connection1.issueSelectStatement(request1, pair[i]);
-
-                while (rs1.next()) {
-                    username.add(getNameFromResultSet(rs1));
-                }
-            }
-        System.out.print("getSender:"+username);
-        return username;
-    }
-
-
-
-    public ArrayList<String> getUserforFeedback(String token) {
-
-        System.out.print("IN");
-
-        ArrayList<String> users = new ArrayList<>();
-        ArrayList<String> email = new ArrayList<>();
-        ArrayList<String> emails = new ArrayList<>();
-        ArrayList<String> groupid = new ArrayList<>();
-
-        MysqlConnect connection = new MysqlConnect();
-        connection.connect();
-
-        String request1 = "SELECT * FROM users WHERE token=?";
-        VereinfachtesResultSet rs1 = connection.issueSelectStatement(request1, token);
-        while (rs1.next()) {
-            email.add(getMailFromResultSet(rs1));
-        }
-        System.out.print("rs1:"+email);
-        String el = email.get(0);
-        System.out.print("email"+el);
-
-        MysqlConnect connection1 = new MysqlConnect();
-        connection1.connect();
-
-        String request2 = "SELECT * FROM groupuser WHERE userEmail=?";
-        VereinfachtesResultSet rs2 = connection1.issueSelectStatement(request2, el);
-
-        while (rs2.next()) {
-            groupid.add(getGroupIDFromResultSet(rs2));
-        }
-        String us = groupid.get(0);
-        System.out.print("groupid"+us);
-
-        MysqlConnect connection2 = new MysqlConnect();
-        connection2.connect();
-
-        String request3 = "SELECT * FROM groupuser WHERE groupId=?";
-        VereinfachtesResultSet rs3 = connection2.issueSelectStatement(request3, us);
-
-        while (rs3.next()) {
-            emails.add(getEmailFromResultSet(rs3));
-        }
-        String ems = emails.get(0);
-        System.out.print("emails:"+emails);
-        String[] e = ems.split(",");
-        System.out.print("emails:"+e);
-
-        MysqlConnect connection3 = new MysqlConnect();
-        connection3.connect();
-
-        for (int i = 0; i < emails.size(); i++) {
-            String pair = emails.get(i);
-            System.out.print("pair" + pair);
-            String request4 = "SELECT * FROM users WHERE email=? AND NOT token=?";
-            VereinfachtesResultSet rs4 = connection3.issueSelectStatement(request4, pair, token);
-
-            while (rs4.next()) {
-                users.add(getNameFromResultSet(rs4));
-            }
-
-        }
-
-        System.out.print("rs4:" + users);
-        connection.close();
-        connection1.close();
-        connection2.close();
-        connection3.close();
-        System.out.print("userscontroller:"+users);
-        return users;
-
-    }
-
-
-    public boolean checkFeedback(String checkFeedback) {
-
-        MysqlConnect connection = new MysqlConnect();
-        connection.connect();
-
-        String request = "SELECT * FROM peerfeedback WHERE sender = ?;";
-        VereinfachtesResultSet rs = connection.issueSelectStatement(request, checkFeedback);
-        System.out.print(rs);
-
-        if (rs!=null) {
-            System.out.print("true");
-            connection.close();
-
-            return true;
-
-        } else {
-            System.out.print("false");
-            connection.close();
-
-            return false;
-        }
-
-    }
-
-
-    private Peer2PeerFeedback getPeerfeedbackFromResultSet(VereinfachtesResultSet rs) {
-
-        String id = rs.getString("id");
-        long timestamp = rs.getTimestamp(2).getTime();
-        String reciever = rs.getString("reciever");
-        String sender = rs.getString("sender");
-        String text = rs.getString("text");
-        Object category = rs.getObject("category");
-        String filename = rs.getString("filename");
-
-        return new Peer2PeerFeedback(id,timestamp,Category.valueOf(category),rec, sender, txt, filename);
-    }
-
-    private String getGroupIDFromResultSet(VereinfachtesResultSet rs) {
-
-        String grID = rs.getString("groupId");
-        return new String(grID);
-    }
-
-    private String getEmailFromResultSet(VereinfachtesResultSet rs) {
-
-        String mail = rs.getString("userEmail");
-        return new String(mail);
-    }
-
-    private String getNameFromResultSet(VereinfachtesResultSet rs) {
-
-        String name = rs.getString("name");
-        String token = rs.getString("token");
-        return new String(name+"+"+token);
-    }
-
-    private String getMailFromResultSet(VereinfachtesResultSet rs) {
-
-        String mail = rs.getString("email");
-        return new String(mail);
-    }
-
-    private String getTokenFromResultSet(VereinfachtesResultSet rs) {
-
-        String token = rs.getString("sender");
-        return new String(token);
-    }
-
-}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/FeedbackImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/FeedbackImpl.java
deleted file mode 100644
index fabd7d37..00000000
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/FeedbackImpl.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package unipotsdam.gf.modules.feedback;
-
-import unipotsdam.gf.interfaces.Feedback;
-import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
-import unipotsdam.gf.modules.feedback.Model.Peer2PeerFeedback;
-import unipotsdam.gf.modules.group.GroupDAO;
-import unipotsdam.gf.modules.group.GroupFormationMechanism;
-import unipotsdam.gf.modules.project.Project;
-import unipotsdam.gf.modules.researchreport.ResearchReport;
-import unipotsdam.gf.modules.submission.controller.SubmissionController;
-import unipotsdam.gf.modules.user.User;
-import unipotsdam.gf.modules.user.UserDAO;
-import unipotsdam.gf.process.constraints.ConstraintsMessages;
-
-import javax.inject.Inject;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-public class FeedbackImpl implements Feedback {
-
-
-    @Inject
-    private UserDAO userDAO;
-
-    @Inject
-    private GroupDAO groupDAO;
-
-    @Inject
-    private SubmissionController submissionController;
-
-    @Override
-    public void assigningMissingFeedbackTasks(Project project) {
-
-    }
-
-    @Override
-    public void assignFeedbackTasks(Project project) {
-        GroupFormationMechanism groupFormationMechanism = groupDAO.getGroupFormationMechanism(project);
-
-        switch (groupFormationMechanism) {
-            case SingleUser:
-                List<User> usersByProjectName = userDAO.getUsersByProjectName(project.getName());
-                User firstUser = usersByProjectName.get(0);
-                User lastUser = usersByProjectName.get(usersByProjectName.size()-1);
-                submissionController.updateFullSubmission(firstUser, lastUser);
-                for (int i = 0; i <= usersByProjectName.size()-2;i++) {
-                    User feedbackGiver =usersByProjectName.get(i);
-                    User submissionOwner = usersByProjectName.get(i+1);
-                    submissionController.updateFullSubmission(submissionOwner, feedbackGiver);
-                }
-                break;
-            case UserProfilStrategy:
-            case Manual:
-            case LearningGoalStrategy:
-                // TODO implement assigning feedback tasks in case of groups
-                // consider https://docs.google.com/document/d/1DLuggw7gxLbpbDblDTWVtYC-EI4Tb42y285mdABLC0Q/edit?ts=5bbb1f20#
-        }
-
-    }
-
-    @Override
-    public ResearchReport getFeedbackTask(User student) {
-        return null;
-    }
-
-
-}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/Model/Peer2PeerFeedback.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/Model/Peer2PeerFeedback.java
deleted file mode 100644
index beac0364..00000000
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/Model/Peer2PeerFeedback.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package unipotsdam.gf.modules.feedback.Model;
-
-import unipotsdam.gf.modules.feedback.Category;
-
-import static unipotsdam.gf.util.MarkdownUtils.convertMarkdownToHtml;
-
-/**
- * Peer2PeerFeedback Object
- * created by Katharina
- */
-
-public class Peer2PeerFeedback {
-
-
-    private String id;
-    private long timestamp;
-    private Category category;
-    private String text;
-    private String sender;
-    private String receiver;
-    private String filename;
-
-    public Peer2PeerFeedback(String id, long timestamp, Category category, String text, String sender, String receiver, String filename) {
-        this.id = id;
-        this.timestamp = timestamp;
-        this.category = category;
-        this.text = convertMarkdownToHtml(text);
-        this.sender = sender;
-        this.receiver = receiver;
-        this.filename = filename;
-    }
-
-    public Peer2PeerFeedback() {
-
-    }
-
-    public String getID() {
-        return id;
-    }
-
-    public void setID(String id) {
-        this.id = id;
-    }
-
-    public long getTimestamp() {
-        return timestamp;
-    }
-
-    public void setTimestamp(long timestamp) {
-        this.timestamp = timestamp;
-    }
-
-    public Category getFeedbackcategory() {
-        return category;
-    }
-
-    public void setFeedbackcategory(Category category) {
-        this.category = category;
-    }
-
-    public String getText() {
-        return text;
-    }
-
-    public void setText(String text) {
-        this.text = text;
-    }
-
-    public String getFilename() {
-        return filename;
-    }
-
-    public void setFilename(String filename) {
-        this.filename = filename;
-    }
-
-    public String getFeedbacksender() {
-        return sender;
-    }
-
-    public void setFeedbacksender(String feedbacksender) {
-        this.sender = sender;
-    }
-
-    public String getFeedbackreceiver() {
-        return receiver;
-    }
-
-    public void setFeedbackreceiver(String feedbackreceiver) {
-        this.receiver = receiver;
-    }
-
-
-    @Override
-    public String toString() {
-        return "Peer2PeerFeedback{" +
-                "id=" + id +
-                ", timestamp=" + timestamp +
-                ", category=" + category +
-                ", sender='" + sender +
-                ", receiver=" + receiver +
-                ", text=" + text +
-                ", filename=" + filename +
-                '}';
-    }
-
-
-}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/View/PeerFeedbackView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/View/PeerFeedbackView.java
deleted file mode 100644
index 382cdbb7..00000000
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/feedback/View/PeerFeedbackView.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package unipotsdam.gf.modules.feedback.View;
-
-import unipotsdam.gf.modules.feedback.Category;
-import unipotsdam.gf.modules.feedback.Controller.PeerFeedbackController;
-import unipotsdam.gf.modules.feedback.Model.Peer2PeerFeedback;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import java.sql.Timestamp;
-import java.util.ArrayList;
-
-@Path("/peerfeedback")
-@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
-@Produces(MediaType.APPLICATION_JSON)
-public class PeerFeedbackView {
-
-    /**
-     * Returns String
-     * @param 'id' ID for peerfeedback
-     * @param 'timestamp' time of given feedback
-     * @param 'category' category of the document
-     * @param 'sender' is feedbacksender
-     * @param 'reciever' is feedbackreciever
-     * @param 'text' text from editor
-     * @param 'filename' name of the document
-     * @return name of feedbacksenders or feedbackrecievers
-     */
-    @POST
-    @Path("/save")
-    public Response createPeerfeedback(@FormParam("id") String id, @FormParam("timestamp") Timestamp timestamp, @FormParam("category") Category category,
-                                       @FormParam("zsm") String sender, @FormParam("reciever") String reciever, @FormParam("text") String text, @FormParam("filename") String filename) {
-
-        System.out.print("VIEW:"+sender);
-        Peer2PeerFeedback f = new Peer2PeerFeedback();
-        f.setID(id);
-        f.setTimestamp(timestamp);
-        f.setFeedbackcategory(category);
-        f.setFeedbacksender(sender);
-        f.setFeedbackreceiver(reciever);
-        f.setText(text);
-        f.setFilename(filename);
-        System.out.print(f);
-
-        PeerFeedbackController controller = new PeerFeedbackController();
-        String fp = controller.createPeer2PeerFeedback(f);
-        return Response.ok(fp).build();
-    }
-
-    /**
-     * Returns the sender from feedback
-     * @param 'zsm' name and token of student
-     * @return name of senders
-     */
-    @GET
-    @Produces(MediaType.APPLICATION_JSON)
-    @Path("/sendedfeedback/{zsm}")
-    public Response getSendedPeerfeedback(@PathParam("zsm") String sender){
-
-        PeerFeedbackController controller = new PeerFeedbackController();
-        ArrayList<Peer2PeerFeedback> fd = controller.getsendedPeerfeedback(sender);
-        System.out.print("getallfd:"+fd);
-        return Response.ok(fd).build();
-    }
-
-    /**
-     * Returns the reciever from feedback
-     * @param 'zsm' name and token of student
-     * @return name of reciever
-     */
-    @GET
-    @Produces(MediaType.APPLICATION_JSON)
-    @Path("/recievedfeedback/{zsm}")
-    public Response getRecievedPeerfeedback(@PathParam("zsm") String reciever){
-
-        PeerFeedbackController controller = new PeerFeedbackController();
-        ArrayList<Peer2PeerFeedback> rf = controller.getRecievedPeerfeedback(reciever);
-        System.out.print("getallfd:"+rf);
-        return Response.ok(rf).build();
-    }
-
-    /**
-     * Returns the names of feedbackreciever
-     * @param 'zsm' token of student
-     * @return name of feedbackreciever
-     */
-    @GET
-    @Produces(MediaType.APPLICATION_JSON)
-    @Path("/getUsers/{student}")
-    public Response getUsers(@PathParam("student") String token){
-
-        System.out.print("usersview:"+token);
-        PeerFeedbackController controller = new PeerFeedbackController();
-        ArrayList<String> users = controller.getUserforFeedback(token);
-        System.out.print("usersview:"+users);
-        return Response.ok(users).build();
-    }
-
-    /**
-     * Returns true or false for given feedback
-     * @param 'zsm' name and token of student
-     * @return true(feedback was given) or false(feedback was not given)
-     */
-    @GET
-    @Produces(MediaType.APPLICATION_JSON)
-    @Path("/checkFeedback/{zsm}")
-    public Response checkFeedback(@PathParam("zsm") String checkFeedback){
-
-        System.out.print("sendcf:"+checkFeedback);
-        PeerFeedbackController controller = new PeerFeedbackController();
-        Boolean check = controller.checkFeedback(checkFeedback);
-        System.out.print("checkcf:"+check);
-        return Response.ok(check).build();
-    }
-
-    /**
-     * Returns names of feedbacksender or feedbackreciever
-     * @param 'list' name and token of feedbacksenders or feedbackrecievers
-     * @return name of feedbacksenders or feedbackrecievers
-     */
-    @GET
-    @Produces(MediaType.APPLICATION_JSON)
-    @Path("/getSender/{list}")
-    public Response getSender(@PathParam("list") String token){
-
-        System.out.print("sendcf:"+token);
-        PeerFeedbackController controller = new PeerFeedbackController();
-        ArrayList<String> name = controller.getSender(token);
-        System.out.print("checkcf:"+name);
-        return Response.ok(name).build();
-    }
-
-    /**
-     * Returns feedbacks
-     * @param 'student' is feedbackreciever and 'sender' is feedbacksender
-     * @return feedbacks
-     */
-    @GET
-    @Produces(MediaType.APPLICATION_JSON)
-    @Path("/getfeedbackbysender/{student}/{sender}")
-    public Response getFeedbackBySender(@PathParam("student") String reciever, @PathParam("sender") String sender){
-
-        System.out.print("fb:"+reciever+sender);
-        PeerFeedbackController controller = new PeerFeedbackController();
-        ArrayList<Peer2PeerFeedback> fb = controller.getFeedbacksBySender(reciever, sender);
-        System.out.print("fb:"+fb);
-        return Response.ok(fb).build();
-    }
-}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/group/GroupDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/group/GroupDAO.java
index bb086571..85bbf3ee 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/group/GroupDAO.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/group/GroupDAO.java
@@ -29,7 +29,7 @@ public class GroupDAO {
         this.connect = connect;
     }
 
-    ArrayList<String> getStudentsInSameGroupAs(StudentIdentifier student) {
+    public ArrayList<String> getStudentsInSameGroupAs(StudentIdentifier student) {
         connect.connect();
         ArrayList<String> result = new ArrayList<>();
         int groupId= getGroupByStudent(student);
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/Journal.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/Journal.java
index 369f6a74..e91cfc9e 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/Journal.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/Journal.java
@@ -2,7 +2,7 @@ package unipotsdam.gf.modules.journal.model;
 
 
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 import java.util.Date;
 
@@ -14,7 +14,7 @@ import static unipotsdam.gf.util.MarkdownUtils.convertMarkdownToHtml;
 public class Journal {
 
     private String id;
-    private StudentIdentifier userNameentifier;
+    private StudentIdentifier studentIdentifier;
     private String entryHTML;
     private String entryMD;
     private long timestamp;
@@ -24,9 +24,9 @@ public class Journal {
 
     public Journal() {}
 
-    public Journal(String id, StudentIdentifier userNameentifier, String entryMD, Visibility visibility, Category category) {
+    public Journal(String id, StudentIdentifier studentIdentifier, String entryMD, Visibility visibility, Category category) {
         this.id = id;
-        this.userNameentifier = userNameentifier;
+        this.studentIdentifier = studentIdentifier;
         entryHTML = convertMarkdownToHtml(entryMD);
         this.entryMD = entryMD;
         this.visibility = visibility;
@@ -35,9 +35,9 @@ public class Journal {
         timestamp = new Date().getTime();
     }
 
-    public Journal(String id, StudentIdentifier userNameentifier, String entryMD, long timestamp, Visibility visibility, Category category, boolean open) {
+    public Journal(String id, StudentIdentifier studentIdentifier, String entryMD, long timestamp, Visibility visibility, Category category, boolean open) {
         this.id = id;
-        this.userNameentifier = userNameentifier;
+        this.studentIdentifier = studentIdentifier;
         entryHTML = convertMarkdownToHtml(entryMD);
         this.entryMD = entryMD;
         this.timestamp = timestamp;
@@ -68,11 +68,11 @@ public class Journal {
     }
 
     public StudentIdentifier getStudentIdentifier() {
-        return userNameentifier;
+        return studentIdentifier;
     }
 
     public void setStudentIdentifier(StudentIdentifier userNameentifier) {
-        this.userNameentifier = userNameentifier;
+        this.studentIdentifier = userNameentifier;
     }
 
     public String getEntryHTML() {
@@ -111,7 +111,7 @@ public class Journal {
     public String toString() {
         return "Journal{" +
                 "id=" + id +
-                ", userNameentifier=" + userNameentifier +
+                ", studentIdentifier=" + studentIdentifier +
                 ", entryHTML='" + entryHTML + '\'' +
                 ", entryMD='" + entryMD + '\'' +
                 ", timestamp=" + timestamp +
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImpl.java
index d517ee41..27a35424 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImpl.java
@@ -15,10 +15,10 @@ import java.util.UUID;
 public class JournalDAOImpl implements JournalDAO {
 
     @Inject
-    MysqlConnect connection;
+    private MysqlConnect connection;
 
-
-    JournalUtils utils;
+    @Inject
+    private JournalUtils utils;
 
     @Override
     public void createJournal(Journal journal) {
@@ -32,7 +32,7 @@ public class JournalDAOImpl implements JournalDAO {
         connection.connect();
 
         // build and execute request
-        String request = "INSERT INTO journals (`id`, `userName`, `projectName`, `text`, `visibility`,`category`, `open` ) VALUES (?,?,?,?,?,?,?);";
+        String request = "INSERT INTO journals (`id`, `userEmail`, `projectName`, `text`, `visibility`,`category`, `open` ) VALUES (?,?,?,?,?,?,?);";
         connection.issueInsertOrDeleteStatement(request, uuid, journal.getStudentIdentifier().getUserEmail(),
                 journal.getStudentIdentifier().getProjectName(), journal.getEntryMD(), journal.getVisibility(), journal.getCategory(), true);
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/util/JournalUtils.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/util/JournalUtils.java
index 505c756d..31573fee 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/util/JournalUtils.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/util/JournalUtils.java
@@ -5,7 +5,7 @@ import org.slf4j.LoggerFactory;
 import unipotsdam.gf.mysql.MysqlConnect;
 import unipotsdam.gf.mysql.VereinfachtesResultSet;
 import unipotsdam.gf.modules.journal.model.Visibility;
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 import javax.inject.Inject;
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/JournalView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/JournalView.java
index f60a8730..ad9a0b14 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/JournalView.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/JournalView.java
@@ -7,7 +7,12 @@ import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.journal.model.JournalFilter;
 import unipotsdam.gf.modules.journal.service.JournalService;
 import unipotsdam.gf.modules.journal.service.JournalServiceImpl;
+import unipotsdam.gf.modules.project.Management;
+import unipotsdam.gf.modules.project.ProjectDAO;
+import unipotsdam.gf.process.ProjectCreationProcess;
+import unipotsdam.gf.session.GFContexts;
 
+import javax.inject.Inject;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.FormParam;
 import javax.ws.rs.GET;
@@ -30,8 +35,10 @@ import java.util.ArrayList;
 @Path("/journal")
 public class JournalView {
 
+    @Inject
+    private JournalService journalService;
+
     private final Logger log = LoggerFactory.getLogger(JournalView.class);
-    private final JournalService journalService = new JournalServiceImpl();
 
     /**
      * Returns a specific Journal
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/Project.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/Project.java
index c48ae3bb..5f6aadb3 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/Project.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/Project.java
@@ -17,19 +17,17 @@ public class Project {
     private Long timecreated; //timestamp macht zu viele Probleme
     // the id of the authorEmail (not the token)
     private String authorEmail;
-    private String adminPassword;
     private Phase phase;
     private String[] tags;
 
     public Project() {
     }
 
-    public Project(String name, String password, Boolean active, String author, String adminPassword, String[] tags) {
+    public Project(String name, String password, Boolean active, String author, String[] tags) {
         this.name = name;
         this.password = password;
         this.active = active;
         this.authorEmail = author;
-        this.adminPassword = adminPassword;
         this.timecreated = System.currentTimeMillis();
         // default starting at course creation if new
         this.setPhase(Phase.CourseCreation);
@@ -37,14 +35,12 @@ public class Project {
     }
 
     public Project(
-            String name, String password, Boolean active, Long timecreated, String authorEmail,
-            String adminPassword, Phase phase, String[] tags) {
+            String name, String password, Boolean active, Long timecreated, String authorEmail, Phase phase, String[] tags) {
         this.name = name;
         this.password = password;
         this.active = active;
         this.authorEmail = authorEmail;
         this.timecreated = timecreated;
-        this.adminPassword = adminPassword;
         this.phase = phase;
         this.tags = tags;
     }
@@ -83,16 +79,6 @@ public class Project {
         this.authorEmail = authorEmail;
     }
 
-    public String getAdminPassword() {
-        return adminPassword;
-    }
-
-    public void setAdminPassword(String adminPassword) {
-        this.adminPassword = adminPassword;
-    }
-
-
-
     public Phase getPhase() {
         return phase;
     }
@@ -142,7 +128,6 @@ public class Project {
         sb.append(", active=").append(active);
         sb.append(", timecreated=").append(timecreated);
         sb.append(", authorEmail='").append(authorEmail).append('\'');
-        sb.append(", adminPassword='").append(adminPassword).append('\'');
         sb.append(", phase=").append(phase);
         sb.append(", tags=").append(Arrays.toString(tags));
         sb.append('}');
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectConfiguration.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectConfiguration.java
index 72cef067..2eac4f41 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectConfiguration.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectConfiguration.java
@@ -3,7 +3,7 @@ package unipotsdam.gf.modules.project;
 import unipotsdam.gf.process.phases.Phase;
 import unipotsdam.gf.modules.assessment.AssessmentMechanism;
 import unipotsdam.gf.modules.group.GroupFormationMechanism;
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 import java.util.HashMap;
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectConfigurationDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectConfigurationDAO.java
index 64aba706..dd7b6238 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectConfigurationDAO.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectConfigurationDAO.java
@@ -5,7 +5,7 @@ import unipotsdam.gf.mysql.VereinfachtesResultSet;
 import unipotsdam.gf.process.phases.Phase;
 import unipotsdam.gf.modules.assessment.AssessmentMechanism;
 import unipotsdam.gf.modules.group.GroupFormationMechanism;
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 import javax.inject.Inject;
 import java.util.HashMap;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectDAO.java
index 3da36e5c..fe959f30 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectDAO.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectDAO.java
@@ -12,15 +12,22 @@ import javax.annotation.ManagedBean;
 import javax.annotation.Resource;
 import javax.inject.Inject;
 import javax.inject.Singleton;
+import java.security.Timestamp;
+import java.time.Instant;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.TimeZone;
+
+import static java.util.TimeZone.getDefault;
 
 @ManagedBean
 @Resource
 @Singleton
 public class ProjectDAO {
 
+    @Inject
     private MysqlConnect connect;
 
     @Inject
@@ -37,12 +44,12 @@ public class ProjectDAO {
     public void persist(Project project) {
 
         if (!exists(project)) {
-
+            java.sql.Timestamp timestamp = new java.sql.Timestamp(project.getTimecreated());
             connect.connect();
             String mysqlRequest =
-                    "INSERT INTO projects (`name`, `password`, `active`, `timecreated`, `author`, " + "`adminPassword`, `phase`) values (?,?,?,?,?,?,?)";
+                    "INSERT INTO projects (`name`, `password`, `active`, `timecreated`, `author`, `phase`) values (?,?,?,?,?,?)";
             connect.issueInsertOrDeleteStatement(mysqlRequest, project.getName(), project.getPassword(),
-                    project.isActive(), project.getTimecreated(), project.getAuthorEmail(), project.getAdminPassword(),
+                    project.isActive(), timestamp, project.getAuthorEmail(),
                     project.getPhase() == null ? Phase.CourseCreation : project.getPhase());
 
             connect.close();
@@ -73,9 +80,9 @@ public class ProjectDAO {
     public Boolean exists(Project project) {
         Boolean result;
         connect.connect();
-        String mysqlRequest = "SELECT * FROM projects where name = ? and adminPassword = ?";
+        String mysqlRequest = "SELECT * FROM projects where name = ?";
         VereinfachtesResultSet vereinfachtesResultSet =
-                connect.issueSelectStatement(mysqlRequest, project.getName(), project.getAdminPassword());
+                connect.issueSelectStatement(mysqlRequest, project.getName());
         if (vereinfachtesResultSet == null) {
             return false;
         }
@@ -113,11 +120,10 @@ public class ProjectDAO {
         boolean active = vereinfachtesResultSet.getBoolean("active");
         long timestamp = vereinfachtesResultSet.getLong("timecreated");
         String author = vereinfachtesResultSet.getString("author");
-        String adminPassword = vereinfachtesResultSet.getString("adminpassword");
         String phase = vereinfachtesResultSet.getString("phase");
 
 
-        return new Project(id, password, active, timestamp, author, adminPassword, Phase.valueOf(phase), null);
+        return new Project(id, password, active, timestamp, author, Phase.valueOf(phase), null);
     }
 
     public java.util.List<String> getTags(Project project) {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectView.java
index 0543d680..5ee158ce 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectView.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/project/ProjectView.java
@@ -1,5 +1,6 @@
 package unipotsdam.gf.modules.project;
 
+import com.sun.org.apache.xpath.internal.operations.Bool;
 import unipotsdam.gf.process.ProjectCreationProcess;
 import unipotsdam.gf.process.tasks.TaskDAO;
 import unipotsdam.gf.modules.user.User;
@@ -33,14 +34,11 @@ public class ProjectView {
     @Inject
     private ProjectCreationProcess projectCreationProcess;
 
-    @Inject
-    private GFContext gfContext;
-
-    @PUT
+    @POST
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.TEXT_PLAIN)
     @Path("/create")
-    public void createProject(@Context HttpServletRequest req, Project project) throws URISyntaxException, IOException {
+    public String createProject(@Context HttpServletRequest req, Project project) throws URISyntaxException, IOException {
         String userEmail = gfContexts.getUserEmail(req);
         User user = iManagement.getUserByEmail(userEmail);
         assert user != null;
@@ -48,23 +46,21 @@ public class ProjectView {
             throw new IOException("NO user with this email exists in db");
         }
         projectCreationProcess.createProject(project, user);
+        return "success";
     }
 
-    @PUT
+    @POST
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.TEXT_PLAIN)
     @Path("/delete/project/{projectName}")
     public void deleteProject(@Context HttpServletRequest req, @PathParam("projectName") String projectName) throws URISyntaxException, IOException {
-        Boolean isStudent = gfContext.getUser().getStudent();
+        String userEmail1 = gfContexts.getUserEmail(req);
+        User user = iManagement.getUserByEmail(userEmail1);
+        Boolean isStudent= user.getStudent();
         String userEmail = gfContexts.getUserEmail(req);
         Project project = projectDAO.getProjectByName(projectName);
         if (!isStudent){
             if (project.getAuthorEmail().equals(userEmail)){
-                User user = iManagement.getUserByEmail(userEmail);
-                assert user != null;
-                if (user == null) {
-                    throw new IOException("NO user with this email exists in db");
-                }
                 projectCreationProcess.deleteProject(project);
             }
         }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/controller/SubmissionController.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/controller/SubmissionController.java
index b5aeb648..d5553bfa 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/controller/SubmissionController.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/controller/SubmissionController.java
@@ -12,15 +12,13 @@ import unipotsdam.gf.modules.user.UserDAO;
 import unipotsdam.gf.mysql.MysqlConnect;
 import unipotsdam.gf.mysql.VereinfachtesResultSet;
 import unipotsdam.gf.interfaces.ISubmission;
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 import unipotsdam.gf.modules.submission.model.FullSubmission;
 import unipotsdam.gf.modules.submission.model.FullSubmissionPostRequest;
 import unipotsdam.gf.modules.submission.model.SubmissionPart;
 import unipotsdam.gf.modules.submission.model.SubmissionPartBodyElement;
 import unipotsdam.gf.modules.submission.model.SubmissionPartPostRequest;
 import unipotsdam.gf.modules.submission.model.SubmissionProjectRepresentation;
-import unipotsdam.gf.process.constraints.ConstraintsImpl;
-import unipotsdam.gf.process.phases.Phase;
 import unipotsdam.gf.process.progress.HasProgress;
 import unipotsdam.gf.process.progress.ProgressData;
 import unipotsdam.gf.process.tasks.FeedbackTaskData;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPart.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPart.java
index 4d0ff854..c918a958 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPart.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPart.java
@@ -1,6 +1,6 @@
 package unipotsdam.gf.modules.submission.model;
 
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 import java.util.ArrayList;
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPartPostRequest.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPartPostRequest.java
index d0dc0f33..1dac58a1 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPartPostRequest.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPartPostRequest.java
@@ -1,6 +1,6 @@
 package unipotsdam.gf.modules.submission.model;
 
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 import java.util.ArrayList;
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionProjectRepresentation.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionProjectRepresentation.java
index 50635441..228b29e0 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionProjectRepresentation.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionProjectRepresentation.java
@@ -1,6 +1,6 @@
 package unipotsdam.gf.modules.submission.model;
 
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 public class SubmissionProjectRepresentation {
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/view/SubmissionService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/view/SubmissionService.java
index a669d28e..b4310b14 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/view/SubmissionService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/view/SubmissionService.java
@@ -1,6 +1,6 @@
 package unipotsdam.gf.modules.submission.view;
 
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 import unipotsdam.gf.modules.project.Project;
 import unipotsdam.gf.modules.submission.controller.SubmissionController;
 import unipotsdam.gf.modules.submission.model.FullSubmission;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/process/DossierCreationProcess.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/process/DossierCreationProcess.java
index b4379f19..e8b011eb 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/process/DossierCreationProcess.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/process/DossierCreationProcess.java
@@ -28,9 +28,6 @@ public class DossierCreationProcess {
     @Inject
     private TaskDAO taskDAO;
 
-    @Inject
-    private Feedback feedback;
-
     @Inject
     private ConstraintsImpl constraints;
 
@@ -88,7 +85,7 @@ public class DossierCreationProcess {
 
         if (constraints.checkIfFeedbackCanBeDistributed(project)) {
             // distributefeedbacks
-            feedback.assignFeedbackTasks(project);
+            //assignFeedbackTasks(project);
 
             // persist tasks for feedback
             taskDAO.persistMemberTask(
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/process/tasks/FeedbackTaskData.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/process/tasks/FeedbackTaskData.java
index 0f015ded..81ce2238 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/process/tasks/FeedbackTaskData.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/process/tasks/FeedbackTaskData.java
@@ -1,6 +1,6 @@
 package unipotsdam.gf.process.tasks;
 
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 import unipotsdam.gf.modules.submission.model.FullSubmission;
 import unipotsdam.gf.modules.user.User;
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/session/SessionExistsFilter.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/session/SessionExistsFilter.java
index 32e370b1..52afe707 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/session/SessionExistsFilter.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/session/SessionExistsFilter.java
@@ -53,7 +53,7 @@ public class SessionExistsFilter implements Filter {
 
         if (attribute == null) {
             //redirectToLogin(request, response);
-            request1.getSession().setAttribute(GFContexts.USEREMAIL, "vodkas@yolo.com");
+            request1.getSession().setAttribute(GFContexts.USEREMAIL, attribute);
             chain.doFilter(request,response);
         } else {
             final ServiceLocator locator = ServiceLocatorUtilities.bind(new GFApplicationBinder());
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/taglibs/Menu.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/taglibs/Menu.java
index 5bcbe28e..af461e79 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/taglibs/Menu.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/taglibs/Menu.java
@@ -57,9 +57,13 @@ public class Menu extends SimpleTagSupport {
             String menuString = "" +
                     "    <header>\n" +
                     "        <div class=\"row\">\n" +
-                    "            <div class=\"nav-group-left\">" +
-                    "                <a class=\"nav-link\" href=\"" + OmniDependencies.hierarchyToString(hierarchyLevel) + "project/overview-student.jsp?projectName=" + projectName + "\">meine Projekte</a>\n" +
-                    "                <a class=\"nav-link\" href=\"" + OmniDependencies.hierarchyToString(hierarchyLevel) + "profile/profile.jsp?projectName=" + projectName + "\">Profil</a>\n"+
+                    "            <div class=\"nav-group-left\">";
+            if (isStudent){
+                menuString+="                <a class=\"nav-link\" style=\"color:white;\" href=\"" + OmniDependencies.hierarchyToString(hierarchyLevel) + "project/overview-student.jsp\">meine Projekte</a>\n";
+            }else{
+                menuString+="                <a class=\"nav-link\" style=\"color:white;\" href=\"" + OmniDependencies.hierarchyToString(hierarchyLevel) + "project/overview-docent.jsp\">meine Projekte</a>\n";
+            }
+            menuString+="                <a class=\"nav-link\" href=\"" + OmniDependencies.hierarchyToString(hierarchyLevel) + "profile/profile.jsp?projectName=" + projectName + "\">Profil</a>\n"+
                     "        </div>" +
                     "        <div class=\"nav-group-right\">" +
                     "            <a class=\"nav-link\" id=\"logout\" style=\"cursor:pointer\">Logout</a>\n" +
diff --git a/gemeinsamforschen/src/main/webapp/feedback/css/viewfeedback.css b/gemeinsamforschen/src/main/webapp/feedback/css/viewfeedback.css
deleted file mode 100644
index 59669194..00000000
--- a/gemeinsamforschen/src/main/webapp/feedback/css/viewfeedback.css
+++ /dev/null
@@ -1,146 +0,0 @@
-
-.container{max-width:1170px; margin:auto;}
-img{ max-width:100%;}
-.inbox_people {
-    background: #f8f8f8 none repeat scroll 0 0;
-    float: left;
-    overflow: hidden;
-    width: 40%; border-right:1px solid #c4c4c4;
-}
-.inbox_msg {
-    border: 1px solid #c4c4c4;
-    clear: both;
-    overflow: hidden;
-}
-.top_spac{ margin: 20px 0 0;}
-
-
-.recent_heading {width:40%;}
-.srch_bar {
-    display: inline-block;
-    text-align: right;
-    width: 60%;
-}
-.headind_srch{ padding:10px 29px 10px 20px; overflow:hidden; border-bottom:1px solid #c4c4c4;}
-
-.recent_heading h4 {
-    color: #05728f;
-    font-size: 21px;
-    margin: auto;
-}
-.srch_bar input{ border:1px solid #cdcdcd; border-width:0 0 1px 0; width:80%; padding:2px 0 4px 6px; background:none;}
-.srch_bar .input-group-addon button {
-    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
-    border: medium none;
-    padding: 0;
-    color: #707070;
-    font-size: 18px;
-}
-.srch_bar .input-group-addon { margin: 0 0 0 -27px;}
-
-.chat_ib h5{ font-size:17px; color:#464646; margin:0 0 8px 0;}
-.chat_ib h5 span{ font-size:13px; float:right;}
-.chat_ib p{ font-size:14px; color:#989898; margin:auto}
-.chat_img {
-    float: left;
-    width: 19%;
-}
-.chat_ib {
-    float: left;
-    padding-top: 30px;
-    width: 88%;
-}
-
-.chat_people{ overflow:hidden;}
-.chat_list {
-    border-bottom: 1px solid #c4c4c4;
-    margin: 0;
-    padding: 18px 16px 10px;
-    width: 100%;
-    height: 50%;
-}
-.inbox_chat { height: 550px; overflow-y: scroll;}
-
-.active_chat{ background:#ebebeb;}
-
-.incoming_msg_img {
-    display: inline-block;
-    width: 6%;
-}
-.received_msg {
-    display: inline-block;
-    padding: 0 0 0 10px;
-    vertical-align: top;
-    width: 92%;
-}
-.received_withd_msg p {
-    background: #ebebeb none repeat scroll 0 0;
-    border-radius: 3px;
-    color: #646464;
-    font-size: 14px;
-    margin: 0;
-    padding: 5px 10px 5px 12px;
-    width: 100%;
-}
-.time_date {
-    color: #747474;
-    display: block;
-    font-size: 12px;
-    margin: 8px 0 0;
-}
-.received_withd_msg { width: 57%;}
-.mesgs {
-    float: left;
-    padding: 30px 15px 0 25px;
-    width: 60%;
-}
-
-.sent_msg p {
-    background: #05728f none repeat scroll 0 0;
-    border-radius: 3px;
-    font-size: 14px;
-    margin: 0; color:#fff;
-    padding: 5px 10px 5px 12px;
-    width:100%;
-}
-.outgoing_msg{ overflow:hidden; margin:26px 0 26px;}
-.sent_msg {
-    float: right;
-    width: 46%;
-}
-.input_msg_write input {
-    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
-    border: medium none;
-    color: #4c4c4c;
-    font-size: 15px;
-    min-height: 48px;
-    width: 100%;
-}
-
-.type_msg {border-top: 1px solid #c4c4c4;position: relative;}
-.msg_send_btn {
-    background: #05728f none repeat scroll 0 0;
-    border: medium none;
-    border-radius: 50%;
-    color: #fff;
-    cursor: pointer;
-    font-size: 17px;
-    height: 33px;
-    position: absolute;
-    right: 0;
-    top: 11px;
-    width: 33px;
-}
-.messaging { padding: 0 0 50px 0;}
-.msg_history {
-    height: 516px;
-    overflow-y: auto;
-}
-.img-reciever{
-    width: 30%;
-    height: 30%;
-    border-radius: 50%;
-}
-.img-sender{
-    border-radius: 50%;
-}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp b/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp
deleted file mode 100644
index e7b404e3..00000000
--- a/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp
+++ /dev/null
@@ -1,113 +0,0 @@
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="footer" %>
-
-<!DOCTYPE html>
-<html>
-
-<head>
-    <omniDependencies:omniDependencies hierarchy="1"/>
-   <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.css">
-    <script src="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.js"></script>
-    <link rel="stylesheet" type="text/css" href="../journal/css/create-journal.css">
-    <script src="js/givepeerfeedback.js"></script>
-
-</head>
-
-<body>
-<menu:menu hierarchy="1"/>
-    <div class="page-content-wrapper">
-        <headLine:headLine/>
-        <div>
-            <table>
-                <tr>
-                    <h2 style="padding-left: 15px"> Schreibe dein Feedback ein!</h2>
-                    <div class="line-spacer"></div>
-                    <hr />
-                    <div style="padding-left: 17px">
-                        <h3>Vorschläge für ein gutes Feedback:</h3>
-                        <div>1.  Beginne das Feedback mit etwas Positiven</div>
-                        <div>2. 	Äußere dein Feedback</div>
-                        <div>3. 	Beende das Feedback mit etwas Positiven</div>
-                        <div style="height: 10px"></div>
-                        <div>Hilfestellungen für Formulierungen: </div>
-                        <div style="height: 10px"></div>
-                        <div> - das hat mir gut gefallen, weil ...</div>
-                        <div> - das habe ich nicht verstanden, weil ...</div>
-                        <div> - an diesem Punkt kam ich nicht weiter, weil ...</div>
-                        <div> - das könnte man besser machen, z. B. durch ...</div>
-                        <div> - dabei habe ich noch eine Idee, z.B. ...</div>
-
-                    </div>
-                    <hr>
-                    <div>
-                        <table>
-                            <tr>
-                                <td  id="yourContent">
-
-                                    <form style="padding-left: 20px" id= "journalform" method="POST" action="../rest/peerfeedback/save">
-
-                                        <input type="hidden" id="student" name="student">
-                                        <input type="hidden" id="project" name="project">
-                                        <input type="hidden" id="feedbackid" name="id">
-                                        <input type="hidden" id="rec" name="rec">
-                                        <input type="hidden" id="sender" name="sender">
-                                        <input type="hidden" id="timestamp" name="timestamp">
-                                        <input type="hidden" id="category" name="cat">
-                                        <input type="hidden" id="filename" name="filename">
-                                        <input type="hidden" id="zsm" name="zsm">
-
-
-                                        <div class="journal-form-category">
-                                            Kategorie:
-                                            <select name="category" form="journalform">
-                                                <option value="TITEL"> Titel</option>
-                                                <option value="RECHERCHE"> Recherche</option>
-                                                <option value="LITERATURVERZEICHNIS"> Literaturverzeichnis</option>
-                                                <option value="FORSCHUNGSFRAGE"> Forschungsfrage</option>
-                                                <option value="UNTERSUCHUNGSKONZEPT"> Untersuchungskonzept</option>
-                                                <option value="METHODIK"> Methodik</option>
-                                                <option value="DURCHFUEHRUNG"> Durchführung</option>
-                                                <option value="AUSWERTUNG"> Auswertung</option>
-
-                                            </select>
-                                        </div>
-                                        <div style="height: 10px"></div>
-                                        <div class="journal-form-category">
-                                            Feedbackempfänger:
-                                            <select name="reciever" id="reciever" form="journalform"> <%--form="journalform"--%>
-                                            </select>
-                                        </div>
-
-                                        <div class="journal-form-container">
-
-                                            <div class="journal-form-editor" style="width: 150%">
-                                                <textarea id="editor" name="text" form="journalform"></textarea> <%--form="journalform"--%>
-                                            </div>
-
-                                            <div class="journal-form-buttons">
-                                                <button id="backLink" class="btn btn-default btn-sm"> Zur&uuml;ck </button>
-                                                <button id="sub" class="btn btn-default btn-sm"> Speichern </button>
-                                            </div>
-                                        </div>
-                                    </form>
-
-
-                                </td>
-                            </tr>
-                        </table>
-                    </div>
-                </tr>
-                </td>
-
-
-</tr>
-</table>
-</div>
-</div>
-</div>
-</body>
-
-</html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/feedback/js/givepeerfeedback.js b/gemeinsamforschen/src/main/webapp/feedback/js/givepeerfeedback.js
deleted file mode 100644
index bf16344c..00000000
--- a/gemeinsamforschen/src/main/webapp/feedback/js/givepeerfeedback.js
+++ /dev/null
@@ -1,91 +0,0 @@
-var student = getQueryVariable("token");
-var project = getQueryVariable("projectName");
-
-
-/**function getQueryVariable(variable) {
-    let query = window.location.search.substring(1);
-    let vars = query.split("&");
-    for (let i = 0; i < vars.length; i++) {
-        let pair = vars[i].split("=");
-        if (pair[0] === variable) {
-            return pair[1];
-        }
-    }
-    return (false);
-}*/
-
-$(document).ready(function () {
-    $('#student').val(student);
-    $('#project').val(project);
-    //$('#name').val(name);
-    var name = document.getElementById("user").innerHTML;
-    var zsm = name+"+"+student;
-    console.log(name)
-    $('#zsm').val(zsm);
-    console.log(zsm);
-
-
-    $('#viewfeedback').click(function () {
-        location.href="../feedback/view-feedback.jsp?token="+getUserTokenFromUrl();
-    });
-
-    $('#backlink').click(function () {
-        window.history.back();
-    });
-
-    new InscrybMDE({
-        element: document.getElementById("editor"),
-        spellChecker: false,
-        forceSync: true,
-    });
-
-
-    $('#sub').click(function () {
-
-        $.ajax({
-            url: "../rest/peerfeedback/save"
-        }).then(function (data) {
-            //console.log("save:"+data);
-            return location.href="../feedback/give-feedback.jsp?="+getUserTokenFromUrl();
-        });
-        location.href="../feedback/give-feedback.jsp?="+getUserTokenFromUrl();
-    });
-
-
-    $.ajax({
-        url: "../rest/peerfeedback/getUsers/" + student
-    }).then(function (data) {
-        console.log("getUsers:"+data);
-        loadUsers(data);
-    });
-
-
-    $.ajax({
-        url: "../rest/peerfeedback/checkFeedback/" +student
-    }).then(function (data) {
-        console.log("checkFeedback:"+data);
-    });
-
-
-    function loadUsers(data) {
-
-        for (var user in data) {
-
-            var sender = [];
-            var name = [];
-            var pair = data[user].split("+");
-            name.push(pair[0]);
-            sender.push(pair[1]);
-            console.log(name+sender);
-
-            var newopt = document.createElement("OPTION");
-            newopt.insertAdjacentHTML('beforeend', name);
-            newopt.value = data[user];
-
-            var currentdiv = document.getElementById("reciever");
-            currentdiv.appendChild(newopt);
-        }
-
-    }
-
-})
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/feedback/js/peerfeedback.js b/gemeinsamforschen/src/main/webapp/feedback/js/peerfeedback.js
deleted file mode 100644
index a12ccc7c..00000000
--- a/gemeinsamforschen/src/main/webapp/feedback/js/peerfeedback.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * POST: Save an peerfeedback in the database
- *
- * @param Peer2PeerFeedback The post request
- * @param responseHandler The response handler
- */
-/**function createPeerfeedback(Peer2PeerFeedback, responseHandler) {
-    var url = "../rest/peerfeedback/save";
-    var json = JSON.stringify(Peer2PeerFeedback);
-    $.ajax({
-        url: url,
-        type: "POST",
-        data: json,
-        contentType: "application/json",
-        dataType: "json",
-        success: function (response) {
-            responseHandler(response);
-        }
-    });
-}*/
-
-var student = getQueryVariable("token");
-var project = getQueryVariable("projectName");
-
-function go() {
-    var a = document.getElementById("editor").valueOf().toString();
-    var b = document.getElementById("as");
-    b.innerHTML = a.toString();
-
-    //b = document.getElementById("editor").innerHTML;
-
-
-}
-
-$(document).ready(function () {
-    $('#student').val(student);
-    $('#project').val(project);
-
-    $.ajax({
-        url: "../rest/peerfeedback/save"
-    }).then(function (data) {
-        $('#editor').append(data.descriptionMD);
-
-        /** //TODO preselet in select tags
-         new InscrybMDE({
-            element: document.getElementById("editor"),
-            spellChecker: false,
-            forceSync: true,
-        });*/
-
-        //console.log(data);
-        location.href = "give-feedback.jsp" + getUserEmail();
-        alert("Feedback wurde gesendet!");
-    });
-})
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/feedback/js/viewpeerfeedback.js b/gemeinsamforschen/src/main/webapp/feedback/js/viewpeerfeedback.js
deleted file mode 100644
index 1ef53774..00000000
--- a/gemeinsamforschen/src/main/webapp/feedback/js/viewpeerfeedback.js
+++ /dev/null
@@ -1,293 +0,0 @@
-var student = getQueryVariable("token");
-var project = getQueryVariable("projectId");
-var name = getQueryVariable("user");
-
-
-$(document).ready(function(){
-    $('#student').val(student);
-    $('#project').val(project);
-    $('#name').val(name);
-
-    console.log(student);
-    var nme = document.getElementById("user").innerHTML;
-    var zsm = nme +"+"+ student;
-    $('#zsm').val(zsm);
-    console.log(zsm);
-
-    $('#recieved').click(function () {
-
-        //$("#msg_history").empty();
-
-        $.ajax({
-            url: "../rest/peerfeedback/sendedfeedback/"+zsm
-
-            }).then(function (data) {
-            console.log(data);
-            console.log("function1");
-            var list = [];
-            for (var id in data) {
-                if (!list.includes(data[id].feedbackreceiver)) {
-                    list.push(data[id].feedbackreceiver);
-                    console.log(data[id].feedbackreceiver);
-                }
-            }
-            $('#list').val(list);
-
-            console.log(list);
-
-            $.ajax({
-                url: "../rest/peerfeedback/getSender/" + list,
-                async: true
-            }).then(function (data) {
-                console.log("getSender:"+data);
-                var s = data[0];
-                loadFeedbackSender(data);
-            });
-            console.log("function2");
-            console.log(list);
-        });
-   });
-
-    $('#sended').click(function () {
-
-        $("#msg_history").empty();
-        $.ajax({
-            url: "../rest/peerfeedback/recievedfeedback/"+zsm              //peerfeedbackID     {id}
-
-        }).then(function (data) {
-            console.log(data);
-            console.log("function1");
-            var list = [];
-            for (var id in data) {
-                if (!list.includes(data[id].feedbackrsender)) {
-                    list.push(data[id].feedbacksender);
-                    console.log(data[id].feedbacksender);
-                }
-            }
-            console.log(list);
-
-            $.ajax({
-                url: "../rest/peerfeedback/getSender/" + list
-            }).then(function (data) {
-                console.log("getSender:"+data);
-                console.log(list);
-                var s = data[0];
-                loadFeedbackReciever(data);
-            })
-            console.log("function2");
-            console.log(data);
-        });
-    });
-
-    function loadFeedback(data) {
-
-        $("#msg_history").empty();
-
-        console.log(data);
-
-        for (var feedback in data) {
-
-            console.log(data[feedback]);
-
-            var newdiv = document.createElement("div");
-            newdiv.className = "incoming_msg";
-            var newdiv4 = document.createElement("div");
-            newdiv4.className = "chat_img";
-            var newdiv5 = document.createElement("img");
-            newdiv5.src = "../libs/img/noImg.png";
-            newdiv5.alt="Avatar";
-            newdiv5.className = "img-reciever";
-
-            var newdiv2 = document.createElement("div");
-            newdiv2.className = "received_msg";
-            var newdiv3 = document.createElement("div");
-            newdiv3.className = "received_withd_msg";
-            newdiv3.appendChild(newdiv5);
-            var newp = document.createElement("p");
-            //newp.className = "received_withd_msg";
-            newp.insertAdjacentHTML('beforeend', data[feedback].text)
-            var newspan = document.createElement("span");
-            newspan.className = "chat_date";
-            newspan.insertAdjacentHTML('beforeend',timestampToDateString(data[feedback].timestamp));
-            var newspan1 = document.createElement("span");
-            newspan1.className = "chat_date";
-            newspan1.insertAdjacentHTML('beforeend',data[feedback].feedbackcategory);
-            var newspan2 = document.createElement("span");
-            newspan2.className = "chat_date";
-            newspan2.insertAdjacentHTML('beforeend',data[feedback].filename);
-            var newhr =document.createElement("hr");
-
-            newdiv2.insertBefore(newdiv4, newdiv.childNodes[0]);
-            newdiv.appendChild(newdiv2);
-            newdiv2.appendChild(newdiv3);
-            newdiv2.appendChild(newspan1);
-            newdiv3.appendChild(newp);
-
-            newp.insertBefore(newspan1, newp.childNodes[0]);
-            newp.insertBefore(newspan2, newp.childNodes[1]);
-            newp.appendChild(newspan);
-
-            var currentdiv = document.getElementById("msg_history");
-            currentdiv.appendChild(newdiv);
-            currentdiv.appendChild(newhr);
-
-        }
-    }
-
-        function loadFeedbackSender(data) {
-
-            $("#inbox_chat").empty();
-
-            console.log(zsm);
-            console.log(data);
-            $('#data').val(data);
-
-
-            for (var feedback in data) {
-
-                console.log(data[feedback]);
-                var sender = [];
-                var name = [];
-
-                var pair = data[feedback].split("+");
-                name.push(pair[0]);
-                sender.push(pair[1]);
-                console.log(name);
-
-
-                var newdiv = document.createElement("button");
-                newdiv.className = "chat_list";
-                newdiv.id = data[feedback];
-
-                newdiv.onclick = function () {
-                    var h = this.id;
-                    myFunction(h, zsm);
-
-                }
-
-                    var ddiv = document.createElement("div");
-                    ddiv.id = "ddiv";
-
-                    var newdiv2 = document.createElement("div");
-                    newdiv2.className = "chat_people";
-                    var newdiv4 = document.createElement("div");
-                    newdiv4.className = "chat_img";
-                    var newdiv5 = document.createElement("img");
-                    newdiv5.src = "../libs/img/noImg.png";
-                    newdiv5.alt = "Avatar";
-                    newdiv5.className = "img-sender";
-                    newdiv4.appendChild(newdiv5);
-                    var newdiv3 = document.createElement("div");
-                    newdiv3.className = "chat_ib";
-                    var newh = document.createElement("h5");
-                    newh.insertAdjacentHTML('beforeend', name.toString())
-                    var newspan = document.createElement("span");
-                    newspan.className = "chat_date";
-
-                    ddiv.appendChild(newdiv);
-                    newdiv.insertBefore(newdiv4, newdiv.childNodes[0]);
-                    newdiv.appendChild(newdiv2);
-                    newdiv2.appendChild(newdiv3);
-                    newdiv3.appendChild(newh);
-
-                    newh.appendChild(newspan);
-
-                    var currentdiv = document.getElementById("inbox_chat");
-                    currentdiv.appendChild(ddiv);
-            }
-        }
-
-    function loadFeedbackReciever(data) {
-
-        $("#inbox_chat").empty();
-
-        console.log(student);
-        console.log(data);
-
-        for (var feedback in data) {
-
-            console.log(data[feedback]);
-            var sender = [];
-            var name = [];
-            var pair = data[feedback].split("+");
-            name.push(pair[0]);
-            sender.push(pair[1]);
-            console.log(name+sender);
-
-            var newdiv = document.createElement("button");
-            newdiv.className = "chat_list";
-            newdiv.id = data[feedback];
-
-            newdiv.onclick = function () {
-                var h = this.id;
-                console.log(h);
-                myFunction(zsm, h);
-
-            }
-
-            var ddiv = document.createElement("div");
-            ddiv.id = "ddiv";
-            var newdiv2 = document.createElement("div");
-            newdiv2.className = "chat_people";
-            var newdiv4 = document.createElement("div");
-            newdiv4.className = "chat_img";
-            var newdiv5 = document.createElement("img");
-            newdiv5.src = "../libs/img/noImg.png";
-            newdiv5.alt = "Avatar";
-            newdiv5.className = "img-sender";
-            newdiv4.appendChild(newdiv5);
-            var newdiv3 = document.createElement("div");
-            newdiv3.className = "chat_ib";
-            var newh = document.createElement("h5");
-            newh.insertAdjacentHTML('beforeend', name)
-            var newspan = document.createElement("span");
-            newspan.className = "chat_date";
-
-            ddiv.appendChild(newdiv);
-            newdiv.insertBefore(newdiv4, newdiv.childNodes[0]);
-            newdiv.appendChild(newdiv2);
-            newdiv2.appendChild(newdiv3);
-            newdiv3.appendChild(newh);
-            newh.appendChild(newspan);
-
-            var currentdiv = document.getElementById("inbox_chat");
-            currentdiv.appendChild(ddiv);
-        }
-    }
-
-    function timestampToDateString(timestamp) {
-        var date = new Date(timestamp);
-        return date.toLocaleString("de-DE");
-    }
-
-    function myFunction(student, sender) {
-        console.log("YOU CLICKED ME!");
-        console.log(student);
-        console.log(sender);
-
-        $.ajax({
-            url: "../rest/peerfeedback/getfeedbackbysender/" + student + "/" + sender
-        }).then(function (data) {
-            console.log("pffürsender:"+data);
-            loadFeedback(data);
-            //loadUsers(data);
-        });
-        console.log("pffürsender");
-    }
-
-    /**function getsenderFunction(list) {
-
-        console.log(list);
-        $.ajax({
-            url: "../rest/peerfeedback/getSender/" + list,
-            async: true
-        }).then(function (data) {
-            console.log("getSender:"+data);
-            var s = data[0];
-            //loadFeedbackSender(data);
-            loadFeedbackSender(data);
-            //loadUsers(data);
-        });
-        console.log("getsenderFunction");
-    }*/
-})
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp b/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp
deleted file mode 100644
index 784ba3b6..00000000
--- a/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp
+++ /dev/null
@@ -1,110 +0,0 @@
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="footer" %>
-
-<!DOCTYPE html>
-<html>
-
-<head>
-    <link rel="stylesheet" href="css/viewfeedback.css">
-    <omniDependencies:omniDependencies hierarchy="1"/>
-    <script src="js/viewpeerfeedback.js"></script>
-</head>
-
-<body>
-<menu:menu hierarchy="1"/>
-    <div class="page-content-wrapper">
-        <headLine:headLine/>
-        <div class="container-fluid">
-            <h1 id="projectName"> PeerFeedback</h1>
-        </div>
-        <div align="right" class="dropdown">
-            <button style= "position: absolute; right: 50px;" class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">
-
-                <i class="glyphicon glyphicon-envelope"></i>
-            </button>
-
-            <ul class="dropdown-menu">
-                <li><a class="viewfeedback" role="button">Feedback A</a></li>
-                <li><a class="viewfeedback" role="button">Feedback B</a></li>
-                <li><a class="viewfeedback" role="button">Feedback C</a></li>
-            </ul>
-
-            <a href="#">
-                <span class="glyphicon glyphicon-cog" style="font-size:29px;margin-right:30px;margin-top:3px;"></span>
-            </a>
-
-        </div>
-        <div>
-            <table>
-                <tr>
-                <tr>
-                    <th>Feedback Nachrichten von Student X</th>
-                </tr>
-
-
-                <td id="filter-feedbacks">
-
-
-                    <%--<iframe width="90%" height="200%" src="http://rocketchat.westeurope.cloudapp.azure.com/channel/general?layout=embedded"></iframe>
-                    --%>
-                    <%--<p id="view"></p>      type="hidden"--%>
-                    <input type="hidden" name="peerfeedbackID" id="peerfeedbackID-input" value=""/>
-                    <div style="height: 100px; overflow: auto">
-                        <div class="feedback-container">
-                            <p>Sender</p>
-                            <span class="time-right">11:00</span>
-                        </div>
-                    </div>
-
-
-                </td>
-
-
-                <td id="view-feedbacks">
-
-                    <div style="height: 300px; overflow: auto">
-
-                        <div class="feedback-container">
-                            <p>Hello. How are you today?</p>
-                            <span class="time-right">11:00</span>
-        <div class="container">
-            <h3 class=" text-center">Feedback Nachrichten</h3>
-            <div class="messaging">
-                <div class="inbox_msg">
-                    <div class="inbox_people">
-                        <div class="headind_srch">
-                            <div class="recent_heading" style="padding-left: 152px;">
-                                <h4>Übersicht</h4>
-                            </div>
-                            <hr>
-                            <div id="recieved" class="recent_heading" style="padding-left: 37px; width:50%; float: left; border-right: 1px solid #cdcdcd;">
-                                <h5>Empfangen</h5>
-                            </div>
-                            <input type="hidden" id="list" name="list">
-                            <div id="sended" class="recent_heading" style="float: right; padding-left: 37px;">
-                                <h5>Gesendet</h5>
-                            </div>
-                        </div>
-                        <div class="inbox_chat" id="inbox_chat">
-                        </div>
-                    </div>
-                    <div class="mesgs">
-                        <div class="msg_history" id="msg_history">
-                        </div>
-                    </div>
-                </div>
-            </div></div>
-        <button class="btn btn-secondary" onclick="goBack()">Zur&uuml;ck</button>
-
-                    </td>
-                </tr>
-            </table>
-        </div>
-    </div>
-    <footer:footer/>
-</body>
-
-</html>
diff --git a/gemeinsamforschen/src/main/webapp/journal/create-journal.jsp b/gemeinsamforschen/src/main/webapp/journal/create-journal.jsp
index d66ec77f..fcb78542 100644
--- a/gemeinsamforschen/src/main/webapp/journal/create-journal.jsp
+++ b/gemeinsamforschen/src/main/webapp/journal/create-journal.jsp
@@ -1,5 +1,7 @@
 <%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="menu" %>
 <%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="footer" %>
 
 <!DOCTYPE html>
 <html>
@@ -8,84 +10,73 @@
 
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.css">
     <script src="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.js"></script>
-    <link rel="stylesheet" type="text/css" href="journal/css/create-journal.css">
+    <link rel="stylesheet" type="text/css" href="css/create-journal.css">
     <omniDependencies:omniDependencies hierarchy="1"/>
-    <script src="journal/js/create-journal.js"></script>
+    <script src="js/create-journal.js"></script>
 </head>
 
 <body>
 <menu:menu hierarchy="1"/>
-<div id="wrapper">
-    <div class="page-content-wrapper">
-        <div class="container-fluid">
-            <h1 id="projectName">project1
-                <a href="#">
-                <span class="glyphicon glyphicon-envelope"
-                      style="font-size:27px;margin-top:-17px;margin-left:600px;"></span>
-                </a>
-                <a href="#">
-                    <span class="glyphicon glyphicon-cog"
-                          style="font-size:29px;margin-left:5px;margin-top:-25px;"></span>
-                </a></h1>
-        </div>
-        <div>
-            <table>
-                <tr>
-                    <td id="yourContent">
-                        <h1> Tagebucheintrag erstellen </h1>
-
-                        <form id="journalform" class="form-journal" method="POST" action="../rest/journal/save">
-
-                            <input type="hidden" id="student" name="student">
-                            <input type="hidden" id="project" name="project">
-                            <input type="hidden" id="journalid" name="id">
-
-                            <div class="journal-form-container">
-
-                                <div class="journal-form-visibility">
-                                    Sichtbarkeit:
-                                    <select id="visibility" name="visibility" form="journalform">
-                                        <option value="ALL"> Alle</option>
-                                        <option value="GROUP"> Gruppe</option>
-                                        <option value="DOZENT"> Dozent</option>
-                                        <option value="NONE"> Nur Ich</option>
-                                    </select>
-                                </div>
-
-                                <div class="journal-form-category">
-                                    Kategorie:
-                                    <select name="category" form="journalform">
-                                        <option value="TITEL"> Titel</option>
-                                        <option value="RECHERCHE"> Recherche</option>
-                                        <option value="LITERATURVERZEICHNIS"> Literaturverzeichnis</option>
-                                        <option value="FORSCHUNGSFRAGE"> Forschungsfrage</option>
-                                        <option value="UNTERSUCHUNGSKONZEPT"> Untersuchungskonzept</option>
-                                        <option value="METHODIK"> Methodik</option>
-                                        <option value="DURCHFUEHRUNG"> Durchführung</option>
-                                        <option value="AUSWERTUNG"> Auswertung</option>
-
-                                    </select>
-                                </div>
-
-
-                                <div class="journal-form-editor">
-                                    <textarea id="editor" name="text" form="journalform"></textarea>
-                                </div>
-
-                                <div class="journal-form-buttons">
-                                    <input class="btn btn-default btn-sm" type="submit">
-                                    <a id="backLink" class="btn btn-default btn-sm"> Zur&uuml;ck </a>
-                                </div>
+<div class="page-content-wrapper">
+    <headLine:headLine/>
+    <div>
+        <table>
+            <tr>
+                <td id="yourContent">
+                    <h1> Tagebucheintrag erstellen </h1>
+
+                    <form id="journalform" class="form-journal" method="POST" action="../rest/journal/save">
+
+                        <input type="hidden" id="student" name="student">
+                        <input type="hidden" id="project" name="project">
+                        <input type="hidden" id="journalid" name="id">
+
+                        <div class="journal-form-container">
+
+                            <div class="journal-form-visibility">
+                                Sichtbarkeit:
+                                <select id="visibility" name="visibility" form="journalform">
+                                    <option value="ALL"> Alle</option>
+                                    <option value="GROUP"> Gruppe</option>
+                                    <option value="DOZENT"> Dozent</option>
+                                    <option value="NONE"> Nur Ich</option>
+                                </select>
+                            </div>
+
+                            <div class="journal-form-category">
+                                Kategorie:
+                                <select name="category" form="journalform">
+                                    <option value="TITEL"> Titel</option>
+                                    <option value="RECHERCHE"> Recherche</option>
+                                    <option value="LITERATURVERZEICHNIS"> Literaturverzeichnis</option>
+                                    <option value="FORSCHUNGSFRAGE"> Forschungsfrage</option>
+                                    <option value="UNTERSUCHUNGSKONZEPT"> Untersuchungskonzept</option>
+                                    <option value="METHODIK"> Methodik</option>
+                                    <option value="DURCHFUEHRUNG"> Durchführung</option>
+                                    <option value="AUSWERTUNG"> Auswertung</option>
+
+                                </select>
+                            </div>
+
 
+                            <div class="journal-form-editor">
+                                <textarea id="editor" name="text" form="journalform"></textarea>
                             </div>
-                        </form>
 
-                    </td>
-                </tr>
-            </table>
-        </div>
+                            <div class="journal-form-buttons">
+                                <input class="btn btn-default btn-sm" type="submit">
+                                <a id="backLink" class="btn btn-default btn-sm"> Zur&uuml;ck </a>
+                            </div>
+
+                        </div>
+                    </form>
+
+                </td>
+            </tr>
+        </table>
     </div>
 </div>
+<footer:footer/>
 </body>
 
 </html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/journal/edit-description.jsp b/gemeinsamforschen/src/main/webapp/journal/edit-description.jsp
index 4cabd404..d5e65bbd 100644
--- a/gemeinsamforschen/src/main/webapp/journal/edit-description.jsp
+++ b/gemeinsamforschen/src/main/webapp/journal/edit-description.jsp
@@ -1,5 +1,7 @@
 <%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="menu" %>
 <%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="footer" %>
 
 <!DOCTYPE html>
 <html>
@@ -12,7 +14,6 @@
 
 <body>
 <menu:menu hierarchy="1"/>
-<div id="wrapper">
 <h1> Projektbeschreibung bearbeiten </h1>
 
                         <form id="descriptionform" class="form-journal" method="POST"
@@ -20,7 +21,7 @@
 
                                     <textarea id="editor" name="text" form="descriptionform"></textarea>
                         </form>
-</div>
+<footer:footer/>
 </body>
 
 </html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp b/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp
index f9c41e5f..d9bc6592 100644
--- a/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp
+++ b/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp
@@ -1,5 +1,7 @@
 <%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="menu" %>
 <%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../taglibs/gemeinsamForschen.tld" prefix="footer" %>
 
 <!DOCTYPE html>
 <html>
@@ -14,76 +16,68 @@
 
 <body>
 <menu:menu hierarchy="1"/>
-<div id="wrapper">
-    <div class="page-content-wrapper">
-        <div class="container-fluid">
-            <h1 id="projectName">project1
-                <a href="#">
-                <span class="glyphicon glyphicon-envelope"
-                      style="font-size:27px;margin-top:-17px;margin-left:600px;"></span>
-                </a>
-                <a href="#">
-                    <span class="glyphicon glyphicon-cog" style="font-size:29px;margin-left:5px;margin-top:-25px;"></span>
-                </a></h1>
-        </div>
-        <div>
-            <table>
-                <tr>
-                    <td  id="yourContent">
-
-                        <h1>E-Portfolio</h1>
-
-                        <ul class="nav nav-tabs">
-                            <li class="active"><a data-toggle="tab" href="#description">Beschreibung</a></li>
-                            <li><a data-toggle="tab" href="#journal-container">Lerntagebuch</a></li>
-                         </ul>
-                        <div class="tab-content">
-
-                            <div id = "description" class="tab-pane fade in active ">
-                              <div class="journal-description-container">
-                                    <div class="journal-description-title">
-                                    </div>
-                                  <div class="journal-description-edit" id="description-edit" align="right">
-                                        <a id="editDescriptionLink" class="btn btn-default btn-sm">
-                                            <i class="fa fa-pencil-alt"></i> Bearbeiten</a>
-                                        <a class="btn btn-default btn-sm" data-toggle="modal" data-target="#closeDescriptionModal"><i class="fa fa-check-square" aria-hidden="true"></i>Abschlie&szlig;en</a>
-                                        <!-- TODO: Variabel -->
-                                      <div class="exportLink">
-                                      </div>
-
-                                  </div>
-                                    <div class="journal-description-text">
-                                    </div>
-                                    <div class="journal-description-group">
-                                        <h3>Gruppe</h3>
+<div class="page-content-wrapper">
+    <headLine:headLine/>
+    <div>
+        <table>
+            <tr>
+                <td id="yourContent">
+
+                    <h1>E-Portfolio</h1>
+
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a data-toggle="tab" href="#description">Beschreibung</a></li>
+                        <li><a data-toggle="tab" href="#journal-container">Lerntagebuch</a></li>
+                    </ul>
+                    <div class="tab-content">
+
+                        <div id="description" class="tab-pane fade in active ">
+                            <div class="journal-description-container">
+                                <div class="journal-description-title">
+                                </div>
+                                <div class="journal-description-edit" id="description-edit" align="right">
+                                    <a id="editDescriptionLink" class="btn btn-default btn-sm">
+                                        <i class="fa fa-pencil-alt"></i> Bearbeiten</a>
+                                    <a class="btn btn-default btn-sm" data-toggle="modal"
+                                       data-target="#closeDescriptionModal"><i class="fa fa-check-square"
+                                                                               aria-hidden="true"></i>Abschlie&szlig;en</a>
+                                    <!-- TODO: Variabel -->
+                                    <div class="exportLink">
                                     </div>
-                                    <div class="journal-description-links">
-                                        <h3>Links</h3>
 
-                                    </div>
+                                </div>
+                                <div class="journal-description-text">
+                                </div>
+                                <div class="journal-description-group">
+                                    <h3>Gruppe</h3>
+                                </div>
+                                <div class="journal-description-links">
+                                    <h3>Links</h3>
+
+                                </div>
 
 
-                              </div>
                             </div>
+                        </div>
 
-                            <div id="journal-container" class="tab-pane fade">
-                                    <h2>Lerntagebuch</h2>
-                                    <div class="input-group">
-                                    <select id="journalfilter" class="form-control" style="width:auto;" onchange="filterJournals()">
-                                        <option value="ALL">Alle</option>
-                                        <option value="OWN">Eigene</option>
-                                    </select>
+                        <div id="journal-container" class="tab-pane fade">
+                            <h2>Lerntagebuch</h2>
+                            <div class="input-group">
+                                <select id="journalfilter" class="form-control" style="width:auto;"
+                                        onchange="filterJournals()">
+                                    <option value="ALL">Alle</option>
+                                    <option value="OWN">Eigene</option>
+                                </select>
 
-                                    <a id="createJournalLink"class="btn btn-default btn-sm" >Neu</a>
-                                </div>
-                                <div class="journal">
-                                </div>
-                        </div>
+                                <a id="createJournalLink" class="btn btn-default btn-sm">Neu</a>
+                            </div>
+                            <div class="journal">
+                            </div>
                         </div>
-                    </td>
-                </tr>
-            </table>
-        </div>
+                    </div>
+                </td>
+            </tr>
+        </table>
     </div>
 </div>
 
@@ -95,7 +89,7 @@
                 <h4 class="modal-title">Link hinzuf&uuml;gen</h4>
             </div>
             <div class="modal-body">
-                <form id="linkform" method="POST" action="../rest/projectdescription/addLink" >
+                <form id="linkform" method="POST" action="../rest/projectdescription/addLink">
                     <input type="hidden" name="projectdescriptionId" id="projectdescriptionId" value=""/>
                     Name:<br>
                     <input type="text" name="name" form="linkform">
@@ -103,7 +97,7 @@
                     URL:<br>
                     <input type="url" name="link" form="linkform">
                     <br><br>
-                    <input class="btn btn-default" type="submit"  >
+                    <input class="btn btn-default" type="submit">
                     <button type="button" class="btn btn-default" data-dismiss="modal">Abbrechen</button>
                 </form>
             </div>
@@ -158,6 +152,7 @@
         </div>
     </div>
 </div>
+<footer:footer/>
 </body>
 
 </html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/journal/js/create-journal.js b/gemeinsamforschen/src/main/webapp/journal/js/create-journal.js
index 1b68406c..4bc23f2e 100644
--- a/gemeinsamforschen/src/main/webapp/journal/js/create-journal.js
+++ b/gemeinsamforschen/src/main/webapp/journal/js/create-journal.js
@@ -1,10 +1,8 @@
-var student = getQueryVariable("token");
-var project = getQueryVariable("projectName");
-
-
 $(document).ready(function () {
-    $('#student').val(student);
-    $('#project').val(project);
+    let projectName = $('#projectName').html().trim();
+    let userEmail = $('#userEmail').html().trim();
+    $('#student').val(projectName);
+    $('#project').val(userEmail);
 
     $('#backLink').on('click', function () {
         location.href = "eportfolio.jsp";
@@ -25,4 +23,4 @@ $(document).ready(function () {
         console.log(data);
 
     });
-})
\ No newline at end of file
+});
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/project/js/create-project.js b/gemeinsamforschen/src/main/webapp/project/js/create-project.js
index 0df490ea..38415338 100644
--- a/gemeinsamforschen/src/main/webapp/project/js/create-project.js
+++ b/gemeinsamforschen/src/main/webapp/project/js/create-project.js
@@ -19,25 +19,27 @@ function createNewProject(allTheTags, activ) {
     errorMessages();
     // getting the data from the form fields
     let project = getProjectValues();
+    let projectName = $("#nameProject").val().trim();
     // create the project
     if (project) {
         // create the project in local db
         let localurl = "../rest/project/create";
         $.ajax({                        //check local DB for existence of projectName
             url: localurl,
+            projectName: projectName,
             contentType: 'application/json',
             activ: activ,
-            type: 'PUT',
+            type: 'POST',
             data: JSON.stringify(project),
             success: function (response) {
-                if (response === "project exists") {
+                if (response === "Project already exists") {
                     $('#projectNameExists').show();
                 } else {
                     if (allTheTags.length !== 5) {
                         $('#exactNumberOfTags').show();
                     } else {
                         createProjectinCompbase();
-
+                        location.href="tasks-student.jsp?projectName="+projectName;
                     }
                 }
             },
diff --git a/gemeinsamforschen/src/scripts/dbschema/createDummyUsersGroupsProject.sql b/gemeinsamforschen/src/scripts/dbschema/createDummyUsersGroupsProject.sql
index e0e2a801..3cea0d69 100644
--- a/gemeinsamforschen/src/scripts/dbschema/createDummyUsersGroupsProject.sql
+++ b/gemeinsamforschen/src/scripts/dbschema/createDummyUsersGroupsProject.sql
@@ -27,8 +27,8 @@ INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rock
 INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES
   ('teststudent8', 'egal', 'test8@uni.de', 'test1','1','abc');
 
-INSERT INTO  `projects` (`id`, `password`,`active`,`timecreated`,`authorEmail`,`adminpassword`,`token`,`phase`) VALUES
-  ('1','123',1,current_timestamp,'Julian','123','abc','CourseCreation');
+INSERT INTO  `projects` (`id`, `password`,`active`,`timecreated`,`token`,`phase`) VALUES
+  ('1','123',1,current_timestamp,'Julian','CourseCreation');
 
 INSERT INTO `projectuser` (`projectName`,`userEmail`) VALUES ('1','test1@uni.de');
 INSERT INTO `projectuser` (`projectName`,`userEmail`) VALUES ('1','test2@uni.de');
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/core/context/project/ProjectDAOTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/core/context/project/ProjectDAOTest.java
index 907e6c77..85bc4494 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/core/context/project/ProjectDAOTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/core/context/project/ProjectDAOTest.java
@@ -76,7 +76,6 @@ public class ProjectDAOTest {
         projectDAO.persist(project);
         Project projectActual = projectDAO.getProjectByName(project.getName());
 
-        assertEquals(project.getAdminPassword(), projectActual.getAdminPassword());
         assertEquals(project.getAuthorEmail(), projectActual.getAuthorEmail());
         assertEquals(project.getName(), projectActual.getName());
         assertEquals(project.getPassword(), projectActual.getPassword());
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
index 93e94f69..bda296be 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
@@ -24,8 +24,7 @@ import unipotsdam.gf.modules.user.User;
 import unipotsdam.gf.modules.group.GroupFormationMechanism;
 import unipotsdam.gf.modules.group.GroupfindingCriteria;
 import unipotsdam.gf.modules.journal.model.Journal;
-import unipotsdam.gf.modules.feedback.Category;
-import unipotsdam.gf.modules.feedback.Model.Peer2PeerFeedback;
+import unipotsdam.gf.modules.annotation.model.Category;
 import unipotsdam.gf.modules.researchreport.ResearchReport;
 import unipotsdam.gf.modules.researchreport.ResearchReportManagement;
 
@@ -53,10 +52,6 @@ public class ActivityFlowTest {
     @Inject
     ResearchReportManagement researchReportManagement;
 
-
-    @Inject
-    Feedback feedback;
-
     @Inject
     IPhases phases;
 
@@ -92,14 +87,11 @@ public class ActivityFlowTest {
     public void setUp() {
         final ServiceLocator locator = ServiceLocatorUtilities.bind(new TestGFApplicationBinder());
         locator.inject(this);
-
-        feedback = Mockito.spy(feedback);
         researchReportManagement = Mockito.spy(researchReportManagement);
         phases = Mockito.spy(phases);
         iCommunication = Mockito.spy(iCommunication);
 
         // TODO @Julian: Find out more elegant way of doing this
-        researchReportManagement.setFeedback(feedback);
 //        phases.setFeedback(feedback);
 
     }
@@ -201,24 +193,8 @@ public class ActivityFlowTest {
             researchReportManagement.createResearchReport(researchReport, project, student);
         }
 
-
-        // assert that after the last report has been submitted, the feedback tasks were assigned automatically
-        verify(feedback).assignFeedbackTasks(project);
-
         // students give feedback
-        for (User student : students) {
-            ResearchReport feedbackTask = feedback.getFeedbackTask(student);
-            ProjectConfiguration projectConfiguration = management.getProjectConfiguration(project);
-            HashMap<Category, Boolean> criteriaSelected = projectConfiguration.getCriteriaSelected();
-            for (Category category : criteriaSelected.keySet()) {
-                if (criteriaSelected.get(category)) {
-                    Peer2PeerFeedback peer2PeerFeedback = factory.manufacturePojo(Peer2PeerFeedback.class);
-                    peer2PeerFeedback.setFeedbackcategory(category);
-                    //feedback.giveFeedback(peer2PeerFeedback, feedbackTask);
-                    // TODO implement giving feedback
-                }
-            }
-        }
+
 
         // students upload updated dossier
         ArrayList<User> students2 = students;
@@ -239,7 +215,6 @@ public class ActivityFlowTest {
 
         // student misses mockfeedback -> reassignment
         // assert that while reports are still missing mockfeedback tasks are reassigned
-        verify(feedback).assigningMissingFeedbackTasks(project);
 
         // assert that everybody has given and received mockfeedback
         assertTrue(constraints.checkIfFeedbackCanBeDistributed(project));
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/AnnotationTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/AnnotationTest.java
index ffb941dd..424d5c31 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/AnnotationTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/AnnotationTest.java
@@ -4,14 +4,13 @@ import org.glassfish.hk2.api.ServiceLocator;
 import org.glassfish.hk2.utilities.ServiceLocatorUtilities;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.Mockito;
 import unipotsdam.gf.core.database.TestGFApplicationBinder;
 import unipotsdam.gf.modules.annotation.controller.AnnotationController;
 import unipotsdam.gf.modules.annotation.model.Annotation;
 import unipotsdam.gf.modules.annotation.model.AnnotationBody;
 import unipotsdam.gf.modules.annotation.model.AnnotationPatchRequest;
 import unipotsdam.gf.modules.annotation.model.AnnotationPostRequest;
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 import javax.inject.Inject;
 import java.util.ArrayList;
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImplTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImplTest.java
index f262e44d..5bec3c7c 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImplTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImplTest.java
@@ -9,7 +9,7 @@ import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.journal.model.JournalFilter;
 import unipotsdam.gf.modules.journal.model.Visibility;
 import unipotsdam.gf.modules.journal.util.JournalUtils;
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 import javax.inject.Inject;
 import java.util.ArrayList;
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/service/JournalServiceImplTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/service/JournalServiceImplTest.java
index 22d11293..ec149768 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/service/JournalServiceImplTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/service/JournalServiceImplTest.java
@@ -10,7 +10,7 @@ import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.journal.model.Visibility;
 import unipotsdam.gf.modules.journal.model.dao.JournalDAO;
 import unipotsdam.gf.modules.journal.model.dao.JournalDAOImpl;
-import unipotsdam.gf.modules.feedback.Category;
+import unipotsdam.gf.modules.annotation.model.Category;
 
 import javax.inject.Inject;
 import java.util.ArrayList;
diff --git a/gemeinsamforschen/src/test/resources/database/fltrail.sql b/gemeinsamforschen/src/test/resources/database/fltrail.sql
index bcea9a8e..703d1964 100644
--- a/gemeinsamforschen/src/test/resources/database/fltrail.sql
+++ b/gemeinsamforschen/src/test/resources/database/fltrail.sql
@@ -3,10 +3,11 @@ SET AUTOCOMMIT = 0;
 START TRANSACTION;
 SET time_zone = "+00:00";
 
-DROP DATABASE `fltrail`;
-CREATE DATABASE IF NOT EXISTS `fltrail` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8mb4 */;
 
-USE `fltrail`;
 
 CREATE TABLE `annotations` (
   `id` varchar(120) NOT NULL,
@@ -21,9 +22,9 @@ CREATE TABLE `annotations` (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 CREATE TABLE `answeredquiz` (
-  `projectName` varchar(400) NOT NULL,
-  `userName` varchar(400) NOT NULL,
-  `question` varchar(400) NOT NULL,
+  `projectName` varchar(200) NOT NULL,
+  `userName` varchar(100) NOT NULL,
+  `question` varchar(200) NOT NULL,
   `correct` tinyint(4) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -38,9 +39,9 @@ CREATE TABLE `categoriesselected` (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 CREATE TABLE `contributionrating` (
-  `projectName` varchar(400) NOT NULL,
-  `userName` varchar(400) NOT NULL,
-  `fromPeer` varchar(400) NOT NULL,
+  `projectName` varchar(200) NOT NULL,
+  `userName` varchar(100) NOT NULL,
+  `fromPeer` varchar(100) NOT NULL,
   `dossier` int(11) NOT NULL,
   `eJournal` int(11) NOT NULL,
   `research` int(11) NOT NULL
@@ -49,16 +50,16 @@ CREATE TABLE `contributionrating` (
 CREATE TABLE `fullsubmissions` (
   `id` varchar(120) NOT NULL,
   `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-  `user` varchar(120) NOT NULL,
+  `user` varchar(100) NOT NULL,
   `text` mediumtext NOT NULL,
-  `projectName` varchar(120) NOT NULL,
-  `feedbackUser` varchar (255),
-  `finalized` tinyint(4)
+  `projectName` varchar(200) NOT NULL,
+  `feedbackUser` varchar(255) DEFAULT NULL,
+  `finalized` tinyint(1) DEFAULT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 CREATE TABLE `grades` (
-  `projectName` varchar(400) NOT NULL,
-  `userName` varchar(400) NOT NULL,
+  `projectName` varchar(200) NOT NULL,
+  `userName` varchar(100) NOT NULL,
   `grade` double NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -69,7 +70,7 @@ CREATE TABLE `groupfindingmechanismselected` (
 
 CREATE TABLE `groups` (
   `id` int(11) NOT NULL,
-  `projectName` varchar(400) NOT NULL,
+  `projectName` varchar(200) NOT NULL,
   `chatRoomId` varchar(400) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -78,6 +79,16 @@ CREATE TABLE `groupuser` (
   `groupId` int(11) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
+CREATE TABLE `journals` (
+  `id` varchar(100) NOT NULL,
+  `userEmail` varchar(100) NOT NULL,
+  `projectName` varchar(200) NOT NULL,
+  `text` text NOT NULL,
+  `visibility` varchar(100) NOT NULL,
+  `category` varchar(100) NOT NULL,
+  `open` tinyint(4) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
 CREATE TABLE `phasesselected` (
   `projectName` varchar(100) NOT NULL,
   `phaseSelected` varchar(200) NOT NULL
@@ -87,9 +98,8 @@ CREATE TABLE `projects` (
   `name` varchar(100) NOT NULL,
   `password` varchar(400) NOT NULL,
   `active` tinyint(1) NOT NULL,
-  `timecreated` mediumtext NOT NULL,
+  `timecreated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
   `author` varchar(100) NOT NULL,
-  `adminPassword` varchar(400) NOT NULL,
   `phase` varchar(400) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -99,9 +109,9 @@ CREATE TABLE `projectuser` (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 CREATE TABLE `quiz` (
-  `author` varchar(400) NOT NULL,
-  `projectName` varchar(400) NOT NULL,
-  `question` varchar(400) NOT NULL,
+  `author` varchar(100) NOT NULL,
+  `projectName` varchar(200) NOT NULL,
+  `question` varchar(200) NOT NULL,
   `mcType` varchar(400) NOT NULL,
   `answer` varchar(400) NOT NULL,
   `correct` tinyint(1) NOT NULL
@@ -122,7 +132,7 @@ CREATE TABLE `submissionparts` (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 CREATE TABLE `tags` (
-  `projectName` varchar(100) NOT NULL,
+  `projectName` varchar(200) NOT NULL,
   `tag` varchar(400) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -134,8 +144,8 @@ CREATE TABLE `tasks` (
   `importance` varchar(100) DEFAULT NULL,
   `progress` varchar(100) DEFAULT NULL,
   `phase` varchar(100) DEFAULT NULL,
-  `created` timestamp ,
-  `due` timestamp ,
+  `created` timestamp NULL DEFAULT NULL,
+  `due` timestamp NULL DEFAULT NULL,
   `taskMode2` varchar(100) DEFAULT NULL,
   `taskMode3` varchar(100) DEFAULT NULL,
   `taskMode` varchar(100) DEFAULT NULL
@@ -151,9 +161,9 @@ CREATE TABLE `users` (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 CREATE TABLE `workrating` (
-  `projectName` varchar(400) NOT NULL,
-  `userName` varchar(400) NOT NULL,
-  `fromPeer` varchar(400) NOT NULL,
+  `projectName` varchar(200) NOT NULL,
+  `userEmail` varchar(100) NOT NULL,
+  `fromPeer` varchar(100) NOT NULL,
   `responsibility` int(11) NOT NULL,
   `partOfWork` int(11) NOT NULL,
   `cooperation` int(11) NOT NULL,
@@ -161,26 +171,47 @@ CREATE TABLE `workrating` (
   `autonomous` int(11) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
-CREATE TABLE submissionuser
-(
-    submissionId varchar(400),
-    userEmail varchar(255)
-);
-
 
 ALTER TABLE `annotations`
-  ADD PRIMARY KEY (`id`);
+  ADD PRIMARY KEY (`id`),
+  ADD KEY `annotations_fullsubmissions_id_fk` (`targetId`);
+
+ALTER TABLE `answeredquiz`
+  ADD KEY `answeredquiz_projects_name_fk` (`projectName`);
+
+ALTER TABLE `assessmentmechanismselected`
+  ADD KEY `assessmentmechanismselected_projects_name_fk` (`projectName`);
+
+ALTER TABLE `categoriesselected`
+  ADD KEY `categoriesselected_projects_name_fk` (`projectName`);
+
+ALTER TABLE `contributionrating`
+  ADD UNIQUE KEY `contributionrating_projectName_userName_fromPeer_uindex` (`projectName`,`userName`,`fromPeer`);
 
 ALTER TABLE `fullsubmissions`
-  ADD PRIMARY KEY (`id`);
+  ADD PRIMARY KEY (`id`),
+  ADD KEY `fullsubmissions_projects_name_fk` (`projectName`);
+
+ALTER TABLE `grades`
+  ADD UNIQUE KEY `grades_projectName_userName_uindex` (`projectName`,`userName`);
+
+ALTER TABLE `groupfindingmechanismselected`
+  ADD KEY `groupfindingmechanismselected_projects_name_fk` (`projectName`);
 
 ALTER TABLE `groups`
-  ADD PRIMARY KEY (`id`);
+  ADD PRIMARY KEY (`id`),
+  ADD KEY `groups_projects_name_fk` (`projectName`);
 
 ALTER TABLE `groupuser`
   ADD KEY `userEmail` (`userEmail`),
   ADD KEY `groupId` (`groupId`);
 
+ALTER TABLE `journals`
+  ADD PRIMARY KEY (`id`);
+
+ALTER TABLE `phasesselected`
+  ADD KEY `phasesselected_projectName_index` (`projectName`);
+
 ALTER TABLE `projects`
   ADD UNIQUE KEY `name` (`name`),
   ADD KEY `author` (`author`);
@@ -189,34 +220,85 @@ ALTER TABLE `projectuser`
   ADD KEY `userEmail` (`userEmail`),
   ADD KEY `projectName` (`projectName`);
 
+ALTER TABLE `quiz`
+  ADD KEY `quiz_question_projectName_author_index` (`question`,`projectName`,`author`),
+  ADD KEY `quiz_projects_name_fk` (`projectName`);
+
 ALTER TABLE `submissionpartbodyelements`
   ADD PRIMARY KEY (`fullSubmissionId`,`category`,`startCharacter`,`endCharacter`);
 
 ALTER TABLE `submissionparts`
   ADD PRIMARY KEY (`fullSubmissionId`,`category`);
 
+ALTER TABLE `tags`
+  ADD KEY `tags_projectName_index` (`projectName`);
+
+ALTER TABLE `tasks`
+  ADD UNIQUE KEY `tasks_userEmail_projectName_taskName_uindex` (`userEmail`,`projectName`,`taskName`),
+  ADD KEY `tasks_projects_name_fk` (`projectName`);
+
 ALTER TABLE `users`
   ADD UNIQUE KEY `email` (`email`);
 
+ALTER TABLE `workrating`
+  ADD UNIQUE KEY `workrating_projectName_userEmail_fromPeer_uindex` (`projectName`,`userEmail`,`fromPeer`);
+
 
 ALTER TABLE `groups`
-  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
+
+
+ALTER TABLE `annotations`
+  ADD CONSTRAINT `annotations_fullsubmissions_id_fk` FOREIGN KEY (`targetId`) REFERENCES `fullsubmissions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ALTER TABLE `answeredquiz`
+  ADD CONSTRAINT `answeredquiz_projects_name_fk` FOREIGN KEY (`projectName`) REFERENCES `projects` (`name`) ON DELETE CASCADE ON UPDATE CASCADE;
 
+ALTER TABLE `assessmentmechanismselected`
+  ADD CONSTRAINT `assessmentmechanismselected_projects_name_fk` FOREIGN KEY (`projectName`) REFERENCES `projects` (`name`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ALTER TABLE `categoriesselected`
+  ADD CONSTRAINT `categoriesselected_projects_name_fk` FOREIGN KEY (`projectName`) REFERENCES `projects` (`name`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ALTER TABLE `contributionrating`
+  ADD CONSTRAINT `contributionrating_projects_name_fk` FOREIGN KEY (`projectName`) REFERENCES `projects` (`name`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ALTER TABLE `fullsubmissions`
+  ADD CONSTRAINT `fullsubmissions_projects_name_fk` FOREIGN KEY (`projectName`) REFERENCES `projects` (`name`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ALTER TABLE `grades`
+  ADD CONSTRAINT `grades_projects_name_fk` FOREIGN KEY (`projectName`) REFERENCES `projects` (`name`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ALTER TABLE `groupfindingmechanismselected`
+  ADD CONSTRAINT `groupfindingmechanismselected_projects_name_fk` FOREIGN KEY (`projectName`) REFERENCES `projects` (`name`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ALTER TABLE `groups`
+  ADD CONSTRAINT `groups_projects_name_fk` FOREIGN KEY (`projectName`) REFERENCES `projects` (`name`) ON DELETE CASCADE ON UPDATE CASCADE;
 
 ALTER TABLE `groupuser`
   ADD CONSTRAINT `groupuser_ibfk_1` FOREIGN KEY (`userEmail`) REFERENCES `users` (`email`),
   ADD CONSTRAINT `groupuser_ibfk_2` FOREIGN KEY (`groupId`) REFERENCES `groups` (`id`);
 
+ALTER TABLE `phasesselected`
+  ADD CONSTRAINT `phasesselected_projects_name_fk` FOREIGN KEY (`projectName`) REFERENCES `projects` (`name`) ON DELETE CASCADE ON UPDATE CASCADE;
+
 ALTER TABLE `projects`
   ADD CONSTRAINT `projects_ibfk_1` FOREIGN KEY (`author`) REFERENCES `users` (`email`);
 
 ALTER TABLE `projectuser`
   ADD CONSTRAINT `projectuser_ibfk_1` FOREIGN KEY (`userEmail`) REFERENCES `users` (`email`),
   ADD CONSTRAINT `projectuser_ibfk_2` FOREIGN KEY (`projectName`) REFERENCES `projects` (`name`);
-COMMIT;
 
-CREATE UNIQUE INDEX fullsubmissions_user_projectName_uindex ON fullsubmissions (user, projectName);
+ALTER TABLE `quiz`
+  ADD CONSTRAINT `quiz_projects_name_fk` FOREIGN KEY (`projectName`) REFERENCES `projects` (`name`) ON DELETE CASCADE ON UPDATE CASCADE;
 
-CREATE UNIQUE INDEX tasks_userEmail_projectName_taskName_uindex ON tasks (userEmail, projectName, taskName);
+ALTER TABLE `tasks`
+  ADD CONSTRAINT `tasks_projects_name_fk` FOREIGN KEY (`projectName`) REFERENCES `projects` (`name`) ON DELETE CASCADE ON UPDATE CASCADE;
 
+ALTER TABLE `workrating`
+  ADD CONSTRAINT `workrating_projects_name_fk` FOREIGN KEY (`projectName`) REFERENCES `projects` (`name`) ON DELETE CASCADE ON UPDATE CASCADE;
+COMMIT;
 
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-- 
GitLab