diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java
index 3c238f6be74199530d2e17a37d65ce7244858bab..17049249f83b82a452f31e805723a65bf11f7678 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java
@@ -37,6 +37,13 @@ public interface Management {
      */
     void create(Project project);
 
+    /**
+     * create a Group in the database
+     *
+     * @param group
+     */
+    void create(Group group);
+
     /**
      * Delete a Project in the database
      *
@@ -114,8 +121,6 @@ public interface Management {
      */
     Project getProjectById(String id);
 
-    void createGroup(Group group, String projectId);
-
     void addGroupMember(User groupMember, int groupId);
 
     void deleteGroupMember(User groupMember, int groupId);
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java
index e644878dcdff5f89c64804e3974f9b3d2e91d477..c7aaeea34b0374b61d517cded8ef6aecda4d287d 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java
@@ -1,6 +1,5 @@
 package unipotsdam.gf.core.management;
 
-import sun.misc.IOUtils;
 import unipotsdam.gf.core.database.mysql.MysqlConnect;
 import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
 import unipotsdam.gf.core.management.group.Group;
@@ -10,17 +9,18 @@ import unipotsdam.gf.core.management.project.ProjectConfigurationDAO;
 import unipotsdam.gf.core.management.user.User;
 import unipotsdam.gf.core.management.user.UserInterests;
 import unipotsdam.gf.core.management.user.UserProfile;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 
 import javax.annotation.ManagedBean;
 import javax.annotation.Resource;
 import javax.inject.Singleton;
-import java.io.File;
 import java.io.FileInputStream;
 import java.sql.Blob;
 import java.sql.Timestamp;
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.UUID;
 
@@ -56,7 +56,6 @@ public class ManagementImpl implements Management {
         // TODO implmement UserProfile @Mar
     }
 
-    // TODO: naming convention discussion? all is named create, but group is named createGroup
     @Override
     public void create(Project project) {
         UUID uuid = UUID.randomUUID();
@@ -80,6 +79,9 @@ public class ManagementImpl implements Management {
         connect.connect();
         String mysqlRequest = "DELETE FROM projects where id = (?)";
         connect.issueInsertOrDeleteStatement(mysqlRequest, project.getId());
+
+        // TODO: delete all groups of project?
+
         connect.close();
     }
 
@@ -96,8 +98,11 @@ public class ManagementImpl implements Management {
     public void update(User user) {
         MysqlConnect connect = new MysqlConnect();
         connect.connect();
-        String mysqlRequest = "UPDATE `users` SET `name`=?,`password`=?,`email`=?,`token`=?,`isStudent`=?, `rocketChatId`=?,`rocketChatAuthToken`=? WHERE email=? LIMIT 1";
+        String mysqlRequest = "UPDATE `users` SET `name`=?,`password`=?,`email`=?,`token`=?,`isStudent`=?," +
+                "`rocketChatId`=?,`rocketChatAuthToken`=? WHERE email=? LIMIT 1";
         //TODO: maybe add handling if a line is actually updated
+        //TODO: if user is updated, it also must update all other tables which includes some information about the user, for example project user
+
         connect.issueUpdateStatement(mysqlRequest, user.getName(), user.getPassword(), user.getEmail(),
                 user.getToken(), user.getStudent(), user.getRocketChatId(), user.getRocketChatAuthToken(), user.getEmail());
         connect.close();
@@ -160,10 +165,11 @@ public class ManagementImpl implements Management {
         String name = vereinfachtesResultSet.getString("name");
         String password = vereinfachtesResultSet.getString("password");
         String email = vereinfachtesResultSet.getString("email");
+        String token = vereinfachtesResultSet.getString("token");
         String rocketChatId = vereinfachtesResultSet.getString("rocketChatId");
         String rocketChatAuthToken = vereinfachtesResultSet.getString("rocketChatAuthToken");
         Boolean isStudent = vereinfachtesResultSet.getBoolean("isStudent");
-        return new User(name, password, email, rocketChatId, rocketChatAuthToken, isStudent);
+        return new User(name, password, email, token, rocketChatId, rocketChatAuthToken, isStudent);
     }
 
     private Project getProjectFromResultSet(VereinfachtesResultSet vereinfachtesResultSet) {
@@ -175,18 +181,24 @@ public class ManagementImpl implements Management {
         String adminPassword = vereinfachtesResultSet.getString("adminpassword");
         String token = vereinfachtesResultSet.getString("token");
         String phase = vereinfachtesResultSet.getString("phase");
-        Project project = new Project(id, password, active, timestamp, author, adminPassword, token);
+        Project project = new Project(id, password, active, timestamp, author, adminPassword, token, ProjectPhase.valueOf(phase));
         ProjectPhase projectPhase = ProjectPhase.valueOf(phase);
         project.setPhase(projectPhase);
         return project;
     }
 
-    private Group getGroupFromResultSet(VereinfachtesResultSet vereinfachtesResultSet) {
+    private void fillGroupFromResultSet(VereinfachtesResultSet vereinfachtesResultSet, HashMap<Integer, Group> existingGroups) {
         int id = vereinfachtesResultSet.getInt("id");
-        String projectId = vereinfachtesResultSet.getString("projectId");
-        String chatRoomId = vereinfachtesResultSet.getString("chatRoomId");
-        // TODO: determine how to get all User
-        return new Group(id, new ArrayList<>(), projectId, chatRoomId);
+        if (existingGroups.containsKey(id)) {
+            existingGroups.get(id).addMember(getUserFromResultSet(vereinfachtesResultSet));
+        } else {
+            String projectId = vereinfachtesResultSet.getString("projectId");
+            User user = getUserFromResultSet(vereinfachtesResultSet);
+            String chatRoomId = vereinfachtesResultSet.getString("chatRoomId");
+            ArrayList<User> userList = new ArrayList<>(Collections.singletonList(user));
+            Group group = new Group(userList, projectId, chatRoomId);
+            existingGroups.put(id, group);
+        }
     }
 
     @Override
@@ -219,7 +231,7 @@ public class ManagementImpl implements Management {
 
     /**
      *
-     * @param field
+     *
      * @param value
      * @return
      */
@@ -261,56 +273,57 @@ public class ManagementImpl implements Management {
         }
     }
 
-
     @Override
-    public void createGroup(Group group, String projectId) {
+    public void create(Group group) {
         MysqlConnect connect = new MysqlConnect();
         connect.connect();
 
-        Project project = getProjectById(projectId);
+        String mysqlRequestGroup = "INSERT INTO groups (`projectId`,`chatRoomId`) values (?,?)";
+        connect.issueInsertOrDeleteStatement(mysqlRequestGroup, group.getProjectId(), group.getChatRoomId());
 
         for (User groupMember : group.getMembers()) {
             String mysqlRequest2 = "INSERT INTO groupuser (`userEmail`, `groupId`) values (?,?)";
-            connect.issueInsertOrDeleteStatement(mysqlRequest2, groupMember.getEmail(), project.getId());
+            connect.issueInsertOrDeleteStatement(mysqlRequest2, groupMember.getEmail(), group.getProjectId());
         }
         connect.close();
     }
 
     @Override
     public void addGroupMember(User groupMember, int groupId) {
-
+        // TODO: implement
     }
 
     @Override
     public void deleteGroupMember(User groupMember, int groupId) {
-
+        // TODO: implement
     }
 
     @Override
     public List<Group> getGroupsByProjectId(String projectId) {
         MysqlConnect connect = new MysqlConnect();
         connect.connect();
-        // TODO: implement correct join and finish implementation
         String mysqlRequest = "SELECT * FROM groups g " +
-                "JOIN groupuser gu u ON g.id=gu.groupId " + "JOIN users u ON gu.userEmail=u.email" +
+                "JOIN groupuser gu ON g.id=gu.groupId " + "JOIN users u ON gu.userEmail=u.email" +
                 "where g.projectId = ?";
         VereinfachtesResultSet vereinfachtesResultSet =
                 connect.issueSelectStatement(mysqlRequest, projectId);
-        ArrayList<Group> groups = new ArrayList<>();
+        HashMap<Integer, Group> groupHashMap = new HashMap<>();
         while (vereinfachtesResultSet.next()) {
-            //groups.add()
+            fillGroupFromResultSet(vereinfachtesResultSet, groupHashMap);
         }
+        ArrayList<Group> groups = new ArrayList<>();
+        groupHashMap.forEach((key, group) -> groups.add(group));
         if (groups.isEmpty()) {
             return null;
-        } else {
-            return groups;
         }
+
+        return groups;
     }
 
     @Override
     public void create(ProjectConfiguration projectConfiguration, Project project) {
         ProjectConfigurationDAO projectConfigurationDAO = new ProjectConfigurationDAO();
-        projectConfigurationDAO.persistProjectConfiguration(projectConfiguration,project);
+        projectConfigurationDAO.persistProjectConfiguration(projectConfiguration, project);
     }
 
     @Override
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig
new file mode 100644
index 0000000000000000000000000000000000000000..a9f8cae5c49aad332febf4bce32f0458125eb4a8
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig
@@ -0,0 +1,389 @@
+package unipotsdam.gf.core.management;
+
+import sun.misc.IOUtils;
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
+import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
+import unipotsdam.gf.core.management.group.Group;
+import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.core.management.project.ProjectConfiguration;
+import unipotsdam.gf.core.management.project.ProjectConfigurationDAO;
+import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.management.user.UserInterests;
+import unipotsdam.gf.core.management.user.UserProfile;
+import unipotsdam.gf.core.states.model.ProjectPhase;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
+
+import javax.annotation.ManagedBean;
+import javax.annotation.Resource;
+import javax.inject.Singleton;
+import java.io.File;
+import java.io.FileInputStream;
+import java.sql.Blob;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * Created by dehne on 31.05.2018.
+ */
+@ManagedBean
+@Resource
+@Singleton
+public class ManagementImpl implements Management {
+    @Override
+    public void delete(StudentIdentifier identifier) {
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String mysqlRequest = "DELETE FROM users where email = (?)";
+        connect.issueInsertOrDeleteStatement(mysqlRequest, identifier.getStudentId());
+        connect.close();
+    }
+
+    @Override
+    public void create(User user, UserProfile profile) {
+        UUID uuid = UUID.randomUUID();
+        String token = uuid.toString();
+
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String mysqlRequest = "INSERT INTO users (`name`, `password`, `email`, `token`,`isStudent`," +
+                "`rocketChatId`,`rocketChatAuthToken`) values (?,?,?,?,?,?,?)";
+        connect.issueInsertOrDeleteStatement(mysqlRequest, user.getName(), user.getPassword(), user.getEmail(),
+                token, user.getStudent(), user.getRocketChatId(), user.getRocketChatAuthToken());
+        connect.close();
+
+        // TODO implmement UserProfile @Mar
+    }
+
+    @Override
+    public void create(Project project) {
+        UUID uuid = UUID.randomUUID();
+        String token = uuid.toString();
+
+
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String mysqlRequest =
+                "INSERT INTO projects (`id`, `password`, `active`, `timecreated`, `author`, "
+                        + "`adminPassword`, `token`, `phase`) values (?,?,?,?,?,?,?,?)";
+        connect.issueInsertOrDeleteStatement(mysqlRequest, project.getId(), project.getPassword(), project.isActive(),
+                project.getTimecreated(), project.getAuthor(), project.getAdminPassword(), token, project.getPhase()
+                        == null ? ProjectPhase.CourseCreation : project.getPhase());
+        connect.close();
+    }
+
+    @Override
+    public void delete(Project project) {
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String mysqlRequest = "DELETE FROM projects where id = (?)";
+        connect.issueInsertOrDeleteStatement(mysqlRequest, project.getId());
+
+        // TODO: delete all groups of project?
+
+        connect.close();
+    }
+
+    @Override
+    public void register(User user, Project project, UserInterests interests) {
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String mysqlRequest = "INSERT INTO projectuser (`projectId`, `userId`) values (?,?)";
+        connect.issueInsertOrDeleteStatement(mysqlRequest, project.getId(), user.getId());
+        connect.close();
+    }
+
+    @Override
+    public void update(User user) {
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String mysqlRequest = "UPDATE `users` SET `name`=?,`password`=?,`email`=?,`token`=?,`isStudent`=?," +
+                "`rocketChatId`=?,`rocketChatAuthToken`=? WHERE email=? LIMIT 1";
+        //TODO: maybe add handling if a line is actually updated
+        //TODO: if user is updated, it also must update all other tables which includes some information about the user, for example project user
+
+        connect.issueUpdateStatement(mysqlRequest, user.getName(), user.getPassword(), user.getEmail(),
+                user.getToken(), user.getStudent(), user.getRocketChatId(), user.getRocketChatAuthToken(), user.getEmail());
+        connect.close();
+    }
+
+    @Override
+    public Boolean exists(User user) {
+        Boolean result;
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String mysqlRequest = "SELECT * FROM users where email = ? and password = ?";
+        VereinfachtesResultSet vereinfachtesResultSet =
+                connect.issueSelectStatement(mysqlRequest, user.getEmail(), user.getPassword());
+        result = vereinfachtesResultSet.next();
+        connect.close();
+        return result;
+    }
+
+    @Override
+    public Boolean exists(Project project) {
+        Boolean result;
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String mysqlRequest = "SELECT * FROM projects where id = ? and adminPassword = ?";
+        VereinfachtesResultSet vereinfachtesResultSet =
+                connect.issueSelectStatement(mysqlRequest, project.getId(), project.getAdminPassword());
+        result = vereinfachtesResultSet.next();
+        connect.close();
+        return result;
+    }
+
+    @Override
+    public List<User> getUsers(Project project) {
+        String query =
+                "SELECT * FROM users u "
+                        + " JOIN projectuser pu ON u.email=pu.userId"
+                        + " JOIN projects p ON pu.projectId = p.id"
+                        + " WHERE pu.projectId = ?";
+
+        ArrayList<User> result = new ArrayList<>();
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        VereinfachtesResultSet vereinfachtesResultSet = connect.issueSelectStatement(query, project.getId());
+        while (!vereinfachtesResultSet.isLast()) {
+            Boolean next = vereinfachtesResultSet.next();
+            if (next) {
+                User user = getUserFromResultSet(vereinfachtesResultSet);
+                String token = vereinfachtesResultSet.getString("token");
+                user.setToken(token);
+                result.add(user);
+            } else {
+                break;
+            }
+        }
+        connect.close();
+        return result;
+    }
+
+    private User getUserFromResultSet(VereinfachtesResultSet vereinfachtesResultSet) {
+        String name = vereinfachtesResultSet.getString("name");
+        String password = vereinfachtesResultSet.getString("password");
+        String email = vereinfachtesResultSet.getString("email");
+        String token = vereinfachtesResultSet.getString("token");
+        String rocketChatId = vereinfachtesResultSet.getString("rocketChatId");
+        String rocketChatAuthToken = vereinfachtesResultSet.getString("rocketChatAuthToken");
+        Boolean isStudent = vereinfachtesResultSet.getBoolean("isStudent");
+        return new User(name, password, email, token, rocketChatId, rocketChatAuthToken, isStudent);
+    }
+
+    private Project getProjectFromResultSet(VereinfachtesResultSet vereinfachtesResultSet) {
+        String id = vereinfachtesResultSet.getString("id");
+        String password = vereinfachtesResultSet.getString("password");
+        boolean active = vereinfachtesResultSet.getBoolean("active");
+        Timestamp timestamp = vereinfachtesResultSet.getTimestamp("timecreated");
+        String author = vereinfachtesResultSet.getString("author");
+        String adminPassword = vereinfachtesResultSet.getString("adminpassword");
+        String token = vereinfachtesResultSet.getString("token");
+        String phase = vereinfachtesResultSet.getString("phase");
+<<<<<<< HEAD
+        Project project = new Project(id, password, active, timestamp, author, adminPassword, token);
+        ProjectPhase projectPhase = ProjectPhase.valueOf(phase);
+        project.setPhase(projectPhase);
+        return project;
+=======
+
+        return new Project(id, password, active, timestamp, author, adminPassword, token, phase);
+>>>>>>> origin/#40_dummyProjectCreation
+    }
+
+    private void fillGroupFromResultSet(VereinfachtesResultSet vereinfachtesResultSet, HashMap<Integer, Group> existingGroups) {
+        int id = vereinfachtesResultSet.getInt("id");
+        if (existingGroups.containsKey(id)) {
+            existingGroups.get(id).addMember(getUserFromResultSet(vereinfachtesResultSet));
+        } else {
+            String projectId = vereinfachtesResultSet.getString("projectId");
+            User user = getUserFromResultSet(vereinfachtesResultSet);
+            String chatRoomId = vereinfachtesResultSet.getString("chatRoomId");
+            ArrayList<User> userList = new ArrayList<>(Collections.singletonList(user));
+            Group group = new Group(userList, projectId, chatRoomId);
+            existingGroups.put(id, group);
+        }
+    }
+
+    @Override
+    public String getUserToken(User user) {
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String mysqlRequest = "SELECT * FROM users where email = ? and password = ?";
+        VereinfachtesResultSet vereinfachtesResultSet =
+                connect.issueSelectStatement(mysqlRequest, user.getEmail(), user.getPassword());
+        boolean next = vereinfachtesResultSet.next();
+        if (!next) {
+            connect.close();
+            return null;
+        }
+        String token = vereinfachtesResultSet.getString("token");
+        connect.close();
+        return token;
+    }
+
+    @Override
+    public User getUserByToken(String token) {
+        return getUserByField("token", token);
+    }
+
+    @Override
+    public User getUserByEmail(String email) {
+        return getUserByField("email", email);
+    }
+
+
+    /**
+<<<<<<< HEAD
+     *
+     * @param field
+     * @param value
+     * @return
+     */
+=======
+     * TODO @Axel bitte in modules/asessment verschieben
+     *
+     * @param projectId
+     * @param quizId
+     * @return
+     */
+    public Quiz getQuizByProjectGroupId(String projectId, String quizId) {
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String mysqlRequest = "SELECT * FROM quiz where projectId=" + projectId + " , question=" + quizId;
+        VereinfachtesResultSet vereinfachtesResultSet =
+                connect.issueSelectStatement(mysqlRequest, "");
+        boolean next = vereinfachtesResultSet.next();
+        String question = "";
+        ArrayList<String> correctAnswers = new ArrayList<String>();
+        ArrayList<String> incorrectAnswers = new ArrayList<String>();
+        String answer = "";
+        Boolean correct = false;
+        String mcType = "";
+        while (next) {
+            mcType = vereinfachtesResultSet.getString("mcType");
+            question = vereinfachtesResultSet.getString("question");
+            answer = vereinfachtesResultSet.getString("answer");
+            correct = vereinfachtesResultSet.getBoolean("correct");
+            if (correct) {
+                correctAnswers.add(answer);
+            } else {
+                incorrectAnswers.add(answer);
+            }
+            next = vereinfachtesResultSet.next();
+        }
+        Quiz quiz = new Quiz(mcType, question, correctAnswers, incorrectAnswers);
+        connect.close();
+        return quiz;
+    }
+
+>>>>>>> origin/#40_dummyProjectCreation
+    private User getUserByField(String field, String value) {
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String mysqlRequest = "SELECT * FROM users where " + field + " = ?";
+        VereinfachtesResultSet vereinfachtesResultSet =
+                connect.issueSelectStatement(mysqlRequest, value);
+        boolean next = vereinfachtesResultSet.next();
+        if (next) {
+            User user = getUserFromResultSet(vereinfachtesResultSet);
+            connect.close();
+            return user;
+        } else {
+            connect.close();
+            return null;
+        }
+    }
+
+    @Override
+    public Project getProjectById(String id) {
+        if (id == null){
+            return null;
+        }
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String mysqlRequest = "SELECT * FROM projects where id = ?";
+        VereinfachtesResultSet vereinfachtesResultSet =
+                connect.issueSelectStatement(mysqlRequest, id);
+        boolean next = vereinfachtesResultSet.next();
+        if (next) {
+            Project project = getProjectFromResultSet(vereinfachtesResultSet);
+            connect.close();
+            return project;
+        } else {
+            connect.close();
+            return null;
+        }
+    }
+
+    @Override
+    public void create(Group group) {
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+
+        String mysqlRequestGroup = "INSERT INTO groups (`projectId`,`chatRoomId`) values (?,?)";
+        connect.issueInsertOrDeleteStatement(mysqlRequestGroup, group.getProjectId(), group.getChatRoomId());
+
+        for (User groupMember : group.getMembers()) {
+            String mysqlRequest2 = "INSERT INTO groupuser (`userEmail`, `groupId`) values (?,?)";
+            connect.issueInsertOrDeleteStatement(mysqlRequest2, groupMember.getEmail(), group.getProjectId());
+        }
+        connect.close();
+    }
+
+    @Override
+    public void addGroupMember(User groupMember, int groupId) {
+        // TODO: implement
+    }
+
+    @Override
+    public void deleteGroupMember(User groupMember, int groupId) {
+        // TODO: implement
+    }
+
+    @Override
+    public List<Group> getGroupsByProjectId(String projectId) {
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String mysqlRequest = "SELECT * FROM groups g " +
+                "JOIN groupuser gu ON g.id=gu.groupId " + "JOIN users u ON gu.userEmail=u.email" +
+                "where g.projectId = ?";
+        VereinfachtesResultSet vereinfachtesResultSet =
+                connect.issueSelectStatement(mysqlRequest, projectId);
+        HashMap<Integer, Group> groupHashMap = new HashMap<>();
+        while (vereinfachtesResultSet.next()) {
+            fillGroupFromResultSet(vereinfachtesResultSet, groupHashMap);
+        }
+        ArrayList<Group> groups = new ArrayList<>();
+        groupHashMap.forEach((key, group) -> groups.add(group));
+        if (groups.isEmpty()) {
+            return null;
+        }
+
+        return groups;
+    }
+
+    @Override
+    public void create(ProjectConfiguration projectConfiguration, Project project) {
+        ProjectConfigurationDAO projectConfigurationDAO = new ProjectConfigurationDAO();
+        projectConfigurationDAO.persistProjectConfiguration(projectConfiguration, project);
+    }
+
+    @Override
+    public ProjectConfiguration getProjectConfiguration(Project project) {
+        ProjectConfigurationDAO projectConfigurationDAO = new ProjectConfigurationDAO();
+        return projectConfigurationDAO.loadProjectConfiguration(project);
+    }
+
+    public String saveProfilePicture(FileInputStream image, String studentId){
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        Blob blobbedImage= (Blob) image;
+        String mysqlRequest = "INSERT INTO `profilepicture`(`studentId`, `image`) VALUES (?,?)";
+        connect.issueInsertOrDeleteStatement(mysqlRequest, studentId, blobbedImage);
+        return "success";
+    }
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/group/Group.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/group/Group.java
index ea56b43196cd93b3c87518dfa55ab58e2840c8b9..d98a0d85649f9c2fd76ca978c592a6f03b0307ce 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/group/Group.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/group/Group.java
@@ -2,6 +2,7 @@ package unipotsdam.gf.core.management.group;
 
 import unipotsdam.gf.core.management.user.User;
 
+import java.util.ArrayList;
 import java.util.List;
 
 public class Group {
@@ -14,10 +15,12 @@ public class Group {
     public Group() {
     }
 
+    public Group(String projectId) {
+        this(new ArrayList<>(), projectId);
+    }
+
     public Group(List<User> members, String projectId) {
-        this.members = members;
-        this.projectId = projectId;
-        this.chatRoomId = "";
+        this(members, projectId, "");
     }
 
     public Group(List<User> members, String projectId, String chatRoomId) {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/footer.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Footer.java
similarity index 93%
rename from gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/footer.java
rename to gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Footer.java
index 29d366cb5ad8af659610937da34707c4c70d6628..d517c79ebb58ca45a7df73d4430fe546c3e91722 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/footer.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Footer.java
@@ -1,7 +1,7 @@
 package unipotsdam.gf.core.management.pageAppearance;
 
 import unipotsdam.gf.core.management.ManagementImpl;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.jsp.JspWriter;
@@ -9,7 +9,7 @@ import javax.servlet.jsp.PageContext;
 import javax.servlet.jsp.tagext.SimpleTagSupport;
 import java.io.IOException;
 
-public class footer extends SimpleTagSupport {
+public class Footer extends SimpleTagSupport {
     public void doTag() throws IOException {
         PageContext pageContext = (PageContext) getJspContext();
         HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
@@ -22,7 +22,7 @@ public class footer extends SimpleTagSupport {
             projectPhase = null;
         }
         JspWriter out = getJspContext().getOut();
-        String footerString = "<footer>\n" +
+        String footerString = "<Footer>\n" +
                 "        <div class=\"container\">\n";
         if (projectPhase != null) {
             footerString += "        <div class=\"progress\">\n" +
@@ -48,7 +48,7 @@ public class footer extends SimpleTagSupport {
         footerString += "<button id=\"btnUnstructuredUpload\" class=\"btn btn-light\">Unstrukturierte Abgabe</button>\n" +
                 "<button id=\"footerBack\" class=\"btn btn-light\">zurück</button>\n" +
                 "        </div>\n" +
-                "    </footer>";
+                "    </Footer>";
         out.println(footerString);
     }
 }
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/headLine.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/HeadLine.java
similarity index 98%
rename from gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/headLine.java
rename to gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/HeadLine.java
index 36f2e74bcc9ebd0708ee4225d60a6c54a0a22a52..ea026238ac67bffb444d4b2107ac4460f1a3f546 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/headLine.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/HeadLine.java
@@ -9,7 +9,7 @@ import javax.servlet.jsp.PageContext;
 import javax.servlet.jsp.tagext.SimpleTagSupport;
 import java.io.IOException;
 
-public class headLine extends SimpleTagSupport {
+public class HeadLine extends SimpleTagSupport {
     public void doTag() throws IOException {
         PageContext pageContext = (PageContext) getJspContext();
         HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java
index 894babb0db1b7e6ba876ae5f0c700a9a0065792a..22c4f0446dd9a34a7fbd2a9d8cbe22e3dd6a7ec8 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java
@@ -2,7 +2,7 @@ package unipotsdam.gf.core.management.pageAppearance;
 
 import unipotsdam.gf.core.management.ManagementImpl;
 import unipotsdam.gf.core.management.user.User;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.jsp.JspWriter;
@@ -11,7 +11,10 @@ import javax.servlet.jsp.tagext.SimpleTagSupport;
 import java.io.IOException;
 
 public class Menu extends SimpleTagSupport {
+    private Integer hierarchyLevel = 0;
+
     public void doTag() throws IOException {
+        hierarchyLevel = getHierarchy();
         PageContext pageContext = (PageContext) getJspContext();
         HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
         String token = request.getParameter("token");
@@ -30,31 +33,31 @@ public class Menu extends SimpleTagSupport {
             if (isStudent){
                 String menuString = "<div id=\"sidebar-wrapper\">\n" +
                         "        <ul class=\"sidebar-nav\">\n" +
-                        "            <li class=\"sidebar-brand\"><a href=\"overview-student.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n" +
-                        "            <li><a href=\"profile.jsp?token="+token+"&projectId="+projectId+"\">Profil</a></li>\n";
+                        "            <li class=\"sidebar-brand\"><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"overview-student.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n" +
+                        "            <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"profile/profile.jsp?token="+token+"&projectId="+projectId+"\">Profil</a></li>\n";
                 if (projectPhase!=null){
                     if (projectPhase.equals(ProjectPhase.CourseCreation)){
                         menuString += "      <li><p>Quizfrage</p></li>\n" +
-                                "            <li><a href=\"eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
+                                "            <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"journal/eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
                                 "            <li><p>Beitrag</p></li>\n" +
                                 "            <li><p>Bewertung</p></li>\n";
                     }
                     if (projectPhase.equals(ProjectPhase.GroupFormation)){
                         menuString += "      <li><p>Quizfrage</p></li>\n" +
-                                "            <li><a href=\"eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
+                                "            <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"journal/eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
                                 "            <li><p>Beitrag</p></li>\n" +
                                 "            <li><p>Bewertung</p></li>\n";
                     }
                     if (projectPhase.equals(ProjectPhase.DossierFeedback)){
                         menuString += "      <li><p>Quizfrage</p></li>\n" +
-                                "            <li><a href=\"eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
-                                "            <li><a href=\"researchReportTitle.jsp?token="+token+"&projectId="+projectId+"\">Beitrag</a></li>\n" +
+                                "            <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"journal/eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
+                                "            <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"researchReport/create-title.jsp?token="+token+"&projectId="+projectId+"\">Beitrag</a></li>\n" +
                                 "            <li><p>Bewertung</p></li>\n";
                     }
                     if (projectPhase.equals(ProjectPhase.Execution)){
-                        menuString += "      <li><a href=\"Quiz.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" +
-                                "            <li><a href=\"eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
-                                "            <li><a href=\"researchReportTitle.jsp?token="+token+"&projectId="+projectId+"\">Beitrag</a></li>\n" +
+                        menuString += "      <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"assessment/Quiz.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" +
+                                "            <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"journal/eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
+                                "            <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"researchReport/create-title.jsp?token="+token+"&projectId="+projectId+"\">Beitrag</a></li>\n" +
                                 "            <li><p>Bewertung</p></li>\n";
                     }
                     if (projectPhase.equals(ProjectPhase.Assessment)){
@@ -74,16 +77,16 @@ public class Menu extends SimpleTagSupport {
             } else {
                 String menuString ="<div id=\"sidebar-wrapper\">\n" +
                         "        <ul class=\"sidebar-nav\">\n" +
-                        "            <li class=\"sidebar-brand\"><a href=\"overview-docent.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n";
+                        "            <li class=\"sidebar-brand\"><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"overview-docent.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n";
                 if (projectPhase!=null) {
                     if (!projectPhase.equals(ProjectPhase.GroupFormation)) {
-                        menuString += "<li><a href=\"Quiz-docent.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" +
+                        menuString += "<li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"assessment/Quiz-docent.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" +
                                 "      <li><p>Gruppen erstellen</p></li>\n" +
-                                "      <li><a href=\"changePhase.jsp?token="+token+"&projectId="+projectId+"\">Projektphase ändern</a></li>\n";
+                                "      <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"management/change-phase.jsp?token="+token+"&projectId="+projectId+"\">Projektphase ändern</a></li>\n";
                     }else {
-                        menuString += "<li><a href=\"Quiz-docent.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" +
-                                "      <li><a href=\"createGroups.jsp?token="+token+"&projectId="+projectId+"\">Gruppen erstellen</a></li>\n" +
-                                "      <li><a href=\"changePhase.jsp?token="+token+"&projectId="+projectId+"\">Projektphase ändern</a></li>\n";
+                        menuString += "<li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"assessment/quiz-docent.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" +
+                                "      <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"groupfinding/create-groups.jsp?token="+token+"&projectId="+projectId+"\">Gruppen erstellen</a></li>\n" +
+                                "      <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"management/change-phase.jsp?token="+token+"&projectId="+projectId+"\">Projektphase ändern</a></li>\n";
                     }
                 }
                 menuString +="<li><a id=\"logout\" style=\"cursor:pointer\">Logout</a></li>\n" +
@@ -103,10 +106,17 @@ public class Menu extends SimpleTagSupport {
         User user = management.getUserByToken(token);
         if (user != null)
             out.println("<p id=\"user\" hidden>"+user.getName()+"</p>");
+        out.println("<p id=\"hierarchyLevel\" hidden>"+hierarchyLevel.toString()+"</p>");
 
 
 
     }
 
+    public Integer getHierarchy() {
+        return hierarchyLevel;
+    }
 
+    public void setHierarchy(Integer hierarchyLevel) {
+        this.hierarchyLevel = hierarchyLevel;
+    }
 }
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/OmniDependencies.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/OmniDependencies.java
new file mode 100644
index 0000000000000000000000000000000000000000..4d3527caa8292371981881f7f17c524ee92f09a8
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/OmniDependencies.java
@@ -0,0 +1,47 @@
+package unipotsdam.gf.core.management.pageAppearance;
+
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+public class OmniDependencies extends SimpleTagSupport {
+    private Integer hierarchyLevel=0;
+
+    public void doTag() throws IOException {
+        hierarchyLevel = getHierarchy();
+        JspWriter out = getJspContext().getOut();
+        out.println("<meta charset=\"utf-8\">\n" +
+                "    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n" +
+                "    <title>fltrail</title>\n" +
+                "    <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\">\n" +
+                "    <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"libs/css/styles.css\">\n" +
+                "    <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"core/footer.css\">\n" +
+                "    <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js\"></script>\n" +
+                "    <script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\"></script>\n" +
+                "    <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"libs/fonts/font-awesome.min.css\">\n" +
+                "    <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"libs/css/Sidebar-Menu-1.css\">\n" +
+                "    <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"libs/css/Sidebar-Menu.css\">\n" +
+                "    <script src=\""+hierarchyToString(hierarchyLevel)+"core/utility.js\"></script>\n" +
+                "    <script src=\""+hierarchyToString(hierarchyLevel)+"core/footer.js\"></script>\n" +
+                "    <link rel=\"stylesheet\" href=\"https://use.fontawesome.com/releases/v5.1.0/css/all.css\"\n" +
+                "      integrity=\"sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt\" crossorigin=\"anonymous\">");
+    }
+
+    static public String hierarchyToString(Integer hierarchyLevel){
+        StringBuilder resultBuilder = new StringBuilder();
+        String result;
+        for(Integer count=0; count<hierarchyLevel; count++){
+            resultBuilder.append("../");
+        }
+        result = resultBuilder.toString();
+        return result;
+    }
+
+    public Integer getHierarchy() {
+        return hierarchyLevel;
+    }
+
+    public void setHierarchy(Integer hierarchyLevel) {
+        this.hierarchyLevel = hierarchyLevel;
+    }
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/omniDependencies.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/omniDependencies.java
deleted file mode 100644
index ac6ce6fcd31cfc5ae79f42c26bc644404077970d..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/omniDependencies.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package unipotsdam.gf.core.management.pageAppearance;
-
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
-import java.io.IOException;
-
-public class omniDependencies extends SimpleTagSupport {
-    public void doTag() throws IOException {
-        JspWriter out = getJspContext().getOut();
-        out.println("<meta charset=\"utf-8\">\n" +
-                "    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n" +
-                "    <title>fltrail</title>\n" +
-                "    <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\">\n" +
-                "    <link rel=\"stylesheet\" href=\"../assets/css/styles.css\">\n" +
-                "    <link rel=\"stylesheet\" href=\"../assets/css/footer.css\">\n" +
-                "    <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js\"></script>\n" +
-                "    <script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\"></script>\n" +
-                "    <link rel=\"stylesheet\" href=\"../assets/fonts/font-awesome.min.css\">\n" +
-                "    <link rel=\"stylesheet\" href=\"../assets/css/Sidebar-Menu-1.css\">\n" +
-                "    <link rel=\"stylesheet\" href=\"../assets/css/Sidebar-Menu.css\">\n" +
-                "    <script src=\"../assets/js/Sidebar-Menu.js\"></script>\n" +
-                "    <script src=\"../assets/js/utility.js\"></script>\n" +
-                "    <script src=\"../assets/js/footer.js\"></script>\n" +
-                "    <link rel=\"stylesheet\" href=\"https://use.fontawesome.com/releases/v5.1.0/css/all.css\"\n" +
-                "      integrity=\"sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt\" crossorigin=\"anonymous\">");
-    }
-}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java
index b329533304fc335bc6c0ccf69d8d8d577e15ad09..3a11a8401c8fd2b60ecff8327076f3f541fda20f 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java
@@ -1,6 +1,6 @@
 package unipotsdam.gf.core.management.project;
 
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 
 import java.sql.Timestamp;
 import java.time.LocalDateTime;
@@ -18,7 +18,6 @@ public class Project {
     private String author;
     private String adminPassword;
     private String token;
-    // using enum ProjectPhase
     private ProjectPhase phase;
 
     public Project() {
@@ -35,31 +34,9 @@ public class Project {
         this.setPhase(ProjectPhase.CourseCreation);
     }
 
-    public ProjectPhase getPhase() {
-        return phase;
-    }
-
-    /**
-     * setting phase only with enum
-     * @param phase
-     */
-    public void setPhase(ProjectPhase phase) {
-        this.phase = phase;
-    }
-
-    public Project(String id, String password, Boolean active, String author, String adminPassword, String token) {
-        this.id = id;
-        this.password = password;
-        this.active = active;
-        this.author = author;
-        this.adminPassword = adminPassword;
-        this.token = token;
-
-        this.timecreated = Timestamp.valueOf(LocalDateTime.now(ZoneId.of("UTC")));
-    }
-
-    public Project(String id, String password, Boolean active, Timestamp timecreated, String author,
-                   String adminPassword, String token) {
+    public Project(String id, String password, Boolean active,
+                   Timestamp timecreated, String author, String adminPassword,
+                   String token, ProjectPhase phase) {
         this.id = id;
         this.password = password;
         this.active = active;
@@ -67,6 +44,7 @@ public class Project {
         this.author = author;
         this.adminPassword = adminPassword;
         this.token = token;
+        this.phase = phase;
     }
 
     public String getId() {
@@ -117,11 +95,23 @@ public class Project {
         this.token = token;
     }
 
-
     public Timestamp getTimecreated() {
         return timecreated;
     }
 
+    public ProjectPhase getPhase() {
+        return phase;
+    }
+
+    /**
+     * setting phase only with enum
+     *
+     * @param phase
+     */
+    public void setPhase(ProjectPhase phase) {
+        this.phase = phase;
+    }
+
     @Override
     public String toString() {
         final StringBuilder sb = new StringBuilder("Project{");
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java
index cc66f5634f1f05f969fcd423c24ce9134d21a653..1324034548c14f1cb9948d56d6d86b0481eed353 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfiguration.java
@@ -1,6 +1,6 @@
 package unipotsdam.gf.core.management.project;
 
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.modules.assessment.AssessmentMechanism;
 import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism;
 import unipotsdam.gf.modules.peer2peerfeedback.Category;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java
index 6a9f147857cc89528fa38a08e85c878b8d474cf3..ee57c4b4e0fd90df768c4093c1c7911f0e2de90f 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectConfigurationDAO.java
@@ -2,13 +2,11 @@ package unipotsdam.gf.core.management.project;
 
 import unipotsdam.gf.core.database.mysql.MysqlConnect;
 import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
-import unipotsdam.gf.core.management.user.User;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.modules.assessment.AssessmentMechanism;
 import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism;
 import unipotsdam.gf.modules.peer2peerfeedback.Category;
 
-import java.util.ArrayList;
 import java.util.HashMap;
 
 public class ProjectConfigurationDAO {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/Menu.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/Menu.java
deleted file mode 100644
index 2c8ef86655468bdb480a69bdf52f9c8c8d24324c..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/Menu.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package unipotsdam.gf.core.management.user;
-
-import unipotsdam.gf.core.management.ManagementImpl;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.jsp.JspException;
-import javax.servlet.jsp.JspWriter;
-import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.tagext.SimpleTagSupport;
-import java.io.IOException;
-
-
-// TODO: please move this to a view package at the top of the hierarchy as this is not part of the user package
-public class Menu extends SimpleTagSupport {
-    public void doTag() throws JspException, IOException {
-        PageContext pageContext = (PageContext) getJspContext();
-        HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
-        String token = request.getParameter("token");
-        String projectId = request.getParameter("projectId");
-        ManagementImpl management = new ManagementImpl();
-        JspWriter out = getJspContext().getOut();
-        if (token!=null){
-            User user =  management.getUserByToken(token);
-            Boolean isStudent = user.getStudent();
-            if (isStudent){
-                out.println("<div id=\"sidebar-wrapper\">\n" +
-                        "        <ul class=\"sidebar-nav\">\n" +
-                        "            <li class=\"sidebar-brand\"><a href=\"overview-student.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n" +
-                        "            <li><a href=\"profile.jsp?token="+token+"&projectId="+projectId+"\">Profil</a></li>\n" +
-                        "            <li><a href=\"Quiz.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" +
-                        "            <li><a href=\"eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
-                        "            <li><a href=\"researchReportOverview.jsp?token="+token+"&projectId="+projectId+"\">Beitrag</a></li>\n" +
-                        "            <li><a href=\"finalAssessments.jsp?token="+token+"&projectId="+projectId+"\">Bewertung</a></li>\n" +
-                        "            <li><a href=\"../index.jsp\">Logout</a></li>\n" +
-                        "        </ul>\n" +
-                        "    </div>");
-            } else {
-                out.println("<div id=\"sidebar-wrapper\">\n" +
-                        "        <ul class=\"sidebar-nav\">\n" +
-                        "            <li class=\"sidebar-brand\"><a href=\"overview-docent.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n" +
-                        "            <li><a href=\"Quiz-docent.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" +
-                        "            <li><a href=\"#\">ePortfolio</a></li>\n" +
-                        "            <li><a href=\"#\">Beitrag</a></li>\n" +
-                        "            <li><a href=\"#\">Gruppen erstellen</a></li>\n" +
-                        "            <li><a href=\"#\">Projektphase ändern</a></li>\n" +
-                        "            <li><a href=\"finalAssessments.jsp?token="+token+"\">Bewertung</a></li>\n" +
-                        "            <li><a href=\"../index.jsp\">Logout</a></li>\n" +
-                        "        </ul>\n" +
-                        "    </div>");
-            }
-        }else{
-            out.println("<div class='alert alert-warning'>" +
-                    "You probably did not give the token to the url" +
-                    "</div>");
-            //in active System this will be the point to redirect to index.jsp, because token is "wrong"
-        }
-        if (projectId!=null)
-            out.println("<p id=\"projectId\" hidden>"+projectId+"</p>");
-        User user = management.getUserByToken(token);
-        if (user != null)
-            out.println("<p id=\"user\" hidden>"+user.getName()+"</p>");
-
-
-    }
-
-
-}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/User.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/User.java
index ef9531d231c70944f627ee6afbaeb26ee1eb5ac5..812cbe6c04522a18b5f469bbbf7fe1cc14e1a90f 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/User.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/User.java
@@ -20,20 +20,20 @@ public class User {
     }
 
     public User(String name, String password, String email, Boolean isStudent) {
-        this.name = name;
-        this.password = password;
-        this.email = email;
-        this.isStudent = isStudent;
-        this.rocketChatAuthToken = "";
-        this.rocketChatId = "";
+        this(name, password, email, "", "", isStudent);
     }
 
     public User(String name, String password, String email, String rocketChatId, String rocketChatAuthToken, Boolean isStudent) {
+        this(name, password, email, "", rocketChatAuthToken, rocketChatId, isStudent);
+    }
+
+    public User(String name, String password, String email, String token, String rocketChatAuthToken, String rocketChatId, Boolean isStudent) {
         this.name = name;
         this.password = password;
         this.email = email;
-        this.rocketChatId = rocketChatId;
+        this.token = token;
         this.rocketChatAuthToken = rocketChatAuthToken;
+        this.rocketChatId = rocketChatId;
         this.isStudent = isStudent;
     }
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java
index d5ecb66497c7e4d5588e945c3bc04de7c69019ae..5df13ac921258e35e664cda7c8d12d37101a8e68 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserService.java
@@ -1,8 +1,6 @@
 package unipotsdam.gf.core.management.user;
 
-import org.glassfish.grizzly.streams.BufferedInput;
 import unipotsdam.gf.core.management.ManagementImpl;
-import unipotsdam.gf.core.states.ProjectPhase;
 import unipotsdam.gf.interfaces.ICommunication;
 import unipotsdam.gf.modules.communication.service.CommunicationDummyService;
 
@@ -11,8 +9,6 @@ import javax.inject.Inject;
 import javax.ws.rs.*;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
-import java.awt.image.BufferedImage;
-import java.awt.image.BufferedImageOp;
 import java.io.File;
 import java.io.FileInputStream;
 import java.net.URI;
@@ -154,9 +150,9 @@ public class UserService {
     private Response redirectToProjectPage(User user, ManagementImpl management) throws URISyntaxException {
         String successUrl;
         if (user.getStudent() != null && user.getStudent()) {
-            successUrl = "../pages/overview-student.jsp?token=";
+            successUrl = "../overview-student.jsp?token=";
         } else {
-            successUrl = "../pages/overview-docent.jsp?token=";
+            successUrl = "../overview-docent.jsp?token=";
         }
         successUrl += management.getUserToken(user);
         return forwardToLocation(successUrl);
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java
index bdbac9ae7b6b1171b82063e4d34f320fadf242fd..7c60869c4da95d680d35d780eefbc71d63e32550 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/GFContext.java
@@ -2,7 +2,7 @@ package unipotsdam.gf.core.session;
 
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.modules.assessment.controller.model.Quiz;
 import unipotsdam.gf.modules.communication.model.chat.ChatRoom;
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java
index ed289b311cfa75b30f22102953bd3ea80d17b49e..685e6018bd27b08078e15765b3f52c1d92dac648 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java
@@ -2,13 +2,19 @@ package unipotsdam.gf.core.states;
 
 import unipotsdam.gf.core.database.mysql.MysqlConnect;
 import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.core.states.model.Constraints;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.interfaces.*;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
+import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy;
+import unipotsdam.gf.modules.communication.service.CommunicationDummyService;
+import unipotsdam.gf.modules.peer2peerfeedback.DummyFeedback;
 import unipotsdam.gf.view.Messages;
 
 import javax.annotation.ManagedBean;
-import javax.annotation.Resource;
 import javax.inject.Inject;
-import javax.inject.Singleton;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Created by dehne on 31.05.2018.
@@ -19,11 +25,11 @@ import javax.inject.Singleton;
 @ManagedBean
 public class PhasesImpl implements IPhases {
 
-    private IPeerAssessment iPeerAssessment;
+    private IPeerAssessment iPeerAssessment = new PeerAssessmentDummy();
 
-    private Feedback feedback;
+    private Feedback feedback = new DummyFeedback();
 
-    private ICommunication iCommunication;
+    private ICommunication iCommunication = new CommunicationDummyService();
 
     private IJournal iJournal;
 
@@ -45,8 +51,31 @@ public class PhasesImpl implements IPhases {
         this.iJournal = iJournal;
     }
 
+    /*Optionen für die Constraints:
+    Gesucht ist ein Objekt, welches man an den Dozenten übergibt, in dem die fehlenden Abgaben codiert sind
+
+    Als Map<StudentIdentifier, class Constraints>
+        + Immer wenn etwas nicht erfüllt wurde, speichert man es hier ab
+        - Jedes Interface bräuchte eine Funktion, die diese Datenstruktur bedient
+        - einige nutzlose Daten müssten mitgeschliffen werden
+        - Die variable wird immer wieder neu erzeugt und so sollte alles in der DB gespeichert sein!?
+    Constraints als Enum
+        + Die Funktionen der Interfaces checken ob dieser Constraint überall gilt
+        - Jedes Interface muss eine Funktion schreiben, die jeden Studenten untersucht.
+            Sinnvoller wäre nur die Studenten zurück zu geben, die die Constraint nicht erfüllen
+        - Enums können glaube keine Werte als Default tragen
+    Map<StudentIdentifier, String>
+        + Wenn Map keine Elemente trägt, ist alles erfüllt.
+        + zurück zu geben vom Interface wäre die Kennung (StudentIdentifier) und was fehlt (Constraint)
+        - Keine Default Werte
+
+
+    */
+
     @Override
-    public void endPhase(ProjectPhase changeToPhase, Project project) {
+    public void endPhase(ProjectPhase currentPhase, Project project) {
+        ProjectPhase changeToPhase = getNextPhase(currentPhase);
+        Map<StudentIdentifier, Constraints> tasks = new HashMap<>();
         switch (changeToPhase) {
             case CourseCreation:
                 // saving the state
@@ -59,6 +88,7 @@ public class PhasesImpl implements IPhases {
                 break;
             case DossierFeedback:
                 // check if everybody has uploaded a dossier
+
                 Boolean feedbacksGiven = feedback.checkFeedbackConstraints(project);
                 if (!feedbacksGiven) {
                     feedback.assigningMissingFeedbackTasks(project);
@@ -70,7 +100,8 @@ public class PhasesImpl implements IPhases {
                 break;
             case Execution:
                 // check if the portfolios have been prepared for evaluation (relevant entries selected)
-                Boolean portfoliosReady = iJournal.getPortfoliosForEvaluationPrepared(project);
+                // todo: Boolean portfoliosReady = iJournal.getPortfoliosForEvaluationPrepared(project);
+                Boolean portfoliosReady = true;
                 if (portfoliosReady) {
                     // inform users about the end of the phase
                     iCommunication.sendMessageToUsers(project, Messages.AssessmentPhaseStarted(project));
@@ -80,6 +111,15 @@ public class PhasesImpl implements IPhases {
                 }
                 break;
             case Assessment:
+                Boolean allAssessmentsDone = iPeerAssessment.allAssessmentsDone(project.getId());
+                if(allAssessmentsDone){
+                    iCommunication.sendMessageToUsers(project, Messages.CourseEnds(project));
+                    saveState(project, changeToPhase);
+                }else{
+                    iPeerAssessment.assignMissingAssessmentTasks(project);
+                }
+                break;
+            case Projectfinished:
                 closeProject();
                 break;
         }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java
index c0d45a7532c298206bfd8a3ef371cfd5ae4381a0..49a65404c45db5aab532b94f98eb1e7ef9f427f2 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java
@@ -2,16 +2,15 @@ package unipotsdam.gf.core.states;
 
 import unipotsdam.gf.core.management.Management;
 import unipotsdam.gf.core.management.ManagementImpl;
-import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.interfaces.IPhases;
 
-import javax.inject.Inject;
 import javax.ws.rs.*;
 import javax.ws.rs.core.MediaType;
 
 /**
  * REST API for switching phases
- * In order to look up the possible phases @see unipotsdam.gf.core.states.ProjectPhase
+ * In order to look up the possible phases @see unipotsdam.gf.core.states.model.ProjectPhase
  */
 @Path("/phases")
 public class PhasesService  {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/configPhaseShift.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/configPhaseShift.java
deleted file mode 100644
index b988f6f75f45b5bc04929a0cfe2d93b2fabd85a1..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/configPhaseShift.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package unipotsdam.gf.core.states;
-
-public class configPhaseShift {
-    Boolean DossierWritten;
-    Integer FeedbackCount =1;
-    Integer QuizCount =10;
-    Integer JournalCount=5;
-    Boolean DossierFinalized;
-    Boolean JournalFinalized;
-    Boolean AssessmentDone;
-}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/Constraints.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/Constraints.java
new file mode 100644
index 0000000000000000000000000000000000000000..ac413e63a173d5a8dbbbffbebb90267c06bc984f
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/Constraints.java
@@ -0,0 +1,34 @@
+package unipotsdam.gf.core.states.model;
+
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
+
+public class Constraints {
+
+    public static String DossierWritten(StudentIdentifier student){
+        return student.getStudentId()+" hat noch kein Dossier hochgeladen.";
+    }
+
+    public static String FeedbackCount(StudentIdentifier student){
+        return student.getStudentId()+" hat noch nicht das erwartete Feedack gegeben.";
+    }
+
+    public static String QuizCount(StudentIdentifier student){
+        return student.getStudentId()+" hat noch kein Quiz erstellt.";
+    }
+
+    public static String JournalCount(StudentIdentifier student){
+        return student.getStudentId()+" hat noch nicht genug Tagebucheinträge verfasst.";
+    }
+
+    public static String DossierFinalized(StudentIdentifier student){
+        return student.getStudentId()+" hat sein Dossier noch nicht finalisiert.";
+    }
+
+    public static String JournalFinalized(StudentIdentifier student){
+        return student.getStudentId()+" hat sein Tagebuch noch nicht finalisiert";
+    }
+
+    public static String AssessmentDone(StudentIdentifier student){
+        return student.getStudentId()+" hat die Bewertung noch nicht abgeschlossen.";
+    }
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ProjectPhase.java
similarity index 75%
rename from gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java
rename to gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ProjectPhase.java
index ba8bffad7c29716ddfd9bbb5f049e3f19b0241c4..433ef0c96077d32bea6c4194a41fd32f765ce8f8 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/ProjectPhase.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ProjectPhase.java
@@ -1,4 +1,4 @@
-package unipotsdam.gf.core.states;
+package unipotsdam.gf.core.states.model;
 
 public enum ProjectPhase {
     CourseCreation, GroupFormation, DossierFeedback, Execution, Assessment,
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java
index e53ddc887eac0127b51f629a31e14e7fc76586d6..6d28297f6abd51384a1cd68eeea02043e83948e4 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java
@@ -10,6 +10,8 @@ import unipotsdam.gf.modules.researchreport.ResearchReport;
 import java.io.File;
 import java.util.List;
 
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
+
 /**
  * Interface for learning journal
  */
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java
index b07b990870b655615e72a1447eb09df9df642e98..1892ec3961260ec76a97bf0fa2aa0362fdad5070 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java
@@ -1,5 +1,6 @@
 package unipotsdam.gf.interfaces;
 
+import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.modules.assessment.controller.model.*;
 
 import java.util.ArrayList;
@@ -42,6 +43,7 @@ public interface IPeerAssessment {
      * @param totalPerformance @return
      */
     Map<StudentIdentifier, Double> calculateAssessment(ArrayList<Performance> totalPerformance); // calculates marks for every performance and writes it to an array
+    Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method);
 
 
     /**
@@ -95,5 +97,8 @@ public interface IPeerAssessment {
     void deleteQuiz(String quizId);
 
     String whatToRate(StudentIdentifier student);
-    Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method);
+
+    Boolean allAssessmentsDone(String projectId);
+
+    void assignMissingAssessmentTasks(Project project);
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java
index 976d67d13cdbb82a565b704b9213a8ac6677495e..5a11474e0842860a5063e06f2dcb13a7645d6f77 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPhases.java
@@ -1,7 +1,7 @@
 package unipotsdam.gf.interfaces;
 
 import unipotsdam.gf.core.management.project.Project;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 
 public interface IPhases {
     /**
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java
index 7b269aa7f1059c0446d314714ffb38761f1d8e94..be42f1baa23fbece4fa842645201448c3fe0b6a9 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java
@@ -1,35 +1,78 @@
 package unipotsdam.gf.modules.assessment.controller.model;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
+import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
+import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.modules.assessment.controller.model.Performance;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
+
 import javax.xml.bind.annotation.XmlRootElement;
+import java.security.acl.Group;
 import java.util.ArrayList;
 
+
+
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.ArrayList;
+import java.util.Date;
+
 @XmlRootElement
 
 public class Assessment {
-    private StudentIdentifier student;
+    private StudentIdentifier student;// gemeint als Ziel der Bewertung, kann auch gruppe sein
+    @JsonIgnore
     private Performance performance;
 
+    private StudentIdentifier bewertender;
+    private String projektId;
+    private int bewertung;
+    private boolean adressat;
+    private Date deadline;
+
     public Assessment(StudentIdentifier student, Performance performance) {
         this.student = student;
         this.performance = performance;
     }
 
-    public Assessment(){}
+    public Assessment(boolean adressat,StudentIdentifier student, Date deadline, StudentIdentifier bewertender, String projektId, int bewertung) {
+        this.student = student;
+        this.deadline = deadline;
+        this.bewertender = bewertender;
+        this.projektId = projektId;
+        this.bewertung = bewertung;
+        this.adressat=adressat;
+    }
+
+    public Assessment() {
+    }
 
-    public ArrayList<Performance> getTotalAssessment() { return null; }
+    public ArrayList<Performance> getTotalAssessment() {
+        return null;
+    }
 
     public StudentIdentifier getStudent() {
         return student;
     }
 
+    public StudentIdentifier getBewertender() {
+        return bewertender;
+    }
+
+    public void setBewertender(StudentIdentifier bewertender) {
+        this.bewertender = bewertender;
+    }
+
     public void setStudent(StudentIdentifier student) {
         this.student = student;
     }
 
+    @JsonIgnore
     public Performance getPerformance() {
         return performance;
     }
-
+    @JsonIgnore
     public void setPerformance(Performance performance) {
         this.performance = performance;
     }
@@ -41,4 +84,52 @@ public class Assessment {
                 ", performance=" + performance +
                 '}';
     }
-}
+
+    public int getBewertung() {
+        return bewertung;
+    }
+
+    public void setBewertung(int bewertung) {
+        this.bewertung = bewertung;
+    }
+
+    public String getProjektId() {
+        return projektId;
+    }
+
+    public void setProjektId(String projektId) {
+        this.projektId = projektId;
+    }
+
+
+    public void setAssessment(Assessment assessment) {
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String mysqlRequest = "INSERT INTO assessments ( `adressat`, `deadline`, `erstellerId`,`empfaengerId`, `projektId`, `bewertung`) values (?,?,?,?,?,?)";
+        connect.issueInsertOrDeleteStatement(mysqlRequest,
+                assessment.isAdressat(),
+                assessment.getDeadline(),
+                assessment.getBewertender().getStudentId(),
+                assessment.getStudent().getStudentId(),
+                assessment.getProjektId(),
+                assessment.getBewertung()
+        );
+        connect.close();
+    }
+
+    public boolean isAdressat() {
+        return adressat;
+    }
+
+    public void setAdressat(boolean adressat) {
+        this.adressat = adressat;
+    }
+
+    public Date getDeadline() {
+        return deadline;
+    }
+
+    public void setDeadline(Date deadline) {
+        this.deadline = deadline;
+    }
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataDatasets.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataDatasets.java
new file mode 100644
index 0000000000000000000000000000000000000000..17beba2eed381316a22488217073ebe04af84c4e
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataDatasets.java
@@ -0,0 +1,73 @@
+package unipotsdam.gf.modules.assessment.controller.model;
+
+
+
+public class GroupEvalDataDatasets {
+    private String label;
+    private int[] data= new int[50];
+
+    private String borderColor= "rgba(0,255,0,0.2)";
+    private String backgroundColor= "rgba(0,255,0,0.2)";
+    private boolean fill=false;
+
+    public GroupEvalDataDatasets(){}
+
+    public GroupEvalDataDatasets(String label,int[] data, String backgroundColor, String borderColor, boolean fill){
+        this.backgroundColor=backgroundColor;
+        this.borderColor=borderColor;
+        this.data=data;
+        this.fill=fill;
+        this.label=label;
+    }
+    public  GroupEvalDataDatasets(String label, int[] data){
+
+        this.data=data;
+        this.label=label;
+    }
+
+    public int[] getData() {
+        return data;
+    }
+
+    public void setData(int[] data) {
+        this.data = data;
+    }
+/*
+    public void appendData(int data) {
+        this.data.add(data);
+    }
+*/
+    public String getBorderColor() {
+        return borderColor;
+    }
+
+    public void setBorderColor(String borderColor) {
+        this.borderColor = borderColor;
+    }
+
+    public String getBackgroundColor() {
+        return backgroundColor;
+    }
+
+    public void setBackgroundColor(String backgroundColor) {
+        this.backgroundColor = backgroundColor;
+    }
+
+    public boolean isFill() {
+        return fill;
+    }
+
+    public void setFill(boolean fill) {
+        this.fill = fill;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+}
+
+
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataList.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataList.java
new file mode 100644
index 0000000000000000000000000000000000000000..05f44bce99da488ba3a1f29a3cb441031e88db20
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDataList.java
@@ -0,0 +1,41 @@
+package unipotsdam.gf.modules.assessment.controller.model;
+import java.util.*;
+
+public class GroupEvalDataList {
+    private String[] labels ;
+
+    private List<GroupEvalDataDatasets> datasets = new ArrayList<>();
+
+    public GroupEvalDataList(){}
+    public GroupEvalDataList(String[] labels, List<GroupEvalDataDatasets> datasets){
+        this.datasets=datasets;
+        this.labels=labels;
+    }
+
+    public GroupEvalDataList(List<GroupEvalDataDatasets> datasets,String[] labels){
+        this.labels=labels;
+        this.datasets=datasets;
+    }
+
+
+    public List<GroupEvalDataDatasets> getDatasets() {
+        return datasets;
+    }
+
+    public void setDatasets(List<GroupEvalDataDatasets> dataset) {
+        this.datasets = dataset;
+    }
+
+    public String[] getLabels() {
+        return labels;
+    }
+
+    public void setLabels(String[] labels) {
+        this.labels = labels;
+    }
+
+    public void appendDataSet(GroupEvalDataDatasets data) {
+        this.datasets.add(data);
+
+    }
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammData.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammData.java
new file mode 100644
index 0000000000000000000000000000000000000000..67b8a15d28780375b88fa6e076b0c8c4814645c4
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammData.java
@@ -0,0 +1,123 @@
+package unipotsdam.gf.modules.assessment.controller.model;
+
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
+import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
+
+import javax.ws.rs.*;
+import javax.ws.rs.core.MediaType;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+@Path("/assessments4")
+
+public class GroupEvalDiagrammData {
+    private String type;
+    private GroupEvalDataList data;
+    private GroupEvalOption option;
+
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public GroupEvalDataList getData() {
+        return data;
+    }
+
+    public void setData(GroupEvalDataList data) {
+        this.data = data;
+    }
+    public GroupEvalDiagrammData(){}
+
+    public GroupEvalDiagrammData(String type, GroupEvalDataList data){
+        this.type=type;
+        this.data=data;
+    }
+
+    public GroupEvalOption getOption() {
+        return option;
+    }
+
+    public void setOption(GroupEvalOption option) {
+        this.option = option;
+    }
+
+    @POST
+    @Produces(MediaType.APPLICATION_JSON)
+    @Path("/diagramm1/{projectId}")
+    public GroupEvalDiagrammData getValuesFromDBByProjectID(@PathParam("projectId") String projectId)
+    {
+
+        //GruppenID muss noch irgendwie aus der Seite ausgelesen werden, wenn die dann mal dynamisch gefüllt wurde
+        GroupEvalDiagrammData diagramm= new GroupEvalDiagrammData();
+        GroupEvalOption option=new GroupEvalOption();
+        GroupEvalDiagrammLegende legende =new GroupEvalDiagrammLegende();
+
+        diagramm.setType("line");
+        diagramm.setOption(option);
+        legende.setDisplay(false);
+        option.setLegende(legende);
+
+
+        MysqlConnect connect = new MysqlConnect();
+        List<String> userNamen=new ArrayList<>();
+
+        GroupEvalDataDatasets datenSaetze = new GroupEvalDataDatasets();
+        GroupEvalDataList datenDia = new GroupEvalDataList();
+
+        diagramm.setData(datenDia);
+
+
+        connect.connect();
+
+        String mysqlRequestGroupuser = "SELECT * FROM `groupuser` WHERE `groupId`=? ";
+        VereinfachtesResultSet namenDerUser = connect.issueSelectStatement(mysqlRequestGroupuser,3);
+        List<Integer> bewertungenZwischen = new ArrayList<Integer>();
+        List<String> labelZwischen = new ArrayList<String>();
+
+        List<GroupEvalDataDatasets> hilfeBittefunktionierEndlich=new ArrayList<>();
+
+        while (namenDerUser.next()){
+            userNamen.add(namenDerUser.getString("userEmail"));
+        }
+        for (String anUserNamen : userNamen) {
+            String mysqlRequestAssessment = "SELECT * FROM `assessments` WHERE `empfaengerId`=?";
+            VereinfachtesResultSet bewertungDerUser = connect.issueSelectStatement(mysqlRequestAssessment, anUserNamen);
+
+            while (bewertungDerUser.next()) {
+                bewertungenZwischen.add(bewertungDerUser.getInt("bewertung"));
+                labelZwischen.add(String.valueOf(bewertungDerUser.getTimestamp("deadline")).substring(0,10));
+            }
+            int[] hilfeDaten = new int[bewertungenZwischen.size()];
+            for (int z = 0; z < labelZwischen.size(); z++) {
+                hilfeDaten[z] = bewertungenZwischen.get(z);
+            }
+
+
+
+            String[] hilfeLabel = new String[labelZwischen.size()];
+            for (int z = 0; z < labelZwischen.size(); z++) {
+                hilfeLabel[z] = labelZwischen.get(z);
+            }
+            hilfeBittefunktionierEndlich.add(new GroupEvalDataDatasets(anUserNamen,hilfeDaten));
+            datenSaetze.setData(hilfeDaten);
+            datenSaetze.setLabel(anUserNamen);
+            System.out.println(anUserNamen);
+            
+            bewertungenZwischen.clear();
+            labelZwischen.clear();
+            diagramm.setData(new GroupEvalDataList(hilfeLabel,hilfeBittefunktionierEndlich));
+        }
+
+        connect.close();
+
+
+
+        return diagramm;
+    }
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammLegende.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammLegende.java
new file mode 100644
index 0000000000000000000000000000000000000000..3f33ecd5869920e59e002233711e3ef6bab2dea9
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalDiagrammLegende.java
@@ -0,0 +1,14 @@
+package unipotsdam.gf.modules.assessment.controller.model;
+
+public class GroupEvalDiagrammLegende {
+    private boolean display;
+
+
+    public boolean isDisplay() {
+        return display;
+    }
+
+    public void setDisplay(boolean display) {
+        this.display = display;
+    }
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalOption.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalOption.java
new file mode 100644
index 0000000000000000000000000000000000000000..95d0d15834c58758cbad722e801349f5e5a3bd53
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/GroupEvalOption.java
@@ -0,0 +1,16 @@
+package unipotsdam.gf.modules.assessment.controller.model;
+
+
+
+public class GroupEvalOption {
+    private GroupEvalDiagrammLegende legende;
+
+    public GroupEvalDiagrammLegende getLegende() {
+        return legende;
+    }
+
+    public void setLegende(GroupEvalDiagrammLegende legende) {
+        this.legende = legende;
+    }
+
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PACalculate.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PACalculate.java
new file mode 100644
index 0000000000000000000000000000000000000000..fa81556965e51fa31c6112337ca8d9a111b38cf0
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PACalculate.java
@@ -0,0 +1,40 @@
+package unipotsdam.gf.modules.assessment.controller.model;
+import com.mysql.jdbc.Statement;
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
+import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
+
+import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.List;
+
+public class PACalculate {
+
+public List<Double> meanOfAssessments(String name, String projekt){
+    /*
+    Berechnet aus Namen und ProjektId das arithmetische Mittel der Bewertungen und gibt
+    eine Liste mit allen EInzelnoten und dem Mittel als letztem Eintrag zurück
+     */
+
+    double zwischenErgebnis=0.0;
+    double counter=0.0;
+    List<Double> results = new ArrayList<>();
+    MysqlConnect connect = new MysqlConnect();
+
+    connect.connect();
+    String mysqlRequest = "SELECT * FROM `assessments` WHERE `empfaengerId`=? AND `projektId`=?";
+
+    String nameDesKandidaten = name;
+    String projektDesKandidaten = projekt;
+    VereinfachtesResultSet ausgabe = connect.issueSelectStatement(mysqlRequest,nameDesKandidaten, projektDesKandidaten);
+
+    while (ausgabe.next()){
+        counter++;
+        zwischenErgebnis=zwischenErgebnis+ausgabe.getInt("bewertung");
+        results.add((double) ausgabe.getInt("bewertung"));
+    }
+    results.add(zwischenErgebnis/counter);
+    connect.close();
+    return results;
+
+}
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java
index 8283f9a231c6c558032e108968a4386d379d9b8c..866d46be26992a8be17bd44f4b2cb6823ca60d37 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java
@@ -1,5 +1,6 @@
 package unipotsdam.gf.modules.assessment.controller.service;
 
+import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.modules.assessment.controller.model.*;
 
 import java.util.ArrayList;
@@ -84,6 +85,16 @@ public class FBAssessement extends AssessmentDAO {
         return null;
     }
 
+    @Override
+    public Boolean allAssessmentsDone(String projectId) {
+        return null;
+    }
+
+    @Override
+    public void assignMissingAssessmentTasks(Project project) {
+
+    }
+
     @Override
     public Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method) {
         return null;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java
index d65c047ccced3756dd13292542eac5f58f09f901..871b3c94af79f47dc054d632240a8648ee0992af 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java
@@ -1,5 +1,6 @@
 package unipotsdam.gf.modules.assessment.controller.service;
 
+import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.interfaces.IPeerAssessment;
 import unipotsdam.gf.modules.assessment.controller.model.*;
 
@@ -59,6 +60,16 @@ public class PeerAssessment implements IPeerAssessment {
         return "done";
     }
 
+    @Override
+    public Boolean allAssessmentsDone(String projectId) {
+        return null;
+    }
+
+    @Override
+    public void assignMissingAssessmentTasks(Project project) {
+
+    }
+
     @Override
     public Map<StudentIdentifier, Double> calculateAssessment(ArrayList<Performance> totalPerformance) {
         Map<StudentIdentifier, Double> quizMean = new HashMap<>(quizGrade(totalPerformance));
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java
index 74bac433e2e831ea9fe23b6d18a754c66490e517..a5cb9fae5bdddcc98bf3b438665e17860e50a969 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java
@@ -2,12 +2,14 @@ package unipotsdam.gf.modules.assessment.controller.service;
 
 import unipotsdam.gf.assignments.Assignee;
 import unipotsdam.gf.assignments.NotImplementedLogger;
+import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.interfaces.IPeerAssessment;
 import unipotsdam.gf.modules.assessment.controller.model.*;
 
 import java.util.*;
 
 public class PeerAssessmentDummy implements IPeerAssessment {
+
     @Override
     public void addAssessmentDataToDB(Assessment assessment) {
     }
@@ -33,10 +35,8 @@ public class PeerAssessmentDummy implements IPeerAssessment {
             incorrectAnswers.add("alle beide");
             sampleQuiz = new Quiz("multiple", "Ist das nun des Pudels wahrer Kern?", correctAnswers, incorrectAnswers);
         }
-
         return sampleQuiz;
     }
-
     public ArrayList<Quiz> getQuiz(String projectId) {
         ArrayList<String> correctAnswers = new ArrayList<>();
         ArrayList<String> incorrectAnswers = new ArrayList<>();
@@ -89,6 +89,16 @@ public class PeerAssessmentDummy implements IPeerAssessment {
         return null;
     }
 
+    @Override
+    public Boolean allAssessmentsDone(String projectId) {
+        return true;
+    }
+
+    @Override
+    public void assignMissingAssessmentTasks(Project project) {
+
+    }
+
     @Override
     public Map<StudentIdentifier, Double> calculateAssessment(String projectId, String method) {
         return null;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/AssessmentView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/AssessmentView.java
new file mode 100644
index 0000000000000000000000000000000000000000..2a603937709464ce3e5d823c67d8628827c1bf59
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/AssessmentView.java
@@ -0,0 +1,57 @@
+package unipotsdam.gf.modules.assessment.controller.view;
+
+import unipotsdam.gf.interfaces.IPeerAssessment;
+import unipotsdam.gf.modules.assessment.controller.model.Assessment;
+import unipotsdam.gf.modules.assessment.controller.model.*;
+import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy;
+
+
+import javax.ws.rs.*;
+import javax.ws.rs.core.MediaType;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Path("/assessments2")
+public class AssessmentView{
+    private static IPeerAssessment peer =  new PeerAssessmentDummy();
+    @POST
+    @Consumes(MediaType.APPLICATION_JSON)
+    @Produces(MediaType.APPLICATION_JSON)
+    @Path("/calculate3")
+    public Map<StudentIdentifier, Double> calculateAssessment(ArrayList<Performance> totalPerformance) {
+        return peer.calculateAssessment(totalPerformance);
+    }
+
+    @POST
+    @Consumes(MediaType.APPLICATION_JSON)
+    @Produces(MediaType.TEXT_PLAIN)
+    @Path("/calculate2")
+    public String testDesReturn(Assessment assessment){
+        Assessment shuttle = new Assessment();  //neues Objekt, dass dann bearbeitet werden kann
+        //System.out.println(assessment.getBewertung());
+        shuttle.setAssessment(assessment);      //inhalte werden in die DB geschrieben und es wird erfolg zurückgemeldet
+        return "1";
+    }
+
+
+
+
+
+    /*}
+    @GET
+    @Consumes(MediaType.APPLICATION_JSON)
+    @Path("dummy/calculate2")
+    public Assessment dummyAssessment(){
+        StudentIdentifier student = new StudentIdentifier("projectID", "StudentId");
+        Performance performance;
+        StudentIdentifier bewertender;
+        String projektId;
+        int bewertung;
+         boolean adressat;
+        Date deadline;
+        Assessment shuttle = new Assessment(student, )
+
+        return null;
+    }*/
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java
index 1a484981db9ba3e13241412482670db23acd32af..f897c2561574cf9d896ce445d6879d8bc74443f4 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java
@@ -5,6 +5,7 @@ import unipotsdam.gf.core.management.ManagementImpl;
 import unipotsdam.gf.interfaces.IPeerAssessment;
 import unipotsdam.gf.interfaces.IPhases;
 import unipotsdam.gf.modules.assessment.QuizAnswer;
+import unipotsdam.gf.modules.assessment.controller.model.Assessment;
 import unipotsdam.gf.modules.assessment.controller.model.*;
 import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment;
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java
index 5238e9530cee936020be2d577c172fffaba79e7c..09fba126c48b52b04893ac4d08a4f207ffe478a5 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java
@@ -38,10 +38,8 @@ public class GroupCreationService {
             management.create(project);
         }
 
-        groups.forEach(group -> management.createGroup(group, project.getId()));
-
+        groups.forEach(group -> management.create(group));
         // TODO: read List<Group> of database to get Id for chatRoomName (Should be ProjectName - GroupId)
-        // TODO: add projectName as DatabaseEntry
         // TODO: implement sql service injection for, so connection is only done once in app
 
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java
index 443ce212400945a30640d7b3213233a3ed4e6e1f..0bf9d071c9cdeed87676e3570771afc632324aca 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java
@@ -16,11 +16,12 @@ import java.util.ArrayList;
 public class DummyFeedback implements Feedback {
 
     /**
-     * Utility to creaty dummy data for students
+     * Utility to create dummy data for students
      */
     PodamFactory factory = new PodamFactoryImpl();
 
     private static Boolean missingTaskAssigned = false;
+    private Boolean constraintsFulfilled = false;
 
 
     public DummyFeedback() {
@@ -52,10 +53,11 @@ public class DummyFeedback implements Feedback {
 
     @Override
     public Boolean checkFeedbackConstraints(Project project) {
-        // TODO implement cornstaints
+        // TODO implement constraints
         NotImplementedLogger.logAssignment(Assignee.KATHARINA, Feedback.class, "check Feedback constraints",
                 "checking feedback constraints ");
-        return missingTaskAssigned;
+        constraintsFulfilled = true;
+        return constraintsFulfilled;
     }
 
     @Override
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java
index 986c7d741e87d479673663e4afccd5d685bc2249..cffc1eae0018d01365f794eef5bc54ac21c69831 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/view/Messages.java
@@ -17,4 +17,9 @@ public class Messages {
         // TODO add link to site + markup
         return "Die Bewertungsphase hat begonnen. Bitte geht auf ... und macht ....";
     }
+
+    public static String CourseEnds(Project project) {
+        // TODO add link to site + markup
+        return "Die Bewertung ist abgeschlossen. Sie erhalten ihre Bewertung in Kürze.";
+    }
 }
diff --git a/gemeinsamforschen/src/main/webapp/pages/annotation-document.jsp b/gemeinsamforschen/src/main/webapp/annotation/annotation-document.jsp
similarity index 90%
rename from gemeinsamforschen/src/main/webapp/pages/annotation-document.jsp
rename to gemeinsamforschen/src/main/webapp/annotation/annotation-document.jsp
index d8e499fe40ffe6c526d9785794e086efae0434a0..0e876cb6f11fbe73434b153a6ccb834b0bf61ada 100644
--- a/gemeinsamforschen/src/main/webapp/pages/annotation-document.jsp
+++ b/gemeinsamforschen/src/main/webapp/annotation/annotation-document.jsp
@@ -1,16 +1,17 @@
 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 
 <!DOCTYPE html>
 <html>
 
+
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
 
     <!-- css - annotationStyle -->
-    <link rel="stylesheet" type="text/css" href="../assets/css/annotationStyle.css">
+    <link rel="stylesheet" type="text/css" href="css/annotationStyle.css">
     <!-- css - contextMenu -->
     <link href="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.contextMenu.css" rel="stylesheet" type="text/css" />
 
@@ -26,21 +27,19 @@
     <script src="https://cdnjs.cloudflare.com/ajax/libs/rangy/1.3.0/rangy-core.js" type="text/javascript"></script>
     <!-- js - rangy TextRange Module -->
     <script src="https://cdnjs.cloudflare.com/ajax/libs/rangy/1.3.0/rangy-textrange.js" type="text/javascript"></script>
-    <!-- js - utility -->
-    <script src="../assets/js/utility.js"></script>
     <!-- js - annotation websocket script -->
-    <script src="../assets/js/annotationWebsocket.js"></script>
+    <script src="js/annotationWebsocket.js"></script>
     <!-- js - annotation REST script -->
-    <script src="../assets/js/annotationRest.js"></script>
+    <script src="js/annotationRest.js"></script>
     <!-- js - unstructuredRest -->
-    <script src="../assets/js/unstructuredRest.js"></script>
+    <script src="js/unstructuredRest.js"></script>
     <!-- js - annotationScript -->
-    <script src="../assets/js/annotationScript.js"></script>
+    <script src="js/annotationScript.js"></script>
 </head>
 
 <body>
     <div id="wrapper" class="full-height">
-        <menu:menu></menu:menu>
+        <menu:menu hierarchy="1"/>
         <div class="page-content-wrapper full-height">
             <div class="container-fluid full-height">
                 <div class="container-fluid-content">
@@ -62,6 +61,7 @@
                             </div>
                         </div>
                         <div class="rightcolumn">
+                            <input type="text" id="annotation-search" onkeyup="searchAnnotation()" placeholder="Suchen...">
                             <div class="rightcontent">
                                 <ol id="annotations">
                                 </ol>
diff --git a/gemeinsamforschen/src/main/webapp/pages/unstructured-annotation.jsp b/gemeinsamforschen/src/main/webapp/annotation/create-unstructured-annotation.jsp
similarity index 90%
rename from gemeinsamforschen/src/main/webapp/pages/unstructured-annotation.jsp
rename to gemeinsamforschen/src/main/webapp/annotation/create-unstructured-annotation.jsp
index 94b29c07de3adfa1681dd11423e4607e69700e7e..4d78a097050806769b7354d62dfb0e18fd2c7561 100644
--- a/gemeinsamforschen/src/main/webapp/pages/unstructured-annotation.jsp
+++ b/gemeinsamforschen/src/main/webapp/annotation/create-unstructured-annotation.jsp
@@ -1,16 +1,16 @@
 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 
 <!DOCTYPE html>
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
 
     <!-- css - unstructured-annotation -->
-    <link rel="stylesheet" type="text/css" href="../assets/css/unstructured-annotation.css">
+    <link rel="stylesheet" type="text/css" href="css/unstructured-annotation.css">
     <!-- css - contextMenu -->
     <link href="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.contextMenu.css" rel="stylesheet" type="text/css" />
 
@@ -25,16 +25,16 @@
     <!-- js - rangy TextRange Module -->
     <script src="https://cdnjs.cloudflare.com/ajax/libs/rangy/1.3.0/rangy-textrange.js" type="text/javascript"></script>
     <!-- js - unstructuredRest -->
-    <script src="../assets/js/unstructuredRest.js"></script>
+    <script src="js/unstructuredRest.js"></script>
     <!-- js - unstructuredUpload -->
-    <script src="../assets/js/unstructuredAnnotation.js"></script>
+    <script src="js/unstructuredAnnotation.js"></script>
 
 
 </head>
 
 <body>
 <div id="wrapper" class="full-height">
-    <menu:menu></menu:menu>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper full-height">
         <div class="container-fluid full-height">
             <div class="container-fluid-content">
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/annotationStyle.css b/gemeinsamforschen/src/main/webapp/annotation/css/annotationStyle.css
similarity index 92%
rename from gemeinsamforschen/src/main/webapp/assets/css/annotationStyle.css
rename to gemeinsamforschen/src/main/webapp/annotation/css/annotationStyle.css
index a9ed0b540fd86a20c6375dfd3e602bd0d0f8a35b..9e618c7d558bef2e5e8c6e4adcfe93b92e8b7f54 100644
--- a/gemeinsamforschen/src/main/webapp/assets/css/annotationStyle.css
+++ b/gemeinsamforschen/src/main/webapp/annotation/css/annotationStyle.css
@@ -17,7 +17,8 @@ ol {
 .rightcolumn {
     float: right;
     width: 25%;
-    display: inline-block;
+    display: flex;
+    flex-flow: column;
     overflow: scroll;
     /* background-color: blue; */
 }
@@ -29,7 +30,9 @@ ol {
     /* background-color: yellow; */
 }
 .rightcontent {
-    margin: 10px;
+    padding: 10px;
+    flex: 1;
+    overflow: scroll;
 }
 .leftcontent {
     max-height: 100%;
@@ -51,7 +54,7 @@ ol {
     background-color: white;
 }
 .annotation-card:hover {
-    box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
+    box-shadow: 0 8px 12px 0 rgba(0,0,0,0.2);
 }
 .annotation-header {
     padding: 5px;
@@ -164,4 +167,9 @@ ol {
     color: black;
     font-weight: bold;
 }
+#annotation-search {
+    width: 100%;
+    padding: 5px;
+    font-size: 11px;
+}
 
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/unstructured-annotation.css b/gemeinsamforschen/src/main/webapp/annotation/css/unstructured-annotation.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/unstructured-annotation.css
rename to gemeinsamforschen/src/main/webapp/annotation/css/unstructured-annotation.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/unstructured-upload.css b/gemeinsamforschen/src/main/webapp/annotation/css/unstructured-upload.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/unstructured-upload.css
rename to gemeinsamforschen/src/main/webapp/annotation/css/unstructured-upload.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/annotationRest.js b/gemeinsamforschen/src/main/webapp/annotation/js/annotationRest.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/annotationRest.js
rename to gemeinsamforschen/src/main/webapp/annotation/js/annotationRest.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/annotationScript.js b/gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js
similarity index 92%
rename from gemeinsamforschen/src/main/webapp/assets/js/annotationScript.js
rename to gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js
index b6f25d8c8adba325836a6a282a147429b155dd34..54470a0048359ab9324f489e4311aef213b834df 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/annotationScript.js
+++ b/gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js
@@ -68,14 +68,14 @@ $(document).ready(function() {
      * continue button
      */
     $('#btnContinue').click(function () {
-        location.href="givefeedback.jsp?token=" + getUserTokenFromUrl();
+        location.href="../feedback/give-feedback.jsp?token=" + getUserTokenFromUrl();
     });
 
     /**
      * back button
      */
     $('#btnBack').click(function () {
-        location.href="project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
+        location.href="../project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
     });
 
     /**
@@ -267,10 +267,30 @@ function displayAnnotation(annotation) {
         dateIcon = "fas fa-clock";
     }
 
+    // declare variables
+    let display, input, filter, user, title, comment;
+    input = $('#annotation-search');
+    filter = input.val().toLowerCase();
+
+    user = annotation.userToken.toLowerCase();
+    title = annotation.body.title.toLowerCase();
+    comment = annotation.body.comment.toLowerCase();
+
+    // hiding based on user, title and comment
+    if (user.indexOf(filter) > -1 ||
+        title.indexOf(filter) > -1 ||
+        comment.indexOf(filter) > -1) {
+        display = ''
+    }
+    else {
+        display = 'none'
+    }
+
     // insert annotation card
     list.prepend(
         // list element
         $('<li>')
+            .css('display', display)
             .attr('class', 'listelement')
             .append(
                 // annotation card
@@ -296,7 +316,7 @@ function displayAnnotation(annotation) {
                                                 $('<i>').attr('class', 'fas fa-user')
                                             )
                                             .append(
-                                                $('<span>').append(annotation.userToken)
+                                                $('<span>').attr('class', 'annotation-header-data-user').append(annotation.userToken)
                                             )
                                     )
                                     .append(
@@ -371,11 +391,9 @@ function displayAnnotation(annotation) {
             .mouseleave(function () {
                 deleteHighlightedText();
             })
-            .append(function () {
-                if ($('#annotations li').filter( ".listelement" ).length > 0) {
-                    return $('<div>').attr('class', 'spacing')
-                }
-            })
+            .append(
+                $('<div>').attr('class', 'spacing')
+            )
     );
 }
 
@@ -791,3 +809,32 @@ function isAnnotationInRange(start, end) {
     }
     return false;
 }
+
+/**
+ * Display or hide annotations based on filter string
+ */
+function searchAnnotation() {
+    // declare variables
+    let input, filter;
+    input = $('#annotation-search');
+    filter = input.val().toLowerCase();
+
+    // iterate over annotation card and hide those who don't match the search query
+    $('#annotations').find('li').each(function () {
+        let user, title, comment;
+        user = $(this).find('.annotation-header-data-user').text().toLowerCase();
+        title = $(this).find('.annotation-header-data-title').text().toLowerCase();
+        comment = $(this).find('.annotation-body-text').text().toLowerCase();
+
+        // hiding based on user, title and comment
+        if (user.indexOf(filter) > -1 ||
+            title.indexOf(filter) > -1 ||
+            comment.indexOf(filter) > -1) {
+            $(this).css('display', '')
+        }
+        else {
+            $(this).css('display', 'none')
+        }
+    });
+
+}
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/annotationWebsocket.js b/gemeinsamforschen/src/main/webapp/annotation/js/annotationWebsocket.js
similarity index 96%
rename from gemeinsamforschen/src/main/webapp/assets/js/annotationWebsocket.js
rename to gemeinsamforschen/src/main/webapp/annotation/js/annotationWebsocket.js
index 5c3ced1b8d2017cf5e7365a17306d90c6ba37d49..585b09c007d0a3a28bf8c9a802fec7397fbe9974 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/annotationWebsocket.js
+++ b/gemeinsamforschen/src/main/webapp/annotation/js/annotationWebsocket.js
@@ -8,7 +8,6 @@ function connect(targetId, targetCategory) {
 
     ws.onmessage = function (e) {
         var message = JSON.parse(e.data);
-        console.log(message.from)
 
         if (message.type === "CREATE") {
             // get annotation from server
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createJournal.js b/gemeinsamforschen/src/main/webapp/annotation/js/createJournal.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/createJournal.js
rename to gemeinsamforschen/src/main/webapp/annotation/js/createJournal.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/unstructuredAnnotation.js b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredAnnotation.js
similarity index 97%
rename from gemeinsamforschen/src/main/webapp/assets/js/unstructuredAnnotation.js
rename to gemeinsamforschen/src/main/webapp/annotation/js/unstructuredAnnotation.js
index f420bbbd12047f018cbba3c6c4d306e03b3cf3e3..a8ab85a55c8050287ac9228165ec1b0538659db7 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/unstructuredAnnotation.js
+++ b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredAnnotation.js
@@ -26,7 +26,7 @@ $(document).ready(function() {
 
     }, function () {
         // jump to upload page on error
-        location.href="unstructured-upload.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
+        location.href="upload-unstructured-annotation.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
     });
 
     // set click listener to save button
@@ -285,7 +285,7 @@ function saveButtonHandler() {
 
         $.when.apply($, promises).then(function () {
             // redirect user to project page after saving
-            location.href="project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
+            location.href="../project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
         });
 
         // redirect user to project page after saving
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/unstructuredRest.js b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredRest.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/unstructuredRest.js
rename to gemeinsamforschen/src/main/webapp/annotation/js/unstructuredRest.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/unstructuredUpload.js b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js
similarity index 76%
rename from gemeinsamforschen/src/main/webapp/assets/js/unstructuredUpload.js
rename to gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js
index 66ef3253fb067df445fa217227415361f9b0ed33..2148e5cb04d95a8280dc4af60579aa8f6bdfa2e8 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/unstructuredUpload.js
+++ b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js
@@ -23,7 +23,7 @@ $(document).ready(function() {
                 $('#upload-textarea').val("");
 
                 // jump to next page
-                location.href="unstructured-annotation.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId") + "&submission=" + response.id;
+                location.href="create-unstructured-annotation.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId") + "&submission=" + response.id;
             });
         }
     });
@@ -37,15 +37,15 @@ $(document).ready(function() {
                 $('#upload-textarea').val("");
 
                 // jump to previous page
-                window.history.back();
-                //location.href="project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getProjectIdFromUrl();
+                //window.history.back();
+                location.href="../project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
             }
         }
         // nothing to check
         else {
             // jump to previous page
-            window.history.back();
-            //location.href="project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getProjectIdFromUrl();
+            //window.history.back();
+            location.href="../project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
         }
     });
 
diff --git a/gemeinsamforschen/src/main/webapp/pages/unstructured-upload.jsp b/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-annotation.jsp
similarity index 79%
rename from gemeinsamforschen/src/main/webapp/pages/unstructured-upload.jsp
rename to gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-annotation.jsp
index 083f71f4cd99bffc55a20c3f311eae53d1fd2bb9..43f3340fe7137b2a0dc3ba7ee03609bb9db273b1 100644
--- a/gemeinsamforschen/src/main/webapp/pages/unstructured-upload.jsp
+++ b/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-annotation.jsp
@@ -1,13 +1,14 @@
 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+
 
 <!DOCTYPE html>
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
 
     <!-- js - jQuery validation plugin -->
     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.min.js"></script>
@@ -15,17 +16,17 @@
     <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js" type="text/javascript"></script>
 
     <!-- css - upload-unstructured -->
-    <link rel="stylesheet" type="text/css" href="../assets/css/unstructured-upload.css">
+    <link rel="stylesheet" type="text/css" href="css/unstructured-upload.css">
     <!-- js - unstructuredUpload -->
-    <script src="../assets/js/unstructuredUpload.js"></script>
+    <script src="js/unstructuredUpload.js"></script>
     <!-- js - unstructuredRest -->
-    <script src="../assets/js/unstructuredRest.js"></script>
+    <script src="js/unstructuredRest.js"></script>
 
 </head>
 
 <body>
 <div id="wrapper" class="full-height">
-    <menu:menu></menu:menu>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper full-height">
         <div class="container-fluid full-height">
             <div class="container-fluid-content">
diff --git a/gemeinsamforschen/src/main/webapp/assessment/Quiz-docent.jsp b/gemeinsamforschen/src/main/webapp/assessment/Quiz-docent.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..65a0540c5cc36132f3a4bb84218fa850337d1b68
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/assessment/Quiz-docent.jsp
@@ -0,0 +1,29 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
+
+<html>
+<head>
+    <omniDependencies:omniDependencies hierarchy="1"/>
+    <script src="js/Quiz-docent.js"></script>
+</head>
+
+<body>
+<div id="wrapper">
+    <menu:menu hierarchy="1"/>
+    <div class="page-content-wrapper">
+        <headLine:headLine/>
+        <table class="table-striped">
+            <tbody id="tableQuiz">
+
+            </tbody>
+        </table>
+        <button class="btn btn-primary" id="newQuiz">neues Quiz</button>
+
+    </div>
+    <footer:footer/>
+</div>
+</body>
+</html>
diff --git a/gemeinsamforschen/src/main/webapp/pages/Quiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/Quiz.jsp
similarity index 50%
rename from gemeinsamforschen/src/main/webapp/pages/Quiz.jsp
rename to gemeinsamforschen/src/main/webapp/assessment/Quiz.jsp
index 5e7341363506343927281caf860275bcb48080c6..79121dd6242affd0bfc0237f3b648599e9590cb9 100644
--- a/gemeinsamforschen/src/main/webapp/pages/Quiz.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/Quiz.jsp
@@ -1,18 +1,18 @@
 <%@ page contentType="text/html;charset=UTF-8" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="footer" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/Quiz.js"></script>
+    <omniDependencies:omniDependencies hierarchy="1"/>
+    <script src="js/Quiz.js"></script>
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <table class="table-striped">
diff --git a/gemeinsamforschen/src/main/webapp/pages/finalAssessments.jsp b/gemeinsamforschen/src/main/webapp/assessment/assess-work.jsp
similarity index 98%
rename from gemeinsamforschen/src/main/webapp/pages/finalAssessments.jsp
rename to gemeinsamforschen/src/main/webapp/assessment/assess-work.jsp
index 4a6908591abadfecd0fcd915e9743637d29d0442..e8128b03638ac79a52a6868a2be672f7cff4cc75 100644
--- a/gemeinsamforschen/src/main/webapp/pages/finalAssessments.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/assess-work.jsp
@@ -1,21 +1,21 @@
 <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="footer" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
 
 <!DOCTYPE html>
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/finalAssessment.js"></script>
+    <omniDependencies:omniDependencies hierarchy="1"/>
+    <script src="js/assess-work.js"></script>
 
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <div>
diff --git a/gemeinsamforschen/src/main/webapp/assessment/calculate-assessment.jsp b/gemeinsamforschen/src/main/webapp/assessment/calculate-assessment.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..a8f39bfa961789996308eeddc58cae565ddbc82b
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/assessment/calculate-assessment.jsp
@@ -0,0 +1,21 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+
+<!-- TODO refactor @Sven: bitte nutze einen Unterordner für dein Modul z.B. webapp/annotation/ -->
+
+
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <omniDependencies:omniDependencies hierarchy="1"/>
+    <script src="js/assessmentCalculator.js"></script>
+</head>
+<body>
+<menu:menu hierarchy="1"/>
+<button id="calculateNow">Post Performance</button>
+<button id="giveItBack">Get TotalPerformance</button>
+<headLine:headLine/>
+</body>
+</html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/pages/createQuiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/create-quiz.jsp
similarity index 74%
rename from gemeinsamforschen/src/main/webapp/pages/createQuiz.jsp
rename to gemeinsamforschen/src/main/webapp/assessment/create-quiz.jsp
index 7601ff88f154ff2df7613bfc1c2f55a5de1a2c25..229b240942108f7e8fe8bf391bfa5272dba91395 100644
--- a/gemeinsamforschen/src/main/webapp/pages/createQuiz.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/create-quiz.jsp
@@ -1,18 +1,18 @@
 <%@ page contentType="text/html;charset=UTF-8" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="footer" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/createQuiz.js"></script>
+    <omniDependencies:omniDependencies hierarchy="1"/>
+    <script src="js/create-quiz.js"></script>
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <div style="margin-left:50px;">
diff --git a/gemeinsamforschen/src/main/webapp/assessment/js/AlertAssessmentOutlier.js b/gemeinsamforschen/src/main/webapp/assessment/js/AlertAssessmentOutlier.js
new file mode 100644
index 0000000000000000000000000000000000000000..c839478e287cb4652039897471ab07afecdb92cd
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/AlertAssessmentOutlier.js
@@ -0,0 +1,401 @@
+$(document).ready(function () {
+
+
+    $('#DiaBlende').on('click',function () {
+
+
+
+        $.ajax({
+            url: "../rest/assessments4/diagramm1/"+getQueryVariable("projectId"),
+            type: 'POST',
+            headers: {
+                "Content-Type": "application/json",
+                "Cache-Control": "no-cache"
+            },
+
+            success: function (response) {
+                var ctx = document.getElementById("Diagramm").getContext('2d');
+                var myChart = new Chart(ctx, response);
+
+            },
+            error: function (a,b,c) {
+                alert('some error' + b);
+            }
+        });
+
+   /*
+        var ctx = document.getElementById("Diagramm").getContext('2d');
+        var myChart = new Chart(ctx, {
+            type: 'line',
+            data: {
+                labels: ["05.06.1009", "05.06.1009", "05.06.1009", "05.06.1009"],
+                datasets: [{
+                    label: "Note Student 1",
+                    data: [
+                        5,4,4,3],
+                    borderColor: "rgba(255,0,3,0.2)",
+                    backgroundColor: "rgba(255,0,3,0.2)",
+                    fill:false
+                }
+                    ,
+                    {
+                        label:"Note Student 2",
+                        data: [
+                            1,2,3,4 ]
+                        ,borderColor: 'rgba(0,255,0,0.2)'
+                        , backgroundColor: 'rgba(0,255,3,0.2)'
+                        ,fill:false
+
+                    },
+                    {
+                        label:"Note Student 3",
+                        data: [
+                            5,2,4,6]
+                        ,borderColor: 'rgba(0,255,0,0.2)'
+                        , backgroundColor: 'rgba(0,255,3,0.2)'
+                        ,fill:false
+
+                    }]
+            },
+
+            options: {legend:{display:false}}
+        });*/
+    });
+});
+
+// hier noch dynamik ergänzen, damit der Student und die Gruppe ausgelesen werden
+
+$(document).ready(function () {
+    $('#ProblemGrp1').on('click',function () {
+        var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:")
+        if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") {
+
+        var dataP= JSON.stringify({"adressat":true,"student": {
+                "projectId": getQueryVariable("projectId"),
+                "studentId": "fgnxnw"
+            }, "deadline":new Date(),
+            "bewertender": {
+                "projectId": getQueryVariable("projectId"),
+                "studentId": document.getElementById("user").innerText
+            },
+            "projektId":getQueryVariable("projectId"),
+            "bewertung":alarm
+        });
+            $.ajax({
+                url: "../rest/assessments2/calculate2",
+                type: 'POST',
+                headers: {
+                    "Content-Type": "application/json",
+                    "Cache-Control": "no-cache"
+                },
+                data: dataP,
+                success: function (response) {
+                    document.getElementById('ProblemGrp1').innerHTML=response;
+                },
+                error: function (a,b,c) {
+                    alert('some error' + b);
+                }
+            })
+        }
+        else{
+            window.alert("Bitte eine Zahl zwischen eins und 6 angeben")
+        }
+    });
+});
+
+$(document).ready(function () {
+    $('#ProblemGrp1S1').on('click',function () {
+        var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:")
+        if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") {
+
+            var dataP= JSON.stringify({"adressat":true,"student": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": "fgnxnw"
+                }, "deadline":new Date(),
+                "bewertender": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": document.getElementById("user").innerText
+                },
+                "projektId":getQueryVariable("projectId"),
+                "bewertung":alarm
+            });
+            $.ajax({
+                url: "../rest/assessments2/calculate2",
+                type: 'POST',
+                headers: {
+                    "Content-Type": "application/json",
+                    "Cache-Control": "no-cache"
+                },
+                data: dataP,
+                success: function (response) {
+                    document.getElementById('ProblemGrp1S1').innerHTML=response;
+                },
+                error: function (a,b,c) {
+                    alert('some error' + b);
+                }
+            })
+        }
+        else{
+            window.alert("Bitte eine Zahl zwischen eins und 6 angeben")
+        }
+    });
+});
+$(document).ready(function () {
+    $('#ProblemGrp1S2').on('click',function () {
+        var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:")
+        if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") {
+
+            var dataP= JSON.stringify({"adressat":true,"student": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": "fgnxnw"
+                }, "deadline":new Date(),
+                "bewertender": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": document.getElementById("user").innerText
+                },
+                "projektId":getQueryVariable("projectId"),
+                "bewertung":alarm
+            });
+            $.ajax({
+                url: "../rest/assessments2/calculate2",
+                type: 'POST',
+                headers: {
+                    "Content-Type": "application/json",
+                    "Cache-Control": "no-cache"
+                },
+                data: dataP,
+                success: function (response) {
+                    document.getElementById('ProblemGrp1S2').innerHTML=response;
+                },
+                error: function (a,b,c) {
+                    alert('some error' + b);
+                }
+            })
+        }
+        else{
+            window.alert("Bitte eine Zahl zwischen eins und 6 angeben")
+        }
+    });
+});
+$(document).ready(function () {
+    $('#ProblemGrp2').on('click',function () {
+        var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:")
+        if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") {
+
+            var dataP= JSON.stringify({"adressat":true,"student": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": "fgnxnw"
+                }, "deadline":new Date(),
+                "bewertender": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": document.getElementById("user").innerText
+                },
+                "projektId":getQueryVariable("projectId"),
+                "bewertung":alarm
+            });
+            $.ajax({
+                url: "../rest/assessments2/calculate2",
+                type: 'POST',
+                headers: {
+                    "Content-Type": "application/json",
+                    "Cache-Control": "no-cache"
+                },
+                data: dataP,
+                success: function (response) {
+                    document.getElementById('ProblemGrp2').innerHTML=response;
+                },
+                error: function (a,b,c) {
+                    alert('some error' + b);
+                }
+            })
+        }
+        else{
+            window.alert("Bitte eine Zahl zwischen eins und 6 angeben")
+        }
+    });
+});
+$(document).ready(function () {
+    $('#ProblemGrp2S3').on('click',function () {
+        var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:")
+        if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") {
+
+            var dataP= JSON.stringify({"adressat":true,"student": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": "fgnxnw"
+                }, "deadline":new Date(),
+                "bewertender": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": document.getElementById("user").innerText
+                },
+                "projektId":getQueryVariable("projectId"),
+                "bewertung":alarm
+            });
+            $.ajax({
+                url: "../rest/assessments2/calculate2",
+                type: 'POST',
+                headers: {
+                    "Content-Type": "application/json",
+                    "Cache-Control": "no-cache"
+                },
+                data: dataP,
+                success: function (response) {
+                    document.getElementById('ProblemGrp2S3').innerHTML=response;
+                },
+                error: function (a,b,c) {
+                    alert('some error' + b);
+                }
+            })
+        }
+        else{
+            window.alert("Bitte eine Zahl zwischen eins und 6 angeben")
+        }
+    });
+});
+$(document).ready(function () {
+    $('#ProblemGrp2S4').on('click',function () {
+        var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:")
+        if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") {
+
+            var dataP= JSON.stringify({"adressat":true,"student": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": "fgnxnw"
+                }, "deadline":new Date(),
+                "bewertender": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": document.getElementById("user").innerText
+                },
+                "projektId":getQueryVariable("projectId"),
+                "bewertung":alarm
+            });
+            $.ajax({
+                url: "../rest/assessments2/calculate2",
+                type: 'POST',
+                headers: {
+                    "Content-Type": "application/json",
+                    "Cache-Control": "no-cache"
+                },
+                data: dataP,
+                success: function (response) {
+                    document.getElementById('ProblemGrp2S4').innerHTML=response;
+                },
+                error: function (a,b,c) {
+                    alert('some error' + b);
+                }
+            })
+        }
+        else{
+            window.alert("Bitte eine Zahl zwischen eins und 6 angeben")
+        }
+    });
+});
+$(document).ready(function () {
+    $('#ProblemGrp3').on('click',function () {
+        var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:")
+        if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") {
+
+            var dataP= JSON.stringify({"adressat":true,"student": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": "fgnxnw"
+                }, "deadline":new Date(),
+                "bewertender": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": document.getElementById("user").innerText
+                },
+                "projektId":getQueryVariable("projectId"),
+                "bewertung":alarm
+            });
+            $.ajax({
+                url: "../rest/assessments2/calculate2",
+                type: 'POST',
+                headers: {
+                    "Content-Type": "application/json",
+                    "Cache-Control": "no-cache"
+                },
+                data: dataP,
+                success: function (response) {
+                    document.getElementById('ProblemGrp3').innerHTML=response;
+                },
+                error: function (a,b,c) {
+                    alert('some error' + b);
+                }
+            })
+        }
+        else{
+            window.alert("Bitte eine Zahl zwischen eins und 6 angeben")
+        }
+    });
+});
+$(document).ready(function () {
+    $('#ProblemGrp3S5').on('click',function () {
+        var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:")
+        if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") {
+
+            var dataP= JSON.stringify({"adressat":true,"student": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": "fgnxnw"
+                }, "deadline":new Date(),
+                "bewertender": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": document.getElementById("user").innerText
+                },
+                "projektId":getQueryVariable("projectId"),
+                "bewertung":alarm
+            });
+            $.ajax({
+                url: "../rest/assessments2/calculate2",
+                type: 'POST',
+                headers: {
+                    "Content-Type": "application/json",
+                    "Cache-Control": "no-cache"
+                },
+                data: dataP,
+                success: function (response) {
+                    document.getElementById('ProblemGrp3S5').innerHTML=response;
+                },
+                error: function (a,b,c) {
+                    alert('some error' + b);
+                }
+            })
+        }
+        else{
+            window.alert("Bitte eine Zahl zwischen eins und 6 angeben")
+        }
+    });
+});
+$(document).ready(function () {
+    $('#ProblemGrp3S6').on('click',function () {
+        var alarm = prompt("hier gibt es Unstimmigeiten","Vorgeschlagene Note:")
+        if (alarm === "1"||alarm=="2"||alarm=="3"||alarm=="4"||alarm=="5"||alarm=="6") {
+
+            var dataP= JSON.stringify({"adressat":true,"student": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": "fgnxnw"
+                }, "deadline":new Date(),
+                "bewertender": {
+                    "projectId": getQueryVariable("projectId"),
+                    "studentId": document.getElementById("user").innerText
+                },
+                "projektId":getQueryVariable("projectId"),
+                "bewertung":alarm
+            });
+            $.ajax({
+                url: "../rest/assessments2/calculate2",
+                type: 'POST',
+                headers: {
+                    "Content-Type": "application/json",
+                    "Cache-Control": "no-cache"
+                },
+                data: dataP,
+                success: function (response) {
+                    document.getElementById('ProblemGrp3S6').innerHTML=response;
+                },
+                error: function (a,b,c) {
+                    alert('some error' + b);
+                }
+            })
+        }
+        else{
+            window.alert("Bitte eine Zahl zwischen eins und 6 angeben")
+        }
+    });
+});
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/Quiz-docent.js b/gemeinsamforschen/src/main/webapp/assessment/js/Quiz-docent.js
similarity index 95%
rename from gemeinsamforschen/src/main/webapp/assets/js/Quiz-docent.js
rename to gemeinsamforschen/src/main/webapp/assessment/js/Quiz-docent.js
index 2eedd8af5d6c4a7690ae11b782dcfe0fecb8c017..8ddea17c89cace4cdfe23ce433ea226da5cf64a3 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/Quiz-docent.js
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/Quiz-docent.js
@@ -1,6 +1,6 @@
 $(document).ready(function () {
     $('#newQuiz').on('click', function(){
-        location.href="createQuiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
+        location.href="create-quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
     });
 
     let loading = $('#loadbar').hide();
@@ -77,7 +77,7 @@ $(document).ready(function () {
             url: '../rest/assessments/quiz/' + encodeURIComponent(event.data.quizId),
             type: 'POST',
             success: function () {
-                document.location.href="Quiz-docent.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
+                document.location.href="quiz-docent.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
             },
             error: function(a){
                 alert(a)
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/Quiz.js b/gemeinsamforschen/src/main/webapp/assessment/js/Quiz.js
similarity index 87%
rename from gemeinsamforschen/src/main/webapp/assets/js/Quiz.js
rename to gemeinsamforschen/src/main/webapp/assessment/js/Quiz.js
index fcb6ea709458eddd262301776d4e3fde08ae4a84..f79b9de9519fdb8b78d10842685c12cd20cf54c7 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/Quiz.js
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/Quiz.js
@@ -12,7 +12,7 @@ $(document).ready(function(){
                 let trQuestion = document.createElement('TR');
                 trQuestion.className="pageChanger";
                 trQuestion.innerHTML = '<td colspan="' + colspan + '"><h3>' +
-                    '<a href="viewQuiz.jsp' +
+                    '<a href="view-quiz.jsp' +
                     '?token='+getUserTokenFromUrl()+
                     '&projectId='+projectId+
                     '&quizId='+ encodeURIComponent(data[quiz].question)+'"</a>' +
@@ -26,6 +26,6 @@ $(document).ready(function(){
     });
 
     $('#newQuiz').on('click', function(){
-        location.href="createQuiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
+        location.href="create-quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
     });
 });
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/finalAssessment.js b/gemeinsamforschen/src/main/webapp/assessment/js/assess-work.js
similarity index 98%
rename from gemeinsamforschen/src/main/webapp/assets/js/finalAssessment.js
rename to gemeinsamforschen/src/main/webapp/assessment/js/assess-work.js
index 0f57c3bec407e642306c68bb0fed7651af94a53b..98a0a9765f2bf8bbecceddce58b99688b9260162 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/finalAssessment.js
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/assess-work.js
@@ -172,7 +172,7 @@ function assessPeer() {
         },
         data: JSON.stringify(dataP),
         success: function () {
-            location.href = "takeQuiz.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim();
+            location.href = "take-quiz.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim();
         },
         error: function (a, b, c) {
 
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/assessmentCalculator.js b/gemeinsamforschen/src/main/webapp/assessment/js/assessmentCalculator.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/assessmentCalculator.js
rename to gemeinsamforschen/src/main/webapp/assessment/js/assessmentCalculator.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createQuiz.js b/gemeinsamforschen/src/main/webapp/assessment/js/create-quiz.js
similarity index 97%
rename from gemeinsamforschen/src/main/webapp/assets/js/createQuiz.js
rename to gemeinsamforschen/src/main/webapp/assessment/js/create-quiz.js
index 37413173379a5a73600abf21938d1ef9be06dede..5353643dbcb0770b3aa7096c0011c6ac743c43f6 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/createQuiz.js
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/create-quiz.js
@@ -61,7 +61,7 @@ $(document).ready(function () {
             },
             type: 'POST',
             success: function(){
-                location.href="Quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
+                location.href="quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
         },
         error: function(a){
 
diff --git a/gemeinsamforschen/src/main/webapp/assessment/js/grading.js b/gemeinsamforschen/src/main/webapp/assessment/js/grading.js
new file mode 100644
index 0000000000000000000000000000000000000000..5f6823dab004b402bdb5e4eccbb87a88c8541f53
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/grading.js
@@ -0,0 +1,8 @@
+$(document).ready(function () {
+    $('#ProjektFinalisieren').on('click',function () {
+
+        document.getElementById("ProjektFinalisieren").style.color="magenta";
+
+
+    });
+});
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/rateContribution.js b/gemeinsamforschen/src/main/webapp/assessment/js/rateContribution.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/rateContribution.js
rename to gemeinsamforschen/src/main/webapp/assessment/js/rateContribution.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/takeQuiz.js b/gemeinsamforschen/src/main/webapp/assessment/js/take-quiz.js
similarity index 97%
rename from gemeinsamforschen/src/main/webapp/assets/js/takeQuiz.js
rename to gemeinsamforschen/src/main/webapp/assessment/js/take-quiz.js
index 7c293a1a125ccc891df523fd6a1ea415968a28c4..75cf2fa1bd8b2abc54bfbd04d4246cb0beccd985 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/takeQuiz.js
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/take-quiz.js
@@ -110,7 +110,7 @@ function safeQuizAnswers(){
         },
         data: JSON.stringify(dataP),
         success: function(){
-            location.href="rateContribution.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
+            location.href="rate-contribution.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
         },
         error: function(a,b,c){
 
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/viewQuiz.js b/gemeinsamforschen/src/main/webapp/assessment/js/view-quiz.js
similarity index 98%
rename from gemeinsamforschen/src/main/webapp/assets/js/viewQuiz.js
rename to gemeinsamforschen/src/main/webapp/assessment/js/view-quiz.js
index a763697c7dd3fc87785125d29aabcc4e7978b715..8ebaac60bf99121d46d4fc6bc15bffb43b9e3ac7 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/viewQuiz.js
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/view-quiz.js
@@ -67,7 +67,7 @@ $(document).ready(function () {
             url: '../rest/assessments/quiz/' + encodeURIComponent(quizId),
             type: 'POST',
             success: function () {
-                document.location.href="Quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
+                document.location.href="quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
             },
             error: function(a){
                 alert(a)
diff --git a/gemeinsamforschen/src/main/webapp/assessment/project-docent_CG.jsp b/gemeinsamforschen/src/main/webapp/assessment/project-docent_CG.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..f8ec92fc5cf46c3cc272ce6b6cca5fe12b0266ba
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/assessment/project-docent_CG.jsp
@@ -0,0 +1,165 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+
+<!DOCTYPE html>
+<html>
+
+
+<head>
+    <omniDependencies:omniDependencies hierarchy="1"/>
+    <script src="js/AlertAssessmentOutlier.js"></script>
+    <script src="js/grading.js"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.js"></script>
+</head>
+
+
+
+<body>
+<div id="wrapper">
+    <menu:menu hierarchy="1"/>
+
+    <div class="page-content-wrapper">
+        <div class="container-fluid">
+            <headLine:headLine/>
+            <button class="btn btn-default" type="button">Gruppen erstellen</button>
+            <button class="btn btn-default" type="button" id="ProjektFinalisieren">Projekt finalisieren</button>
+            <button class="btn btn-default" type="button">Exportiere Projektergebnisse</button>
+        </div>
+        <p hidden id="ProjektId">Projekt1</p>
+        <button
+                class="btn btn-default" type="button">Exportiere Zwischenstand</button><button class="btn btn-default" type="button">Quizfrage erstellen</button>
+        <div>
+            <div class="container">
+                <div class="row">
+                    <div class="col-md-4">
+                        <div class="table-responsive" style="width:294px;">
+                            <table class="table">
+                                <thead>
+                                <tr>
+                                    <th id="testAjax">Gruppe1 </th>
+                                    <th>Beiträge </th>
+                                    <th> <button id="ProblemGrp1">!</button> </th>
+                                </tr>
+                                </thead>
+                                <tbody>
+                                <tr>
+                                    <td>student1 </td>
+                                    <td>Interfaces </td>
+                                    <th> <button id="ProblemGrp1S1">!</button> </th>
+                                </tr>
+                                <tr>
+                                    <td>student2 </td>
+                                    <td>Design </td>
+                                    <th> <button id="ProblemGrp1S2">!</button> </th>
+                                </tr>
+                                </tbody>
+                            </table>
+                        </div>
+                        <div class="table-responsive" style="width:294px;">
+                            <table class="table">
+                                <thead>
+                                <tr>
+                                    <th>Gruppe2 </th>
+                                    <th>Beiträge </th>
+                                    <th> <button id="ProblemGrp2">!</button> </th>
+                                </tr>
+                                </thead>
+                                <tbody>
+                                <tr>
+                                    <td>student3 </td>
+                                    <td>Interfaces </td>
+                                    <th> <button id="ProblemGrp2S3">!</button> </th>
+                                </tr>
+                                <tr>
+                                    <td>student4 </td>
+                                    <td>Design </td>
+                                    <th> <button id="ProblemGrp2S4">!</button> </th>
+                                </tr>
+                                </tbody>
+                            </table>
+                        </div>
+                        <div class="table-responsive" style="width:294px;">
+                            <table class="table">
+                                <thead>
+                                <tr>
+                                    <th>Gruppe3 </th>
+                                    <th>Beiträge </th>
+                                    <th> <button id="ProblemGrp3">!</button> </th>
+                                </tr>
+                                </thead>
+                                <tbody>
+                                <tr>
+                                    <td>student5 </td>
+                                    <td>Interfaces </td>
+                                    <th> <button id="ProblemGrp3S5">!</button> </th>
+                                </tr>
+                                <tr>
+                                    <td>student6 </td>
+                                    <td>Design </td>
+                                    <th> <button id="ProblemGrp3S6">!</button> </th>
+                                </tr>
+                                </tbody>
+                            </table>
+                        </div>
+                    </div>
+                    <div class="col-md-4">
+                        <button id="DiaBlende">Zeitlicher Verlauf</button>
+                        <canvas height="480" width="480", id = "Diagramm" ></canvas>
+                    </div>
+                    <div class="col-md-4">
+                        <div class="panel panel-default">
+                            <div class="panel-heading">
+                                <h3 class="panel-title">ProjektChat</h3>
+                            </div>
+                            <div class="panel-body" style="height:233px;">
+                                <ul class="list-group">
+                                    <li class="list-group-item" style="margin-bottom:6px;">
+                                        <div class="media">
+                                            <div class="media-left"><a></a></div>
+                                            <div class="media-body">
+                                                <div class="media" style="overflow:visible;">
+                                                    <div class="media-left"><a><img src="../assets/img/1.jpg" class="img-rounded" style="width: 25px; height:25px;"></a></div>
+                                                    <div class="media-body" style="overflow:visible;">
+                                                        <div class="row">
+                                                            <div class="col-md-12">
+                                                                <p><a href="#">Sara Doe:</a> This guy has been going 100+ MPH on side streets. <br>
+                                                                    <small class="text-muted">August 6, 2016 @ 10:35am </small></p>
+                                                            </div>
+                                                        </div>
+                                                    </div>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </li>
+                                    <li class="list-group-item" style="margin-bottom:6px;">
+                                        <div class="media">
+                                            <div class="media-left"><a></a></div>
+                                            <div class="media-body">
+                                                <div class="media" style="overflow:visible;">
+                                                    <div class="media-left"><a><img src="../assets/img/1.jpg" class="img-rounded" style="width: 25px; height:25px;"></a></div>
+                                                    <div class="media-body" style="overflow:visible;">
+                                                        <div class="row">
+                                                            <div class="col-md-12">
+                                                                <p><a href="#">Brennan Prill:</a> This guy has been going 100+ MPH on side streets. <br>
+                                                                    <small class="text-muted">August 6, 2016 @ 10:35am </small></p>
+                                                            </div>
+                                                        </div>
+                                                    </div>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </li>
+                                </ul><button class="btn btn-default" type="button" style="margin-left:601px;margin-top:-9px;">Add Comment</button></div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<communication:chatWindow orientation="right"></communication:chatWindow>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/pages/rateContribution.jsp b/gemeinsamforschen/src/main/webapp/assessment/rate-contribution.jsp
similarity index 89%
rename from gemeinsamforschen/src/main/webapp/pages/rateContribution.jsp
rename to gemeinsamforschen/src/main/webapp/assessment/rate-contribution.jsp
index cfda957fd875e6dcc394162b2031fe301bf6ff53..0aca061705cb2590c3787d87c882b86332670268 100644
--- a/gemeinsamforschen/src/main/webapp/pages/rateContribution.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/rate-contribution.jsp
@@ -1,22 +1,22 @@
 <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="footer" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
 <!DOCTYPE html>
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <script src="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.js"></script>
     <script src="https://cdn.rawgit.com/showdownjs/showdown/1.8.5/dist/showdown.min.js"></script>
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.css">
-    <script src="../assets/js/rateContribution.js"></script>
+    <script src="js/rateContribution.js"></script>
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="1"/>
     <p id="groupId" hidden>Hier steht jetzt das richtige</p>
     <div class="page-content-wrapper">
         <headLine:headLine/>
diff --git a/gemeinsamforschen/src/main/webapp/pages/takeQuiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/take-quiz.jsp
similarity index 67%
rename from gemeinsamforschen/src/main/webapp/pages/takeQuiz.jsp
rename to gemeinsamforschen/src/main/webapp/assessment/take-quiz.jsp
index a0c99526f7d16fcef2a3473c6f5d5f098ed016de..78e164752a1ec941a29236c3764412ee3969779b 100644
--- a/gemeinsamforschen/src/main/webapp/pages/takeQuiz.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/take-quiz.jsp
@@ -1,20 +1,20 @@
 <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="footer" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
 <!DOCTYPE html>
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/takeQuiz.js"></script>
+    <omniDependencies:omniDependencies hierarchy="1"/>
+    <script src="js/take-quiz.js"></script>
 
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <div>
diff --git a/gemeinsamforschen/src/main/webapp/pages/viewQuiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/view-quiz.jsp
similarity index 66%
rename from gemeinsamforschen/src/main/webapp/pages/viewQuiz.jsp
rename to gemeinsamforschen/src/main/webapp/assessment/view-quiz.jsp
index 8cadd01e748a2be689f85d9fec370d4d97e2d4a6..4fc3d8b85736f8f2aea5b1bcb442acb85147094f 100644
--- a/gemeinsamforschen/src/main/webapp/pages/viewQuiz.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/view-quiz.jsp
@@ -1,14 +1,14 @@
 <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="footer" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
 <!DOCTYPE html>
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/viewQuiz.js"></script>
+    <omniDependencies:omniDependencies hierarchy="1"/>
+    <script src="js/view-quiz.js"></script>
 
 </head>
 
@@ -16,7 +16,7 @@
 
 
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <div>
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/editDescription.css b/gemeinsamforschen/src/main/webapp/assets/css/editDescription.css
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/src/jquery.tagsinput.css b/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/src/jquery.tagsinput.css
deleted file mode 100644
index c595e249f9fd8b449e8bbb725bf0805792135e43..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/src/jquery.tagsinput.css
+++ /dev/null
@@ -1,7 +0,0 @@
-div.tagsinput { border:1px solid #CCC; background: #FFF; padding:5px; width:300px; height:100px; overflow-y: auto;}
-div.tagsinput span.tag { border: 1px solid #a5d24a; -moz-border-radius:2px; -webkit-border-radius:2px; display: block; float: left; padding: 5px; text-decoration:none; background: #cde69c; color: #638421; margin-right: 5px; margin-bottom:5px;font-family: helvetica;  font-size:13px;}
-div.tagsinput span.tag a { font-weight: bold; color: #82ad2b; text-decoration:none; font-size: 11px;  } 
-div.tagsinput input { width:80px; margin:0px; font-family: helvetica; font-size: 13px; border:1px solid transparent; padding:5px; background: transparent; color: #000; outline:0px;  margin-right:5px; margin-bottom:5px; }
-div.tagsinput div { display:block; float: left; } 
-.tags_clear { clear: both; width: 100%; height: 0px; }
-.not_valid {background: #FBD8DB !important; color: #90111A !important;}
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/Sidebar-Menu.js b/gemeinsamforschen/src/main/webapp/assets/js/Sidebar-Menu.js
deleted file mode 100644
index 75d87e9ab3437b44784b97cf2e600b636f8b4257..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/assets/js/Sidebar-Menu.js
+++ /dev/null
@@ -1,4 +0,0 @@
-$("#menu-toggle").click(function(e) {
-    e.preventDefault();
-    $("#wrapper").toggleClass("toggled");
-});
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/footer.js b/gemeinsamforschen/src/main/webapp/assets/js/footer.js
deleted file mode 100644
index 9407ef60d1a1c1af5d8bce6c5dc1e9c1835645bc..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/assets/js/footer.js
+++ /dev/null
@@ -1,3 +0,0 @@
-$(document).ready(function(){
-
-});
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/jquery.tagsinput.js b/gemeinsamforschen/src/main/webapp/assets/js/jquery.tagsinput.js
deleted file mode 100644
index b6c75e4dbb7cf0d91e67eb4ed9e4a35d0e058f80..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/assets/js/jquery.tagsinput.js
+++ /dev/null
@@ -1,390 +0,0 @@
-/*
-
-	jQuery Tags Input Plugin 1.3.3
-
-	Copyright (c) 2011 XOXCO, Inc
-
-	Documentation for this plugin lives here:
-	http://xoxco.com/clickable/jquery-tags-input
-
-	Licensed under the MIT license:
-	http://www.opensource.org/licenses/mit-license.php
-
-	ben@xoxco.com
-
-*/
-
-(function($) {
-
-	var delimiter = new Array();
-	var tags_callbacks = new Array();
-	$.fn.doAutosize = function(o){
-	    var minWidth = $(this).data('minwidth'),
-	        maxWidth = $(this).data('maxwidth'),
-	        val = '',
-	        input = $(this),
-	        testSubject = $('#'+$(this).data('tester_id'));
-
-	    if (val === (val = input.val())) {return;}
-
-	    // Enter new content into testSubject
-	    var escaped = val.replace(/&/g, '&amp;').replace(/\s/g,' ').replace(/</g, '&lt;').replace(/>/g, '&gt;');
-	    testSubject.html(escaped);
-	    // Calculate new width + whether to change
-	    var testerWidth = testSubject.width(),
-	        newWidth = (testerWidth + o.comfortZone) >= minWidth ? testerWidth + o.comfortZone : minWidth,
-	        currentWidth = input.width(),
-	        isValidWidthChange = (newWidth < currentWidth && newWidth >= minWidth)
-	                             || (newWidth > minWidth && newWidth < maxWidth);
-
-	    // Animate width
-	    if (isValidWidthChange) {
-	        input.width(newWidth);
-	    }
-
-
-  };
-  $.fn.resetAutosize = function(options){
-    // alert(JSON.stringify(options));
-    var minWidth =  $(this).data('minwidth') || options.minInputWidth || $(this).width(),
-        maxWidth = $(this).data('maxwidth') || options.maxInputWidth || ($(this).closest('.tagsinput').width() - options.inputPadding),
-        val = '',
-        input = $(this),
-        testSubject = $('<tester/>').css({
-            position: 'absolute',
-            top: -9999,
-            left: -9999,
-            width: 'auto',
-            fontSize: input.css('fontSize'),
-            fontFamily: input.css('fontFamily'),
-            fontWeight: input.css('fontWeight'),
-            letterSpacing: input.css('letterSpacing'),
-            whiteSpace: 'nowrap'
-        }),
-        testerId = $(this).attr('id')+'_autosize_tester';
-    if(! $('#'+testerId).length > 0){
-      testSubject.attr('id', testerId);
-      testSubject.appendTo('body');
-    }
-
-    input.data('minwidth', minWidth);
-    input.data('maxwidth', maxWidth);
-    input.data('tester_id', testerId);
-    input.css('width', minWidth);
-  };
-
-	$.fn.addTag = function(value,options) {
-			options = jQuery.extend({focus:false,callback:true},options);
-			this.each(function() {
-				var id = $(this).attr('id');
-
-				var tagslist = $(this).val().split(delimiter[id]);
-				if (tagslist[0] == '') {
-					tagslist = new Array();
-				}
-
-				value = jQuery.trim(value);
-
-				if (options.unique) {
-					var skipTag = $(this).tagExist(value);
-					if(skipTag == true) {
-					    //Marks fake input as not_valid to let styling it
-    				    $('#'+id+'_tag').addClass('not_valid');
-    				}
-				} else {
-					var skipTag = false;
-				}
-
-				if (value !='' && skipTag != true) {
-                    $('<span>').addClass('tag').append(
-                        $('<span>').text(value).append('&nbsp;&nbsp;'),
-                        $('<a>', {
-                            href  : '#',
-                            title : 'Removing tag',
-                            text  : 'x'
-                        }).click(function () {
-                            return $('#' + id).removeTag(escape(value));
-                        })
-                    ).insertBefore('#' + id + '_addTag');
-
-					tagslist.push(value);
-
-					$('#'+id+'_tag').val('');
-					if (options.focus) {
-						$('#'+id+'_tag').focus();
-					} else {
-						$('#'+id+'_tag').blur();
-					}
-
-					$.fn.tagsInput.updateTagsField(this,tagslist);
-
-					if (options.callback && tags_callbacks[id] && tags_callbacks[id]['onAddTag']) {
-						var f = tags_callbacks[id]['onAddTag'];
-						f.call(this, value);
-					}
-					if(tags_callbacks[id] && tags_callbacks[id]['onChange'])
-					{
-						var i = tagslist.length;
-						var f = tags_callbacks[id]['onChange'];
-						f.call(this, $(this), tagslist[i-1]);
-					}
-				}
-
-			});
-
-			return false;
-		};
-
-	$.fn.removeTag = function(value) {
-			value = unescape(value);
-			this.each(function() {
-				var id = $(this).attr('id');
-
-				var old = $(this).val().split(delimiter[id]);
-
-				$('#'+id+'_tagsinput .tag').remove();
-				str = '';
-				for (i=0; i< old.length; i++) {
-					if (old[i]!=value) {
-						str = str + delimiter[id] +old[i];
-					}
-				}
-
-				$.fn.tagsInput.importTags(this,str);
-
-				if (tags_callbacks[id] && tags_callbacks[id]['onRemoveTag']) {
-					var f = tags_callbacks[id]['onRemoveTag'];
-					f.call(this, value);
-				}
-			});
-
-			return false;
-		};
-
-	$.fn.tagExist = function(val) {
-		var id = $(this).attr('id');
-		var tagslist = $(this).val().split(delimiter[id]);
-		return (jQuery.inArray(val, tagslist) >= 0); //true when tag exists, false when not
-	};
-
-   // clear all existing tags and import new ones from a string
-   $.fn.importTags = function(str) {
-      var id = $(this).attr('id');
-      $('#'+id+'_tagsinput .tag').remove();
-      $.fn.tagsInput.importTags(this,str);
-   }
-
-	$.fn.tagsInput = function(options) {
-    var settings = jQuery.extend({
-      interactive:true,
-      defaultText:'add a tag',
-      minChars:0,
-      width:'300px',
-      height:'100px',
-      autocomplete: {selectFirst: false },
-      hide:true,
-      delimiter: ',',
-      unique:true,
-      removeWithBackspace:true,
-      placeholderColor:'#666666',
-      autosize: true,
-      comfortZone: 20,
-      inputPadding: 6*2
-    },options);
-
-    	var uniqueIdCounter = 0;
-
-		this.each(function() {
-         // If we have already initialized the field, do not do it again
-         if (typeof $(this).attr('data-tagsinput-init') !== 'undefined') {
-            return;
-         }
-
-         // Mark the field as having been initialized
-         $(this).attr('data-tagsinput-init', true);
-
-			if (settings.hide) {
-				$(this).hide();
-			}
-			var id = $(this).attr('id');
-			if (!id || delimiter[$(this).attr('id')]) {
-				id = $(this).attr('id', 'tags' + new Date().getTime() + (uniqueIdCounter++)).attr('id');
-			}
-
-			var data = jQuery.extend({
-				pid:id,
-				real_input: '#'+id,
-				holder: '#'+id+'_tagsinput',
-				input_wrapper: '#'+id+'_addTag',
-				fake_input: '#'+id+'_tag'
-			},settings);
-
-			delimiter[id] = data.delimiter;
-
-			if (settings.onAddTag || settings.onRemoveTag || settings.onChange) {
-				tags_callbacks[id] = new Array();
-				tags_callbacks[id]['onAddTag'] = settings.onAddTag;
-				tags_callbacks[id]['onRemoveTag'] = settings.onRemoveTag;
-				tags_callbacks[id]['onChange'] = settings.onChange;
-			}
-
-			var markup = '<div id="'+id+'_tagsinput" class="tagsinput"><div id="'+id+'_addTag">';
-
-			if (settings.interactive) {
-				markup = markup + '<input id="'+id+'_tag" value="" data-default="'+settings.defaultText+'" />';
-			}
-
-			markup = markup + '</div><div class="tags_clear"></div></div>';
-
-			$(markup).insertAfter(this);
-
-			$(data.holder).css('width',settings.width);
-			$(data.holder).css('min-height',settings.height);
-			$(data.holder).css('height',settings.height);
-
-			if ($(data.real_input).val()!='') {
-				$.fn.tagsInput.importTags($(data.real_input),$(data.real_input).val());
-			}
-			if (settings.interactive) {
-				$(data.fake_input).val($(data.fake_input).attr('data-default'));
-				$(data.fake_input).css('color',settings.placeholderColor);
-		        $(data.fake_input).resetAutosize(settings);
-
-				$(data.holder).bind('click',data,function(event) {
-					$(event.data.fake_input).focus();
-				});
-
-				$(data.fake_input).bind('focus',data,function(event) {
-					if ($(event.data.fake_input).val()==$(event.data.fake_input).attr('data-default')) {
-						$(event.data.fake_input).val('');
-					}
-					$(event.data.fake_input).css('color','#000000');
-				});
-
-				if (settings.autocomplete_url != undefined) {
-					autocomplete_options = {source: settings.autocomplete_url};
-					for (attrname in settings.autocomplete) {
-						autocomplete_options[attrname] = settings.autocomplete[attrname];
-					}
-
-					if (jQuery.Autocompleter !== undefined) {
-						$(data.fake_input).autocomplete(settings.autocomplete_url, settings.autocomplete);
-						$(data.fake_input).bind('result',data,function(event,data,formatted) {
-							if (data) {
-								$('#'+id).addTag(data[0] + "",{focus:true,unique:(settings.unique)});
-							}
-					  	});
-					} else if (jQuery.ui.autocomplete !== undefined) {
-						$(data.fake_input).autocomplete(autocomplete_options);
-						$(data.fake_input).bind('autocompleteselect',data,function(event,ui) {
-							$(event.data.real_input).addTag(ui.item.value,{focus:true,unique:(settings.unique)});
-							return false;
-						});
-					}
-
-
-				} else {
-						// if a user tabs out of the field, create a new tag
-						// this is only available if autocomplete is not used.
-						$(data.fake_input).bind('blur',data,function(event) {
-							var d = $(this).attr('data-default');
-							if ($(event.data.fake_input).val()!='' && $(event.data.fake_input).val()!=d) {
-								if( (event.data.minChars <= $(event.data.fake_input).val().length) && (!event.data.maxChars || (event.data.maxChars >= $(event.data.fake_input).val().length)) )
-									$(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique)});
-							} else {
-								$(event.data.fake_input).val($(event.data.fake_input).attr('data-default'));
-								$(event.data.fake_input).css('color',settings.placeholderColor);
-							}
-							return false;
-						});
-
-				}
-				// if user types a default delimiter like comma,semicolon and then create a new tag
-				$(data.fake_input).bind('keypress',data,function(event) {
-					if (_checkDelimiter(event)) {
-					    event.preventDefault();
-						if( (event.data.minChars <= $(event.data.fake_input).val().length) && (!event.data.maxChars || (event.data.maxChars >= $(event.data.fake_input).val().length)) )
-							$(event.data.real_input).addTag($(event.data.fake_input).val(),{focus:true,unique:(settings.unique)});
-					  	$(event.data.fake_input).resetAutosize(settings);
-						return false;
-					} else if (event.data.autosize) {
-			            $(event.data.fake_input).doAutosize(settings);
-
-          			}
-				});
-				//Delete last tag on backspace
-				data.removeWithBackspace && $(data.fake_input).bind('keydown', function(event)
-				{
-					if(event.keyCode == 8 && $(this).val() == '')
-					{
-						 event.preventDefault();
-						 var last_tag = $(this).closest('.tagsinput').find('.tag:last').text();
-						 var id = $(this).attr('id').replace(/_tag$/, '');
-						 last_tag = last_tag.replace(/[\s]+x$/, '');
-						 $('#' + id).removeTag(escape(last_tag));
-						 $(this).trigger('focus');
-					}
-				});
-				$(data.fake_input).blur();
-
-				//Removes the not_valid class when user changes the value of the fake input
-				if(data.unique) {
-				    $(data.fake_input).keydown(function(event){
-				        if(event.keyCode == 8 || String.fromCharCode(event.which).match(/\w+|[áéíóúÁÉÍÓÚñÑ,/]+/)) {
-				            $(this).removeClass('not_valid');
-				        }
-				    });
-				}
-			} // if settings.interactive
-		});
-
-		return this;
-
-	};
-
-	$.fn.tagsInput.updateTagsField = function(obj,tagslist) {
-		var id = $(obj).attr('id');
-		$(obj).val(tagslist.join(delimiter[id]));
-	};
-
-	$.fn.tagsInput.importTags = function(obj,val) {
-		$(obj).val('');
-		var id = $(obj).attr('id');
-		var tags = val.split(delimiter[id]);
-		for (i=0; i<tags.length; i++) {
-			$(obj).addTag(tags[i],{focus:false,callback:false});
-		}
-		if(tags_callbacks[id] && tags_callbacks[id]['onChange'])
-		{
-			var f = tags_callbacks[id]['onChange'];
-			f.call(obj, obj, tags[i]);
-		}
-	};
-
-   /**
-     * check delimiter Array
-     * @param event
-     * @returns {boolean}
-     * @private
-     */
-   var _checkDelimiter = function(event){
-      var found = false;
-      if (event.which == 13) {
-         return true;
-      }
-
-      if (typeof event.data.delimiter === 'string') {
-         if (event.which == event.data.delimiter.charCodeAt(0)) {
-            found = true;
-         }
-      } else {
-         $.each(event.data.delimiter, function(index, delimiter) {
-            if (event.which == delimiter.charCodeAt(0)) {
-               found = true;
-            }
-         });
-      }
-
-      return found;
-   }
-})(jQuery);
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Community-ChatComments.css b/gemeinsamforschen/src/main/webapp/communication/css/Community-ChatComments.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/Community-ChatComments.css
rename to gemeinsamforschen/src/main/webapp/communication/css/Community-ChatComments.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Team-Boxed.css b/gemeinsamforschen/src/main/webapp/communication/css/Team-Boxed.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/Team-Boxed.css
rename to gemeinsamforschen/src/main/webapp/communication/css/Team-Boxed.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/footer.css b/gemeinsamforschen/src/main/webapp/core/footer.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/footer.css
rename to gemeinsamforschen/src/main/webapp/core/footer.css
diff --git a/gemeinsamforschen/src/main/webapp/core/footer.js b/gemeinsamforschen/src/main/webapp/core/footer.js
new file mode 100644
index 0000000000000000000000000000000000000000..6875866f0675741797ba62d75e5e2538556dfe19
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/footer.js
@@ -0,0 +1,6 @@
+$(document).ready(function(){
+    $('#btnUnstructuredUpload').click(function () {
+        location.href="annotation/upload-unstructured-annotation.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
+    });
+
+});
diff --git a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld b/gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld
similarity index 77%
rename from gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld
rename to gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld
index b32f459cea3a6a036b622c85cb47749d45a1d3a0..75ee5e5eeb4c94f178e786d9b95ee3c079c21d34 100644
--- a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld
+++ b/gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld
@@ -13,6 +13,11 @@
         <name>menu</name>
         <tag-class>unipotsdam.gf.core.management.pageAppearance.Menu</tag-class>
         <body-content>empty</body-content>
+        <attribute>
+            <name>hierarchy</name>
+            <required>yes</required>
+            <rtexprvalue>no</rtexprvalue>
+        </attribute>
     </tag>
 
     <tag>
@@ -23,19 +28,24 @@
 
     <tag>
         <name>omniDependencies</name>
-        <tag-class>unipotsdam.gf.core.management.pageAppearance.omniDependencies</tag-class>
+        <tag-class>unipotsdam.gf.core.management.pageAppearance.OmniDependencies</tag-class>
         <body-content>empty</body-content>
+        <attribute>
+            <name>hierarchy</name>
+            <required>yes</required>
+            <rtexprvalue>no</rtexprvalue>
+        </attribute>
     </tag>
 
     <tag>
         <name>headLine</name>
-        <tag-class>unipotsdam.gf.core.management.pageAppearance.headLine</tag-class>
+        <tag-class>unipotsdam.gf.core.management.pageAppearance.HeadLine</tag-class>
         <body-content>empty</body-content>
     </tag>
 
     <tag>
         <name>footer</name>
-        <tag-class>unipotsdam.gf.core.management.pageAppearance.footer</tag-class>
+        <tag-class>unipotsdam.gf.core.management.pageAppearance.Footer</tag-class>
         <body-content>empty</body-content>
     </tag>
     
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/overview-docent.js b/gemeinsamforschen/src/main/webapp/core/overview-docent.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/overview-docent.js
rename to gemeinsamforschen/src/main/webapp/core/overview-docent.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/overview-student.js b/gemeinsamforschen/src/main/webapp/core/overview-student.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/overview-student.js
rename to gemeinsamforschen/src/main/webapp/core/overview-student.js
diff --git a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld.orig b/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld.orig
deleted file mode 100644
index 24e3cda55c35f4136e26d14751eee2747723d997..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld.orig
+++ /dev/null
@@ -1,40 +0,0 @@
-<taglib>
-    <tlib-version>1.0</tlib-version>
-    <jsp-version>2.0</jsp-version>
-    <short-name>hiddenUserTag</short-name>
-
-    <tag>
-        <name>hiddenUserTag</name>
-        <tag-class>unipotsdam.gf.core.management.user.HiddenUserTag</tag-class>
-        <body-content>empty</body-content>
-    </tag>
-
-    <tag>
-        <name>menu</name>
-        <tag-class>unipotsdam.gf.core.management.pageAppearance.Menu</tag-class>
-        <body-content>empty</body-content>
-    </tag>
-
-    <tag>
-<<<<<<< HEAD
-        <name>headLine</name>
-        <tag-class>unipotsdam.gf.core.management.pageAppearance.headLine</tag-class>
-=======
-        <name>session</name>
-        <tag-class>unipotsdam.gf.core.session.SessionTag</tag-class>
->>>>>>> origin/session_management
-        <body-content>empty</body-content>
-    </tag>
-
-    <tag>
-<<<<<<< HEAD
-        <name>omniDependencies</name>
-        <tag-class>unipotsdam.gf.core.management.pageAppearance.omniDependencies</tag-class>
-=======
-        <name>context</name>
-        <tag-class>unipotsdam.gf.core.session.ContextTag</tag-class>
->>>>>>> origin/session_management
-        <body-content>empty</body-content>
-    </tag>
-
-</taglib>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/project-student.js.orig b/gemeinsamforschen/src/main/webapp/core/project-student.js
similarity index 80%
rename from gemeinsamforschen/src/main/webapp/assets/js/project-student.js.orig
rename to gemeinsamforschen/src/main/webapp/core/project-student.js
index 91e62e10ffcba41e1d9200d943e1ae662256b591..8c7642ebeff55680cc523f7e27005087a29082a6 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/project-student.js.orig
+++ b/gemeinsamforschen/src/main/webapp/core/project-student.js
@@ -1,7 +1,7 @@
 $(document).ready(function(){
     // fetch all submission part project representations from database
     getSubmissionPartsByProjectId(getQueryVariable("projectId"), function (response) {
-        
+
         // iterate over response and display each element
         for (let i = 0; i < response.length; i++) {
             displaySubmission(response[i].user, response[i].category, response[i].fullSubmissionId);
@@ -11,12 +11,12 @@ $(document).ready(function(){
         $('.annotationview').click(function () {
             let fullSubmissionId = $(this).closest("li").data("fullSubmissionId");
             let category = $(this).closest("li").data("category");
-            location.href="annotation-document.jsp?token=" + getUserTokenFromUrl() +
+            location.href="annotation/annotation-document.jsp?token=" + getUserTokenFromUrl() +
                 "&projectId=" + getQueryVariable("projectId") +
                 "&fullSubmissionId=" + fullSubmissionId +
                 "&category=" + category;
         });
-        
+
     }, function () {
         // display empty view
         displayEmptyView()
@@ -30,20 +30,16 @@ $(document).ready(function(){
     });
     */
     $('.givefeedback').click(function () {
-        location.href="givefeedback.jsp?token="+getUserTokenFromUrl();
+        location.href="feedback/give-feedback.jsp?token="+getUserTokenFromUrl();
     });
     $('.viewfeedback').click(function () {
-        location.href="viewfeedback.jsp?token="+getUserTokenFromUrl();
+        location.href="feedback/view-feedback.jsp?token="+getUserTokenFromUrl();
     });
 
     $('.annotationview').click(function () {
-        location.href="annotation-document.jsp?token="+getUserTokenFromUrl();
+        location.href="annotation/annotation-document.jsp?token="+getUserTokenFromUrl();
     });
 
-    $('#btnUnstructuredUpload').click(function () {
-        location.href="unstructured-upload.jsp?token="+getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
-    })
-
     $('.viewprojectstudent').click(function () {
         location.href="project-student.jsp?token="+getUserTokenFromUrl();
     })
@@ -62,10 +58,10 @@ function displaySubmission(user, category, fullSubmissionId) {
         $('<li>')
             .append($('<span>').append(category.toUpperCase() + " eingereicht"))
             .append($('<a>').attr("class", "annotationview").attr("role", "button")
-                    .append($('<label>').css("font-size", "10px")
-                        .append($('<i>').attr("class", "far fa-comments").css("font-size", "15px"))
-                        .append("feedback")
-                    )
+                .append($('<label>').css("font-size", "10px")
+                    .append($('<i>').attr("class", "far fa-comments").css("font-size", "15px"))
+                    .append("feedback")
+                )
             )
             // add data to link
             .data("fullSubmissionId", fullSubmissionId)
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/utility.js b/gemeinsamforschen/src/main/webapp/core/utility.js
similarity index 67%
rename from gemeinsamforschen/src/main/webapp/assets/js/utility.js
rename to gemeinsamforschen/src/main/webapp/core/utility.js
index 3f21a38cd0eb8e61357a783869a2db3cc4e4f57d..334fdd7dbe9cace9e66a922b3e05773135a192d6 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/utility.js
+++ b/gemeinsamforschen/src/main/webapp/core/utility.js
@@ -2,7 +2,9 @@ $(document).ready(function(){
     $('#headLineProject').html($('#projectId').html());
     $('#logout').click(function(){
         //todo: delete cookies / reset session
-        document.location="../index.jsp";
+        let target = "index.jsp";
+        let link = changeLocationTo(target);
+        document.location=link;
     });
     $('#assessment').click(function(){
        checkAssessementPhase();
@@ -12,6 +14,13 @@ $(document).ready(function(){
     });
 });
 
+function changeLocationTo(target) {
+    let level = $('#hierarchyLevel').html().trim();
+    let link = calculateHierachy(level) + target;
+    return link;
+}
+
+
 function goBack() {
     window.history.back();
 }
@@ -29,19 +38,19 @@ function checkAssessementPhase(){
         success: function (phase) {
             switch (phase){
                 case "workRating":{
-                    document.location="finalAssessment.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim();
+                    changeLocationTo("finalAssessment.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim());
                     break;
                 }
                 case "quiz":{
-                    location.href = "takeQuiz.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim();
+                    changeLocationTo("take-quiz.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim());
                     break;
                 }
                 case "contributionRating":{
-                    location.href = "rateContribution.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim();
+                    changeLocationTo("rate-contribution.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim());
                     break;
                 }
                 case "done":{
-                    location.href = "project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim();
+                    changeLocationTo("project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim());
                     break;
                 }
             }
@@ -73,3 +82,19 @@ function getQueryVariable(variable) {
     }
     return (false);
 }
+
+
+
+function calculateHierachy(level) {
+
+    if (level == 0) {
+
+        return "";
+
+    } else {
+
+        return calculateHierachy(level-1)+"../";
+
+    }
+
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createProject.js b/gemeinsamforschen/src/main/webapp/course/js/createProject.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/createProject.js
rename to gemeinsamforschen/src/main/webapp/course/js/createProject.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/enrollProject.js b/gemeinsamforschen/src/main/webapp/course/js/enrollProject.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/enrollProject.js
rename to gemeinsamforschen/src/main/webapp/course/js/enrollProject.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/showProjects.js b/gemeinsamforschen/src/main/webapp/course/js/showProjects.js
similarity index 93%
rename from gemeinsamforschen/src/main/webapp/assets/js/showProjects.js
rename to gemeinsamforschen/src/main/webapp/course/js/showProjects.js
index ec4771b77b5e0cad7aec62634f303cd254241f7e..ff687d3f310be2d92ae07cc89f27192ce1b194f5 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/showProjects.js
+++ b/gemeinsamforschen/src/main/webapp/course/js/showProjects.js
@@ -35,7 +35,7 @@ function seeProject(projectName) {
                     $("#projectIsMissing").show();
                 } else {
                     if (response !== "wrong password") {            //if response !== project missing and not wrong password, its the projectToken
-                        location.href="preferences.php?token="+getUserTokenFromUrl()+"&projectToken="+response;
+                        location.href="enter-preferences.jsp?token="+getUserTokenFromUrl()+"&projectToken="+response;
                     } else {
                         $("#projectIsMissing").hide();
                         $('#projectWrongPassword').show();
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/specificRequirement.js b/gemeinsamforschen/src/main/webapp/course/js/specificRequirement.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/specificRequirement.js
rename to gemeinsamforschen/src/main/webapp/course/js/specificRequirement.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/specificSkills.js b/gemeinsamforschen/src/main/webapp/course/js/specificSkills.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/specificSkills.js
rename to gemeinsamforschen/src/main/webapp/course/js/specificSkills.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/viewfeedback.css b/gemeinsamforschen/src/main/webapp/feedback/css/viewfeedback.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/viewfeedback.css
rename to gemeinsamforschen/src/main/webapp/feedback/css/viewfeedback.css
diff --git a/gemeinsamforschen/src/main/webapp/pages/givefeedback.jsp b/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp
similarity index 85%
rename from gemeinsamforschen/src/main/webapp/pages/givefeedback.jsp
rename to gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp
index 688a5df9105e5918f12ae6464bf5f483f868a37b..365f23b121e96b5df7443a4a4d105ef9e85cff92 100644
--- a/gemeinsamforschen/src/main/webapp/pages/givefeedback.jsp
+++ b/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp
@@ -1,7 +1,8 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
 
 <!DOCTYPE html>
 <html>
@@ -22,27 +23,25 @@
     <script src="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.js"></script>
     <script src="https://cdn.rawgit.com/showdownjs/showdown/1.8.5/dist/showdown.min.js"></script>
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.css">
-    <script src="../assets/js/utility.js"></script>
-    <script src="../assets/js/project-student.js"></script>
+    <script src="js/utility.js"></script>
+    <script src="js/project-student.js"></script>
     <link rel="stylesheet" type="text/css" href="../assets/css/editDescription.css">
-    <script src="../assets/js/jquery.min.js"></script>
+    <script src="js/jquery.min.js"></script>
     <script src="../assets/bootstrap/js/bootstrap.min.js"></script>
-    <script src="../assets/js/Sidebar-Menu.js"></script>
-    <script  src="../assets/js/editDescription.js"></script>
+    <script src="js/Sidebar-Menu.js"></script>
+    <script  src="js/create-journal.js"></script>
         --%>
 
    <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="../assets/css/create-journal.css">
-    <script src="../assets/js/utility.js"></script>
-    <script src="../assets/js/project-student.js"></script>
-    <script src="../assets/js/peerfeedback.js"></script>
-        <omniDependencies:omniDependencies/>
+        <link rel="stylesheet" type="text/css" href="../journal/css/create-journal.css">
+    <script src="js/peerfeedback.js"></script>
+        <omniDependencies:omniDependencies hierarchy="1"/>
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <div>
@@ -137,12 +136,8 @@
 </table>
 </div>
 </div>
+    <footer:footer/>
 </div>
-
-<script src="../assets/js/jquery.min.js"></script>
-<script src="../assets/bootstrap/js/bootstrap.min.js"></script>
-<script src="../assets/js/Sidebar-Menu.js"></script>
-<script src="../assets/js/createJournal.js"></script>
 </body>
 
 </html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/givepeerfeedback.js b/gemeinsamforschen/src/main/webapp/feedback/js/givepeerfeedback.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/givepeerfeedback.js
rename to gemeinsamforschen/src/main/webapp/feedback/js/givepeerfeedback.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/peerfeedback.js b/gemeinsamforschen/src/main/webapp/feedback/js/peerfeedback.js
similarity index 94%
rename from gemeinsamforschen/src/main/webapp/assets/js/peerfeedback.js
rename to gemeinsamforschen/src/main/webapp/feedback/js/peerfeedback.js
index beb297c9c329233a74183dbcd35034cd89be3106..05bf9979063190089e21d01a32965c6d9016fa71 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/peerfeedback.js
+++ b/gemeinsamforschen/src/main/webapp/feedback/js/peerfeedback.js
@@ -49,7 +49,7 @@ $(document).ready(function() {
         });*/
 
         //console.log(data);
-       location.href="givefeedback.jsp?token=" + getUserTokenFromUrl();
+       location.href="give-feedback.jsp?token=" + getUserTokenFromUrl();
        alert("Feedback wurde gesendet!");
     });
 })
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/pages/viewfeedback.jsp b/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp
similarity index 90%
rename from gemeinsamforschen/src/main/webapp/pages/viewfeedback.jsp
rename to gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp
index d444f858ad4ac0803d6d99e233a90ed4e809144b..b50e9f8921415b4e5fa7a16715c054c34045166e 100644
--- a/gemeinsamforschen/src/main/webapp/pages/viewfeedback.jsp
+++ b/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp
@@ -1,23 +1,22 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
 
 <!DOCTYPE html>
 <html>
 
 <head>
-    <link rel="stylesheet" href="../assets/css/viewfeedback.css">
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/utility.js"></script>
-    <script src="../assets/js/project-student.js"></script>
-    <script src="../assets/js/givepeerfeedback.js"></script>
+    <link rel="stylesheet" href="css/viewfeedback.css">
+    <omniDependencies:omniDependencies hierarchy="1"/>
+    <script src="js/givepeerfeedback.js"></script>
 
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <div class="container-fluid">
@@ -115,7 +114,7 @@
                                             <div></div>
                                             <div class="media-body">
                                                 <div class="media" style="overflow:visible;">
-                                                    <div><img src="../assets/img/1.jpg" class="mr-3"
+                                                    <div><img src="../libs/img/1.jpg" class="mr-3"
                                                               style="width: 25px; height:25px;"></div>
                                                     <div class="media-body" style="overflow:visible;">
                                                         <div class="row">
@@ -137,7 +136,7 @@
                                             <div></div>
                                             <div class="media-body">
                                                 <div class="media" style="overflow:visible;">
-                                                    <div><img src="../assets/img/2.jpg" class="mr-3"
+                                                    <div><img src="../libs/img/2.jpg" class="mr-3"
                                                               style="width: 25px; height:25px;"></div>
                                                     <div class="media-body" style="overflow:visible;">
                                                         <div class="row">
@@ -165,11 +164,8 @@
             </table>
         </div>
     </div>
+    <footer:footer/>
 </div>
-
-<script src="../assets/js/jquery.min.js"></script>
-<script src="../assets/bootstrap/js/bootstrap.min.js"></script>
-<script src="../assets/js/Sidebar-Menu.js"></script>
 </body>
 
 </html>
diff --git a/gemeinsamforschen/src/main/webapp/groupfinding/create-groups.jsp b/gemeinsamforschen/src/main/webapp/groupfinding/create-groups.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..2959e4b75e27810fe9d5a60dfcb722cb27916017
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/groupfinding/create-groups.jsp
@@ -0,0 +1,24 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+
+<html>
+<head>
+    <omniDependencies:omniDependencies hierarchy="1"/>
+    <script src="js/changePhase.js"></script>
+</head>
+
+<body>
+<div id="wrapper">
+    <menu:menu hierarchy="1"/>
+    <div class="page-content-wrapper">
+        <headLine:headLine/>
+        student1<br>
+        student2<br>
+        <br>
+        in Gruppe 1    2     3
+    </div>
+</div>
+</body>
+</html>
diff --git a/gemeinsamforschen/src/main/webapp/pages/view_groupfinding_docent.html b/gemeinsamforschen/src/main/webapp/groupfinding/view_groupfinding_docent.html
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/pages/view_groupfinding_docent.html
rename to gemeinsamforschen/src/main/webapp/groupfinding/view_groupfinding_docent.html
diff --git a/gemeinsamforschen/src/main/webapp/pages/view_start_groupfinding.html b/gemeinsamforschen/src/main/webapp/groupfinding/view_start_groupfinding.html
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/pages/view_start_groupfinding.html
rename to gemeinsamforschen/src/main/webapp/groupfinding/view_start_groupfinding.html
diff --git a/gemeinsamforschen/src/main/webapp/pages/view_student_criteriachoice.html b/gemeinsamforschen/src/main/webapp/groupfinding/view_student_criteriachoice.html
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/pages/view_student_criteriachoice.html
rename to gemeinsamforschen/src/main/webapp/groupfinding/view_student_criteriachoice.html
diff --git a/gemeinsamforschen/src/main/webapp/index.jsp b/gemeinsamforschen/src/main/webapp/index.jsp
index 9af1d0e1043f1f5eb65ebcf07875971e42da3cfa..106ee11fefa8b5cd15602d2959dae85c1caf36e2 100644
--- a/gemeinsamforschen/src/main/webapp/index.jsp
+++ b/gemeinsamforschen/src/main/webapp/index.jsp
@@ -6,22 +6,22 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>gemeinsam Forschen</title>
-    <link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css">
+    <link rel="stylesheet" href="libs/bootstrap/css/bootstrap.min.css">
     <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700">
-    <link rel="stylesheet" href="assets/css/Login-Form-Clean.css">
-    <link rel="stylesheet" href="assets/css/Navigation-with-Button1.css">
-    <link rel="stylesheet" href="assets/css/Sidebar-Menu.css">
-    <link rel="stylesheet" href="assets/css/Sidebar-Menu1.css">
+    <link rel="stylesheet" href="libs/css/Login-Form-Clean.css">
+    <link rel="stylesheet" href="libs/css/Navigation-with-Button1.css">
+    <link rel="stylesheet" href="libs/css/Sidebar-Menu.css">
+    <link rel="stylesheet" href="libs/css/Sidebar-Menu1.css">
 
-    <script src="assets/js/jquery.min.js"></script>
-    <script src="assets/bootstrap/js/bootstrap.min.js"></script>
+    <script src="libs/jquery/jquery.min.js"></script>
+    <script src="libs/bootstrap/js/bootstrap.min.js"></script>
 </head>
 
 <body>
 <div class="login-clean">
     <form method="post" action="./rest/user/exists">
         <h2 class="sr-only">Login Formular</h2>
-        <div class="illustration"><img src="assets/img/fides-logo.svg"></div>
+        <div class="illustration"><img src="libs/img/fides-logo.svg"></div>
         <div class="form-group"><input class="form-control" type="email" name="email" placeholder="Email" autofocus>
         </div>
         <div class="form-group"><input class="form-control" type="password" name="password" placeholder="Password">
diff --git a/gemeinsamforschen/src/main/webapp/pages/createJournal.jsp b/gemeinsamforschen/src/main/webapp/journal/create-journal.jsp
similarity index 86%
rename from gemeinsamforschen/src/main/webapp/pages/createJournal.jsp
rename to gemeinsamforschen/src/main/webapp/journal/create-journal.jsp
index 047334f69717c358580fb58b3fc6eeff0d370094..b0ef3c22a845dff010801d563acb9f4dcffd34e2 100644
--- a/gemeinsamforschen/src/main/webapp/pages/createJournal.jsp
+++ b/gemeinsamforschen/src/main/webapp/journal/create-journal.jsp
@@ -1,5 +1,5 @@
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 
 <!DOCTYPE html>
 <html>
@@ -8,13 +8,14 @@
 
     <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="../assets/css/create-journal.css">
-    <omniDependencies:omniDependencies/>
+    <link rel="stylesheet" type="text/css" href="css/create-journal.css">
+    <omniDependencies:omniDependencies hierarchy="1"/>
+    <script src="js/create-journal.js"></script>
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu></menu:menu>
+    <menu:menu hierarchy="1"/>
 
     <div class="page-content-wrapper">
         <div class="container-fluid">
@@ -34,7 +35,7 @@
                     <td id="yourContent">
                         <h1> Tagebucheintrag erstellen </h1>
 
-                        <form id="journalform" class="form-journal" method="POST" action="../rest/journal/save">
+                        <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">
@@ -86,11 +87,6 @@
         </div>
     </div>
 </div>
-
-<script src="../assets/js/jquery.min.js"></script>
-<script src="../assets/bootstrap/js/bootstrap.min.js"></script>
-<script src="../assets/js/Sidebar-Menu.js"></script>
-<script src="../assets/js/createJournal.js"></script>
 </body>
 
 </html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/create-journal.css b/gemeinsamforschen/src/main/webapp/journal/css/create-journal.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/create-journal.css
rename to gemeinsamforschen/src/main/webapp/journal/css/create-journal.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/e-portfolio.css b/gemeinsamforschen/src/main/webapp/journal/css/eportfolio.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/e-portfolio.css
rename to gemeinsamforschen/src/main/webapp/journal/css/eportfolio.css
diff --git a/gemeinsamforschen/src/main/webapp/pages/eportfolio.jsp b/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp
similarity index 92%
rename from gemeinsamforschen/src/main/webapp/pages/eportfolio.jsp
rename to gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp
index ee473b420b8267986da32c0ed60a0d5543578e02..a21688a5c34091aaac8ce8a104ac5072fab92fb3 100644
--- a/gemeinsamforschen/src/main/webapp/pages/eportfolio.jsp
+++ b/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp
@@ -1,19 +1,20 @@
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 
 <!DOCTYPE html>
 <html>
 
 <head>
 
-    <link rel="stylesheet" href="../assets/css/e-portfolio.css">
-    <omniDependencies:omniDependencies/>
+    <link rel="stylesheet" href="css/eportfolio.css">
+    <omniDependencies:omniDependencies hierarchy="1"/>
+    <script src="js/eportfolio.js"></script>
 
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="1"/>
 
     <div class="page-content-wrapper">
         <div class="container-fluid">
@@ -152,11 +153,6 @@
         </div>
     </div>
 </div>
-
-<script src="../assets/js/jquery.min.js"></script>
-<script src="../assets/bootstrap/js/bootstrap.min.js"></script>
-<script src="../assets/js/Sidebar-Menu.js"></script>
-<script src="../assets/js/e-portfolio.js"></script>
 </body>
 
 </html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/editDescription.js b/gemeinsamforschen/src/main/webapp/journal/js/create-journal.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/editDescription.js
rename to gemeinsamforschen/src/main/webapp/journal/js/create-journal.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js b/gemeinsamforschen/src/main/webapp/journal/js/eportfolio.js
similarity index 92%
rename from gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js
rename to gemeinsamforschen/src/main/webapp/journal/js/eportfolio.js
index 7ec0e356f132d559afe80381f3bd10cd1f7f79fb..c62bb17492bd881c8c3647f7cb76ac1c444fe88c 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/e-portfolio.js
+++ b/gemeinsamforschen/src/main/webapp/journal/js/eportfolio.js
@@ -38,11 +38,11 @@ $(document).ready(function() {
     });
 
     $('#editDescriptionLink').on('click', function () {
-        location.href = "editDescription.jsp?project=" + project + "&token=" + student + "&projectId=" + project;
+        location.href = "edit-project.jsp?project=" + project + "&token=" + student + "&projectId=" + project;
     });
 
     $('#createJournalLink').on('click', function () {
-        location.href = "createJournal.jsp?token=" + student + "&projectId=" + project;
+        location.href = "create-journal.jsp?token=" + student + "&projectId=" + project;
     });
 
 });
@@ -95,7 +95,7 @@ function loadJournals(data) {
         //TODO userToken...
         if (data[journal].studentIdentifier.studentId == student && data[journal].open) {
             journalString = journalString +
-                '<a class="btn btn-default btn-sm" href="createJournal.jsp?token=' + student + '&projectId=' + project + '&journal=' + data[journal].id + '"><i class="fa fa-pencil"></i> Bearbeiten</a>' +
+                '<a class="btn btn-default btn-sm" href="create-journal.jsp?token=' + student + '&projectId=' + project + '&journal=' + data[journal].id + '"><i class="fa fa-pencil"></i> Bearbeiten</a>' +
                 '<a class="open-CloseJournalDialog btn btn-default btn-sm" data-toggle="modal" data-id ='
                 + data[journal].id +
                 ' data-target ="#closeJournalModal" > <i class="fa fa-check-square" aria-hidden = "true" ></i> Abschlie&szlig;en</a> '
diff --git a/gemeinsamforschen/src/main/webapp/jsexample.html b/gemeinsamforschen/src/main/webapp/jsexample.html
deleted file mode 100644
index 1446e1e77948e200b185b78fb8051afc0e40a6d6..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/jsexample.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title>JSexample</title>
-
-    <script src="http://code.jquery.com/jquery-3.3.1.min.js"
-            integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
-            crossorigin="anonymous"></script>
-    <script src="munchkin/js/munschkinloader.js" type="application/javascript"></script>
-</head>
-<body>
-Hi Munschkinlieberhaber
-
-<div id="munschkin"></div>
-</body>
-</html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/assets/bootstrap/css/bootstrap.min.css b/gemeinsamforschen/src/main/webapp/libs/bootstrap/css/bootstrap.min.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/bootstrap/css/bootstrap.min.css
rename to gemeinsamforschen/src/main/webapp/libs/bootstrap/css/bootstrap.min.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/bootstrap/js/bootstrap.min.js b/gemeinsamforschen/src/main/webapp/libs/bootstrap/js/bootstrap.min.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/bootstrap/js/bootstrap.min.js
rename to gemeinsamforschen/src/main/webapp/libs/bootstrap/js/bootstrap.min.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Customizable-Carousel-swipe-enabled.css b/gemeinsamforschen/src/main/webapp/libs/carousel/Customizable-Carousel-swipe-enabled.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/Customizable-Carousel-swipe-enabled.css
rename to gemeinsamforschen/src/main/webapp/libs/carousel/Customizable-Carousel-swipe-enabled.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/Customizable-Carousel-swipe-enabled.js b/gemeinsamforschen/src/main/webapp/libs/carousel/Customizable-Carousel-swipe-enabled.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/Customizable-Carousel-swipe-enabled.js
rename to gemeinsamforschen/src/main/webapp/libs/carousel/Customizable-Carousel-swipe-enabled.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Contact-Form-Clean.css b/gemeinsamforschen/src/main/webapp/libs/css/Contact-Form-Clean.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/Contact-Form-Clean.css
rename to gemeinsamforschen/src/main/webapp/libs/css/Contact-Form-Clean.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Login-Form-Clean.css b/gemeinsamforschen/src/main/webapp/libs/css/Login-Form-Clean.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/Login-Form-Clean.css
rename to gemeinsamforschen/src/main/webapp/libs/css/Login-Form-Clean.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/MUSA_panel-table.css b/gemeinsamforschen/src/main/webapp/libs/css/MUSA_panel-table.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/MUSA_panel-table.css
rename to gemeinsamforschen/src/main/webapp/libs/css/MUSA_panel-table.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/MUSA_panel-table1.css b/gemeinsamforschen/src/main/webapp/libs/css/MUSA_panel-table1.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/MUSA_panel-table1.css
rename to gemeinsamforschen/src/main/webapp/libs/css/MUSA_panel-table1.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Navigation-with-Button1.css b/gemeinsamforschen/src/main/webapp/libs/css/Navigation-with-Button1.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/Navigation-with-Button1.css
rename to gemeinsamforschen/src/main/webapp/libs/css/Navigation-with-Button1.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu-1.css b/gemeinsamforschen/src/main/webapp/libs/css/Sidebar-Menu-1.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu-1.css
rename to gemeinsamforschen/src/main/webapp/libs/css/Sidebar-Menu-1.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu.css b/gemeinsamforschen/src/main/webapp/libs/css/Sidebar-Menu.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu.css
rename to gemeinsamforschen/src/main/webapp/libs/css/Sidebar-Menu.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu1.css b/gemeinsamforschen/src/main/webapp/libs/css/Sidebar-Menu1.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu1.css
rename to gemeinsamforschen/src/main/webapp/libs/css/Sidebar-Menu1.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/styles.css b/gemeinsamforschen/src/main/webapp/libs/css/styles.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/styles.css
rename to gemeinsamforschen/src/main/webapp/libs/css/styles.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/FontAwesome.otf b/gemeinsamforschen/src/main/webapp/libs/fonts/FontAwesome.otf
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/fonts/FontAwesome.otf
rename to gemeinsamforschen/src/main/webapp/libs/fonts/FontAwesome.otf
diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/font-awesome.min.css b/gemeinsamforschen/src/main/webapp/libs/fonts/font-awesome.min.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/fonts/font-awesome.min.css
rename to gemeinsamforschen/src/main/webapp/libs/fonts/font-awesome.min.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.eot b/gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.eot
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.eot
rename to gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.eot
diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.svg b/gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.svg
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.svg
rename to gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.svg
diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.ttf b/gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.ttf
rename to gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.ttf
diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.woff b/gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.woff
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.woff
rename to gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.woff
diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.woff2 b/gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.woff2
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/fonts/fontawesome-webfont.woff2
rename to gemeinsamforschen/src/main/webapp/libs/fonts/fontawesome-webfont.woff2
diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.eot b/gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.eot
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.eot
rename to gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.eot
diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.min.css b/gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.min.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.min.css
rename to gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.min.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.svg b/gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.svg
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.svg
rename to gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.svg
diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.ttf b/gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.ttf
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.ttf
rename to gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.ttf
diff --git a/gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.woff b/gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.woff
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/fonts/ionicons.woff
rename to gemeinsamforschen/src/main/webapp/libs/fonts/ionicons.woff
diff --git a/gemeinsamforschen/src/main/webapp/assets/img/1.jpg b/gemeinsamforschen/src/main/webapp/libs/img/1.jpg
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/img/1.jpg
rename to gemeinsamforschen/src/main/webapp/libs/img/1.jpg
diff --git a/gemeinsamforschen/src/main/webapp/assets/img/2.jpg b/gemeinsamforschen/src/main/webapp/libs/img/2.jpg
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/img/2.jpg
rename to gemeinsamforschen/src/main/webapp/libs/img/2.jpg
diff --git a/gemeinsamforschen/src/main/webapp/assets/img/3.jpg b/gemeinsamforschen/src/main/webapp/libs/img/3.jpg
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/img/3.jpg
rename to gemeinsamforschen/src/main/webapp/libs/img/3.jpg
diff --git a/gemeinsamforschen/src/main/webapp/assets/img/fides-logo.svg b/gemeinsamforschen/src/main/webapp/libs/img/fides-logo.svg
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/img/fides-logo.svg
rename to gemeinsamforschen/src/main/webapp/libs/img/fides-logo.svg
diff --git a/gemeinsamforschen/src/main/webapp/assets/img/noImg.png b/gemeinsamforschen/src/main/webapp/libs/img/noImg.png
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/img/noImg.png
rename to gemeinsamforschen/src/main/webapp/libs/img/noImg.png
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/.gitignore b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/.gitignore
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/.gitignore
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/.gitignore
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/Gruntfile.js b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/Gruntfile.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/Gruntfile.js
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/Gruntfile.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/README.md b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/README.md
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/README.md
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/README.md
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/bower.json b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/bower.json
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/bower.json
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/bower.json
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.css b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.css
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.js b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.js
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/dist/jquery.tagsinput.min.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/example.html b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/example.html
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/example.html
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/example.html
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/grunt-tasks/assets_production.js b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/grunt-tasks/assets_production.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/grunt-tasks/assets_production.js
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/grunt-tasks/assets_production.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/grunt-tasks/options/cssmin.js b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/grunt-tasks/options/cssmin.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/grunt-tasks/options/cssmin.js
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/grunt-tasks/options/cssmin.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/grunt-tasks/options/uglify.js b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/grunt-tasks/options/uglify.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/grunt-tasks/options/uglify.js
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/grunt-tasks/options/uglify.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/package.json b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/package.json
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/package.json
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/package.json
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/jquery.tagsinput.css b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/src/jquery.tagsinput.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/jquery.tagsinput.css
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/src/jquery.tagsinput.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/src/jquery.tagsinput.js b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/src/jquery.tagsinput.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/src/jquery.tagsinput.js
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/src/jquery.tagsinput.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/test/fake_json_endpoint.html b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/test/fake_json_endpoint.html
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/test/fake_json_endpoint.html
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/test/fake_json_endpoint.html
diff --git a/gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/test/fake_plaintext_endpoint.html b/gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/test/fake_plaintext_endpoint.html
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/jQuery-Tags-Input-master/test/fake_plaintext_endpoint.html
rename to gemeinsamforschen/src/main/webapp/libs/jQuery-Tags-Input-master/test/fake_plaintext_endpoint.html
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/jquery.min.js b/gemeinsamforschen/src/main/webapp/libs/jquery/jquery.min.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/jquery.min.js
rename to gemeinsamforschen/src/main/webapp/libs/jquery/jquery.min.js
diff --git a/gemeinsamforschen/src/main/webapp/pages/changePhase.jsp b/gemeinsamforschen/src/main/webapp/management/change-phase.jsp
similarity index 70%
rename from gemeinsamforschen/src/main/webapp/pages/changePhase.jsp
rename to gemeinsamforschen/src/main/webapp/management/change-phase.jsp
index c3d7c07a1f47ed3e1a855ef454dca240d92fb8c7..33d0d5a0b53caa9ce310020bd409c48771c49b0d 100644
--- a/gemeinsamforschen/src/main/webapp/pages/changePhase.jsp
+++ b/gemeinsamforschen/src/main/webapp/management/change-phase.jsp
@@ -1,22 +1,22 @@
 <%@ page contentType="text/html;charset=UTF-8" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="footer" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
 
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/changePhase.js"></script>
+    <omniDependencies:omniDependencies hierarchy="1"/>
+    <script src="js/changePhase.js"></script>
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
-        <div class="alert"id="CourseCreation">
+        <div class="alert" id="CourseCreation">
             <button id="btnCourseCreation" class="btn btn-secondary">Projekterstellungsphase</button>
         </div>
         <div class="alert" id="GroupFormation">
diff --git a/gemeinsamforschen/src/main/webapp/management/create-project.jsp b/gemeinsamforschen/src/main/webapp/management/create-project.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..25502138aedc9b9c27cbc79de1aa93347ea12bac
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/create-project.jsp
@@ -0,0 +1,86 @@
+<%--
+  Created by IntelliJ IDEA.
+  User: dehne
+  Date: 12.09.2018
+  Time: 12:06
+  To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" %>
+<!DOCTYPE html>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Projekterstellung</title>
+    <script src="js/config.js"></script>
+    <script src="js/newProject.js"></script>
+</head>
+
+<body>
+<p id="user" hidden><?php echo $userName; ?></p>
+
+<div class="loader-inactive" id="loader">
+    <div class="sk-cube1 sk-cube"></div>
+    <div class="sk-cube2 sk-cube"></div>
+    <div class="sk-cube4 sk-cube"></div>
+    <div class="sk-cube3 sk-cube"></div>
+</div>
+
+<div id="wrapper">
+    <menu:menu hierarchy="1"/>
+    <div class="page-content-wrapper">
+        <div class="container-fluid">
+            <div class="row">
+                <div class="col-md-12">
+                    <div>
+                        <p></p>
+                        <h3> Erstellen Sie ein neues Projekt.</h3>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="contact-clean">
+        <p>Name des Projekts</p>
+        <div class="alert alert-danger" role="alert" style="width:475px" id="projectNameExists">
+            Dieser Projektname exisitiert bereits.
+        </div>
+        <div class="alert alert-danger" role="alert" style="width:475px" id="exactNumberOfTags">
+            Es müssen genau 5 Tags eingegeben werden.
+        </div>
+        <div class="alert alert-danger" role="alert" style="width:475px" id="specialChars">
+            Der Projektname darf keine Sonderzeichen enthalten.
+        </div>
+        <div class="alert alert-danger" role="alert" style="width:475px" id="projectIsMissing">
+            Tragen sie einen Projektnamen ein.
+        </div>
+        <div class="form-group"><input class="form-control" name="name" placeholder="Name"
+                                       style="width:286px;margin-left:50px;" id="nameProject"></div>
+        <p> Passwort zum Teilnehmen (optional) </p>
+        <div class="form-group"><input class="form-control" name="password" placeholder="Passwort"
+                                       style="width:287px;margin-left:51px;" id="passwordProject"></div>
+        <p> Passwort zum Löschen (sonst: 1234) </p>
+        <div class="form-group"><input class="form-control" name="adminpassword" placeholder="Passwort"
+                                       style="width:287px;margin-left:51px;" id="adminPassword"></div>
+        <p>Tags </p>
+        <div id="tagHelper" class="alert alert-warning" style="width:475px;">
+            Fügen sie zudem 5 Tags zu ihrem Projekt hinzu, welche ihr Projekt inhaltlich umreißen.
+        </div>
+        <div class="form-group"><input class="tags" data-role="tags" name="Tags" placeholder="Tags"
+                                       id="tagsProject">
+        </div>
+        <label>An Kurs selbst teilnehmen <input type="checkbox" id="Teilnehmer"></label>
+
+        <div class="form-group">
+            <button class="btn btn-primary" style="margin-left:129px;" id="sendProject">erstellen</button>
+        </div>
+    </div>
+</div>
+
+</body>
+
+</html>
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/projects.css b/gemeinsamforschen/src/main/webapp/management/css/projects.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/projects.css
rename to gemeinsamforschen/src/main/webapp/management/css/projects.css
diff --git a/gemeinsamforschen/src/main/webapp/management/delete-project.jsp b/gemeinsamforschen/src/main/webapp/management/delete-project.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..d3cdd4cd3007f94d77cd5e1fa913d67a1fb816f3
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/delete-project.jsp
@@ -0,0 +1,60 @@
+<%--
+  Created by IntelliJ IDEA.
+  User: dehne
+  Date: 12.09.2018
+  Time: 12:06
+  To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" %>
+<!DOCTYPE html>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
+<html>
+<head>
+    <omniDependencies:omniDependencies hierarchy="1"/>
+    <script src="js/config.js"></script>
+    <script src="js/deleteProject.js"></script>
+
+</head>
+
+<body>
+<div class="loader-inactive" id="loader"></div>
+<div id="wrapper" class="wrapper">
+    <menu:menu hierarchy="1"/>
+    <div class="page-content-wrapper">
+        <div class="container-fluid"><a class="btn btn-link" role="button" href="#menu-toggle" id="menu-toggle"></a>
+            <div class="row">
+                <div class="col-md-12">
+                    <h3>Projekt löschen! </h3>
+                    <div class="page-header"></div>
+                </div>
+            </div>
+        </div>
+    </div>
+        <fieldset>
+            <legend style="margin-left:13px;">Projektnamen</legend>
+            <input class="form-control" type="text" id="projectName" name="Project" required=""
+                   placeholder="Projekt1" autofocus=""
+                   style="max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;">
+            <div class="alert alert-warning" role="alert" id="projectIsMissing">
+                Dieser Projektname existiert nicht oder das Passwort ist falsch.
+            </div>
+
+        </fieldset>
+        <fieldset>
+            <legend style="margin-left:13px;">Passwort zum löschen</legend>
+            <input class="form-control" type="password" id="projectPassword" name="Password" required=""
+                   placeholder="******"
+                   style="max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;">
+            <div class="alert alert-warning" role="alert" id="projectWrongPassword">
+                Falsches Passwort.
+            </div>
+        </fieldset>
+        <button id="deleteProject" class="btn btn-danger">löschen</button>
+    <footer:footer/>
+</div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/pages/editDescription.jsp b/gemeinsamforschen/src/main/webapp/management/edit-project.jsp
similarity index 79%
rename from gemeinsamforschen/src/main/webapp/pages/editDescription.jsp
rename to gemeinsamforschen/src/main/webapp/management/edit-project.jsp
index 5a5bd034793617af707358b3a968d004002cfec1..3e585224e3c6229b6c96f9f8a5172ac52dac98ea 100644
--- a/gemeinsamforschen/src/main/webapp/pages/editDescription.jsp
+++ b/gemeinsamforschen/src/main/webapp/management/edit-project.jsp
@@ -1,5 +1,5 @@
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 
 <!DOCTYPE html>
 <html>
@@ -9,13 +9,13 @@
     <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="../assets/css/editDescription.css">
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
 
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu></menu:menu>
+    <menu:menu hierarchy="1"/>
 
     <div class="page-content-wrapper">
         <div class="container-fluid">
@@ -34,7 +34,7 @@
                     <td  id="yourContent">
                         <h1> Projektbeschreibung bearbeiten </h1>
 
-                        <form id="descriptionform" class="form-journal" method="POST" action="../rest/projectdescription/saveText">
+                        <form id="descriptionform" class="form-journal" method="POST" action="rest/projectdescription/saveText">
 
                             <input type="hidden" id="student" name="student">
                             <input type="hidden" id="project" name="project">
@@ -59,11 +59,7 @@
         </div>
     </div>
 </div>
-
-<script src="../assets/js/jquery.min.js"></script>
-<script src="../assets/bootstrap/js/bootstrap.min.js"></script>
-<script src="../assets/js/Sidebar-Menu.js"></script>
-<script  src="../assets/js/editDescription.js"></script>
+<script  src="js/editDescription.js"></script>
 </body>
 
 </html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/management/enter-preferences.jsp b/gemeinsamforschen/src/main/webapp/management/enter-preferences.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..f5aaa888d4c2664f520a8b6e8ce37ba7b45e41b4
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/enter-preferences.jsp
@@ -0,0 +1,93 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Gruppenmatcher</title>
+    <script src="js/config.js"></script>
+    <script src="js/createPreferences.js"></script>
+</head>
+<body>
+
+
+<p id="user" hidden><?php echo $userName; ?></p>
+<p id="projectName" hidden><?php echo $projectName; ?></p>
+<div class="loader-inactive" id="loader">
+    <div class="sk-cube1 sk-cube"></div>
+    <div class="sk-cube2 sk-cube"></div>
+    <div class="sk-cube4 sk-cube"></div>
+    <div class="sk-cube3 sk-cube"></div>
+</div>
+<div id="wrapper" class="wrapper">
+    <?php
+    include_once 'menu.php'
+    ?>
+    <div class="page-content-wrapper">
+        <div class="container-fluid"><a class="btn btn-link" role="button" href="#menu-toggle" id="menu-toggle"></a>
+            <div class="row">
+                <div class="col-md-12">
+                    <h3>Geben Sie hier ihre Präferenzen für das Projekt <?php echo $projectName; ?> ein!</h3>
+                    <div class="page-header"></div>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <fieldset>
+        <legend style="margin-left:13px;">Lernziele</legend>
+        <div id="competencies">
+            <input class="form-control" type="text" id="competencies0" name="competencies" required=""
+                   placeholder="Ich möchte folgendes lernen:"
+                   style="margin:0px;max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;">
+        </div>
+        <button
+                class="btn btn-default" type="button"
+                style="margin-left:443px;margin-top:-88px;height:36px;width:33px;"
+                id="addCompetenceButton">+
+        </button>
+        <button
+                class="btn btn-default" type="button"
+                style="margin-left:10px;margin-top:-88px;height:36px;width:33px;"
+                id="subtractCompetenceButton">-
+        </button>
+
+    </fieldset>
+    <fieldset style="margin-bottom:-3px;">
+        <legend style="margin-left:13px;">Forschungsfrage</legend>
+        <div id="researchQuestion">
+            <input class="form-control" id="researchQuestion0" type="text" name="researchQuestion" required=""
+                   placeholder="Meine Forschungsfrage(n): "
+                   style="margin:0px;max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;">
+        </div>
+        <button class="btn btn-default" type="button"
+                style="margin-left:443px;margin-top:-88px;height:36px;width:33px;"
+                id="addResearchQuestionButton">+
+        </button>
+        <button
+                class="btn btn-default" type="button"
+                style="margin-left:10px;margin-top:-88px;height:36px;width:33px;"
+                id="subtractCResearchQuestionButton">-
+        </button>
+    </fieldset>
+    <fieldset>
+        <legend style="margin-left:13px;">Tags</legend>
+        <p  class="alert alert-warning" style="width:520px;">Wähle 2 der hier angegebenen Tags aus, die am ehesten zu deiner Forschungsfrage passen.</p>
+        <div id="tags">
+
+        </div>
+    </fieldset>
+    <button class="btn btn-primary" id="studentFormSubmit" style="width:90px;margin-left:169px;margin-top:13px;">
+        eintragen
+    </button>
+    <div class="alert alert-warning" style="width:520px" role="alert">
+        Das Verarbeiten der Lernziele und das Gruppenmatching kann einen Moment dauern!
+    </div>
+</div>
+
+</body>
+
+
+
+
diff --git a/gemeinsamforschen/src/main/webapp/management/groups.jsp b/gemeinsamforschen/src/main/webapp/management/groups.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..ce3bbf59c16fd39a6a6d79cfd832b21d600a2ecd
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/groups.jsp
@@ -0,0 +1,91 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>student-form-design</title>
+    <link rel="stylesheet" href="../assets/bootstrap/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700">
+    <link rel="stylesheet" href="../assets/css/Login-Form-Clean.css">
+    <link rel="stylesheet" href="../assets/css/Navigation-with-Button1.css">
+    <link rel="stylesheet" href="../assets/css/Sidebar-Menu.css">
+    <link rel="stylesheet" href="../assets/css/Sidebar-Menu1.css">
+
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
+    <script src="js/config.js"></script>
+    <script src="js/myGroupsInit.js"></script>
+    <script src="js/getProjects.js"></script>
+    <script src="../assets/bootstrap/js/bootstrap.min.js"></script>
+    <script src="js/Sidebar-Menu.js"></script>
+
+
+
+</head>
+
+<body>
+<p id="user" hidden><?php echo $userName; ?></p>
+
+<div id="wrapper">
+    <?php
+    include_once 'menu.php'
+    ?>
+    <div class="page-content-wrapper">
+        <div class="container-fluid"><a class="btn btn-link" role="button" href="#menu-toggle" id="menu-toggle"></a>
+            <div class="row">
+                <div class="col-md-12">
+
+                    <div class="page-header"></div>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <div>
+        <div class="container">
+            <div class="row">
+                <div class="col-md-offset-3 col-sm-8 col-xs-1">
+                    <h3>Projekt</h3>
+                    <div class="dropdown">
+                        <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown"
+                                id="projectDropdown">Projekt auswählen
+                            <span class="caret"></span></button>
+                        <ul class="dropdown-menu" id="dropdownOptions">
+                        </ul>
+                    </div>
+                </div>
+            </div>
+            <div id="tablesHolder"></div>
+           <!-- <table class="table table-striped table-bordered table-list" style="width: 40%;margin-top: 10px;">
+                <thead id="tableHead">
+                <tr>
+                    <th class="hidden-xs">Student</th>
+                    <th>E-Mail</th>
+                </tr>
+                </thead>
+                <tbody>
+                <tr id="student2">
+
+                </tr>
+                <tr id="student3">
+
+                </tr>
+                <tr id="student4">
+
+                </tr>
+                <tr id="student5">
+
+                </tr>
+
+                </tbody>
+
+            </table>-->
+            <!--<p>Hier können sie ihre Gruppen zu allen Projekten einsehen. Klicken sie dafür auf das Dropdownmenü
+                um ihren Kurs auszuwählen.</p>-->
+        </div>
+    </div>
+</div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/management/join-project.jsp b/gemeinsamforschen/src/main/webapp/management/join-project.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..3dca2a077cdc5db5207f37e067e5b91d2d6a460e
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/join-project.jsp
@@ -0,0 +1,66 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Gruppenmatcher</title>
+    <link rel="stylesheet" href="../assets/bootstrap/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700">
+    <link rel="stylesheet" href="../assets/css/Login-Form-Clean.css">
+    <link rel="stylesheet" href="../assets/css/Navigation-with-Button1.css">
+    <link rel="stylesheet" href="../assets/css/Sidebar-Menu.css">
+    <link rel="stylesheet" href="../assets/css/Sidebar-Menu1.css">
+    <link rel="stylesheet" href="../assets/css/styles.css">
+    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
+    <script src="js/config.js"></script>
+    <script src="js/utility.js"></script>
+    <script src="js/showProjects.js"></script>
+    <script src="js/GETfile.js"></script>
+    <script src="../assets/bootstrap/js/bootstrap.min.js"></script>
+    <script src="js/Sidebar-Menu.js"></script>
+
+</head>
+
+<body>
+<p id="user" hidden><?php echo $userName; ?></p>
+<div class="loader-inactive" id="loader"></div>
+<div id="wrapper" class="wrapper" style="margin:0px;">
+    <?php
+    include_once 'menu.php'
+    ?>
+    <div class="page-content-wrapper">
+        <div class="container-fluid"><a class="btn btn-link" role="button" href="#menu-toggle" id="menu-toggle"></a>
+            <div class="row">
+                <div class="col-md-12">
+                    <h3>Tragen sie sich in ein neues Projekt ein. </h3>
+                    <div class="page-header"></div>
+                </div>
+            </div>
+        </div>
+    </div>
+        <fieldset>
+            <legend style="margin-left:13px;">Projektnamen</legend>
+            <input class="form-control" type="text" id="projectName" name="Project" required=""
+                   placeholder="Projekt1" autofocus=""
+                   style="margin:0px;max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;">
+            <div class="alert alert-warning" role="alert" id="projectIsMissing">
+                Dieser Projektname existiert nicht.
+            </div>
+
+        </fieldset>
+        <fieldset>
+            <legend style="margin-left:13px;">Passwort</legend>
+            <input class="form-control" type="password" id="projectPassword" name="Password" required=""
+                   placeholder="******"
+                   style="margin:0px;max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;">
+            <div class="alert alert-warning" role="alert" id="projectWrongPassword">
+                Falsches Passwort.
+            </div>
+        </fieldset>
+        <button id="seeProject" class="btn btn-primary">Einsehen</button>
+</div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/changePhase.js b/gemeinsamforschen/src/main/webapp/management/js/changePhase.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/changePhase.js
rename to gemeinsamforschen/src/main/webapp/management/js/changePhase.js
diff --git a/gemeinsamforschen/src/main/webapp/management/js/config.js b/gemeinsamforschen/src/main/webapp/management/js/config.js
new file mode 100644
index 0000000000000000000000000000000000000000..af79dfc9d5b448c751e0f1bf6ef47fc2b0e569b8
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/js/config.js
@@ -0,0 +1,3 @@
+//var compbaseUrl = "https://esb.uni-potsdam.de:8243/services/competenceBase";
+//var compbaseUrl = "http://fleckenroller.cs.uni-potsdam.de/app/competence-database-prod";
+var compbaseUrl = "https://apiup.uni-potsdam.de/endpoints/competenceAPI";
diff --git a/gemeinsamforschen/src/main/webapp/management/js/createPreferences.js b/gemeinsamforschen/src/main/webapp/management/js/createPreferences.js
new file mode 100644
index 0000000000000000000000000000000000000000..90b4243fbcaf44130bdc34b880fa01bedde101e3
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/js/createPreferences.js
@@ -0,0 +1,148 @@
+/**
+ * Created by fides-WHK on 15.03.2018.
+ */
+
+
+$(document).ready(function () {
+var projectName = getProjectByToken();
+    getTags(projectName);
+    $("#competencies0").focus();
+    $("#studentFormSubmit").on("click", function () {
+        takesPartInProject();
+    });
+    $("#addCompetenceButton").on("click", function () {
+        addInput("competencies");       //creates a new input-Field with the ID 'competenciesX' where X is number of elements with 'competencies' as ID
+    });
+    $("#subtractCompetenceButton").on("click", function () {
+        deletInput("competencies");     //deletes latest input-Field with the ID 'competenciesX' where X is number of elements with 'competencies' as ID
+    });
+    $("#addResearchQuestionButton").on("click", function () {
+        addInput("researchQuestion");   //creates a new input-Field with the ID 'researchQuestionX' where X is number of elements with 'researchQuestion' as ID
+    });
+    $("#subtractCResearchQuestionButton").on("click", function () {
+        deletInput("researchQuestion");    //deletes the latest input-Field with ID 'researchQuestionX' where X is number of elements with 'researchQuestion' as ID
+    });
+
+});
+
+function getProjectByToken(){
+    return $('#projectName').text().trim();
+}
+
+function addInput(name) {        //creates a new input-Field with the ID 'nameX' where X is number of elements with 'name' as ID
+    var i = document.getElementsByName(name).length;
+    var newInput = document.createElement("span");
+    newInput.innerHTML = "<input class='form-control' " +
+        "type='text' " +
+        "name='" + name + "' " +
+        "id='" + name + i + "' " +
+        "style='max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;'>";
+    var div = document.getElementById(name);
+    div.appendChild(newInput);
+}
+
+function deletInput(name) {        //deletes latest input-Field with the ID 'nameX' where X is number of elements with 'name' as ID
+    var i = document.getElementsByName(name).length;
+    if (i > 1) {
+        var lastEntry = document.getElementById(name + "" + (i - 1));
+        lastEntry.parentNode.removeChild(lastEntry);
+    }
+}
+
+function getTags(projectName) {
+    var url = "../database/getTags.php?project=" + projectName;
+    $.ajax({
+        url: url,
+        Accept: "text/plain; charset=utf-8",
+        contentType: "text/plain",
+        success: function (response) {
+            response = JSON.parse(response);
+            var tagList = [];
+            var i = 0;
+            for (i = 0; i < response.length; i++)
+                tagList.push(response[i].tag);
+            for (i = 0; i < tagList.length; i++) {
+                var newInput = document.createElement("label");
+                newInput.innerHTML =
+                    "<div class='checkbox checkbox-primary' >"
+                        + "<input id='tag" + i + "' "  + " class='styled' " + "name='tag'" + "type='checkbox' " + ">"
+                        + "<label for='tag" + i + "' "+ ">" + tagList[i] + "</label>"
+                    + "</div>";
+                var div = document.getElementById('tags');
+                div.appendChild(newInput);
+            }
+        },
+        error: function (a, b, c) {
+            console.log(a);
+        }
+    });
+}
+
+function takesPartInProject() {
+    var userID = $("#user").text().trim();
+    var projectID = $("#projectName").text().trim();
+    document.getElementById('loader').className = "loader";
+    document.getElementById('wrapper').className = "wrapper-inactive";
+
+    var allTheTags = [];
+    var allTheCompetencies = [];
+    var allTheResearchQuestions = [];
+    for (i = 0; i < document.getElementsByName("competencies").length; i++) {        //goes through all competencies and adds them to allTheCompetencies
+        allTheCompetencies.push(document.getElementsByName("competencies")[i].value);
+    }
+    for (i = 0; i < document.getElementsByName("researchQuestions").length; i++) {        //goes through all competencies and adds them to allTheResearchQuestions
+        allTheResearchQuestions.push(document.getElementsByName("researchQuestions")[i].value);
+    }
+    for (i = 0; i < document.getElementsByName("tag").length; i++) {        //goes through all tags and adds them to allTheTags
+        if (document.getElementById("tag" + i).checked) {
+            allTheTags.push(document.getElementById("tag" + i).value);
+        }
+        if ($("#tag"+i).prop("checked"))
+            allTheCompetencies.push("Die Studierenden interessieren sich für " + $("#tag" + i).val());     //todo: Die Tags werden hinter der Schnittstelle noch nicht verwertet, daher diese schnelle Lösung
+    }
+    if (allTheTags.length > 2) {
+        //alert('Sie haben zu viele Tags ausgewählt');
+        $(".alert").css('background-color', 'lightcoral');
+        allTheTags = [];
+        document.getElementById('loader').className = "loader-inactive";
+        document.getElementById('wrapper').className = "wrapper";
+        return false;
+    }
+    if (allTheTags.length < 2) {
+        //alert('Sie haben zu wenig Tags ausgewählt');
+        $(".alert").css('background-color', 'lightcoral');
+        allTheTags = [];
+        document.getElementById('loader').className = "loader-inactive";
+        document.getElementById('wrapper').className = "wrapper";
+        return false;
+    }
+    var data = {                                            //JSON object 'data' collects everything to send
+        "competences": allTheCompetencies,
+        "researchQuestions": allTheResearchQuestions,
+        "tagsSelected": allTheTags
+    };
+    var dataString = JSON.stringify(data);                     //to send correctly, data needs to be stringified
+    var url = compbaseUrl + "/api2/user/" + userID + "/projects/" + projectID + "/preferences";
+    $.ajax({
+        url: url,
+        type: 'PUT',
+        Accept: "text/plain; charset=utf-8",
+        contentType: "application/json",
+        data: dataString,
+        success: function (response) {
+            console.log(response);
+            document.getElementById('loader').className = "loader-inactive";
+            document.getElementById('wrapper').className = "wrapper";
+            var parts = window.location.search.substr(1).split("&");
+            var $_GET = {};
+            for (var i = 0; i < parts.length; i++) {
+                var temp = parts[i].split("=");
+                $_GET[decodeURIComponent(temp[0])] = decodeURIComponent(temp[1]);
+            }
+            location.href = "projects.php?token=" + $_GET['token'];
+        },
+        error: function (a, b, c) {
+            console.log(a);
+        }
+    });
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/management/js/deleteProject.js b/gemeinsamforschen/src/main/webapp/management/js/deleteProject.js
new file mode 100644
index 0000000000000000000000000000000000000000..c3b488def69f02e9e13f1c3adfb79e43a5ea38d8
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/js/deleteProject.js
@@ -0,0 +1,57 @@
+/**
+ * Created by dehne on 28.03.2018.
+ */
+$(document).ready(function () {
+    $("#projectWrongPassword").hide();
+    $("#projectIsMissing").hide();
+
+    $("#deleteProject").on('click', function () {
+        deleteProject($('#projectName').val().trim());
+    });
+});
+
+function deleteProject(projectName) {
+    var token = getUserTokenFromUrl();
+    var url = "../database/delete-project.jsp?project=" + projectName + "&password=" + document.getElementById('projectPassword').value.trim() + "&token=" + token;
+    if (projectName === "") {
+        return false;
+    } else {
+        $.ajax({
+            url: url,
+            projectName: projectName,
+            Accept: "text/plain; charset=utf-8",
+            contentType: "text/plain",
+            success: function (response) {
+                if (response === "project missing") {
+                    $("#projectIsMissing").show();
+                } else {
+                    if (response !== "wrong password") {            //if response !== project missing and not wrong password, its the projectToken
+                        $.ajax({
+                            url: compbaseUrl+"/api1/courses/"+projectName,
+                            Accept: "text/plain; charset=utf-8",
+                            type: 'DELETE',
+                            contentType: "text/plain",
+                            async: false,
+                            success: function (response) {
+
+                            },
+                            error: function (a, b, c) {
+                                console.log(a);
+                            }
+                        });
+                        window.location.href = " ../pages/projects.php?token="+getUserTokenFromUrl();
+                    } else {
+                        $("#projectIsMissing").hide();
+                        $('#projectWrongPassword').show();
+                    }
+                }
+            },
+            error: function (a, b, c) {
+                console.log(a);
+            }
+        });
+
+
+    }
+
+}
diff --git a/gemeinsamforschen/src/main/webapp/management/js/getProjects.js b/gemeinsamforschen/src/main/webapp/management/js/getProjects.js
new file mode 100644
index 0000000000000000000000000000000000000000..6c2c507836b67795160bfd77471b164b65f68ead
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/js/getProjects.js
@@ -0,0 +1,31 @@
+/**
+ * Created by dehne on 28.03.2018.
+ */
+
+function getProjectsOfAuthor(author, printedProjects, handleProjects) {
+    var url = "../database/getProjectsOfAuthor.php?author=" + author;
+    $.ajax({
+        url: url,
+        Accept: "text/plain; charset=utf-8",
+        contentType: "text/plain",
+        success: function (response) {
+            var authoredProjects = JSON.parse(response);
+            if (authoredProjects != null) {
+                if (printedProjects != null) {
+                    for (var i = 0; i < printedProjects.length; i++) {
+                        authoredProjects = authoredProjects.filter(function (el) {
+                            return el !== printedProjects[i];
+                        });
+                    }
+                    handleProjects(authoredProjects, printedProjects.length);
+                } else {
+                    handleProjects(authoredProjects, 0);
+                }
+
+            }
+        },
+        error: function (a, b, c) {
+            console.log(a);
+        }
+    });
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/management/js/myGroupsInit.js b/gemeinsamforschen/src/main/webapp/management/js/myGroupsInit.js
new file mode 100644
index 0000000000000000000000000000000000000000..11d871a4c901abf49866f35f480bf574c3606fa6
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/js/myGroupsInit.js
@@ -0,0 +1,125 @@
+/**
+ * Created by fides-WHK on 22.01.2018.
+ */
+$(document).ready(function () {
+    //todo: Buttons im Eventhandler steuern und nicht auf der HTML-Seite.
+    getProjects(document.getElementById('user').innerHTML);
+    //getMembers($('#projectDropdown').innerHTML,$('#user').innerHTML);
+});
+
+function printProjectDropdown(projects, numberOfProjectsPrinted) {
+    var menu = document.getElementById("dropdownOptions");          //the unordered list of buttons called by the dropdown button
+    var limit = projects.length;
+    for (var i = 0; i < limit; i++) {                               //show every project a student takes
+        // part in
+        var option = document.createElement("SPAN");            //and create a span, containing a button with it
+        option.innerHTML = "<button class='dropdown-item' " +   //which carries the event onClick, the name of the group and a design
+            "onClick=" +
+            '"showProject(' + "'" + projects[i] + "',document.getElementById('user').innerHTML);" + '"' + ">"
+            + projects[i] +
+            "</button>";
+        menu.appendChild(option);
+    }
+}
+function getProjects(user) {
+    var url = compbaseUrl + "/api2/user/" + user + "/projects";
+    $.ajax({
+        url: url,
+        user: user,
+        type: 'GET',
+        contentType: "application/json",
+        dataType: "json",
+        success: function (data) {
+            if (data.length !== 0) {
+                var projects = [];
+                if (data.data != null) {
+                    projects = data.data;
+                    printProjectDropdown(projects, 0);
+                }
+                getProjectsOfAuthor(user, projects, printProjectDropdown)
+            } else {
+                document.getElementById("projectDropdown").innerHTML = "keine Projekte verfügbar";      //no projects of the students where found
+            }
+        }
+    });
+}
+
+
+function printGroupTable(student1, student2, student3, student4) {
+    var innerurl = "../database/getAdresses.php?student1=" + student1 + "&student2=" + student2 + "&student3=" + student3 + "&student4=" + student4;
+    /*if (student4) {
+        innerurl = innerurl + "&student4=" + student4;
+    }*/
+    $.ajax({                    //get email adresses in this ajax.
+        student1: "" + student1,
+        student2: "" + student2,
+        student3: "" + student3,
+        student4: "" + student4,
+        url: innerurl,
+        type: 'GET',
+        contentType: "application/json",
+        dataType: "json",
+        success: function (innerData) {
+            var tableStart = '<table class="table table-striped table-bordered table-list"' +
+                ' style="width: 40%;margin-top:' +
+                ' 10px;"> <thead id="tableHead"> ' +
+                '  <tr>' +
+                '    <th class="hidden-xs">Student</th>' +
+                '    <th>E-Mail</th>' +
+                '  </tr>';
+            var tableFinish = '</thead>' + '</table>';
+            for (var k2 = 0; k2 < innerData.length; k2++) {
+                if (innerData[k2].name === student1) {
+                    tableStart = tableStart + ("<tr><td>" + student1 + "</td><td><a" +
+                        " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>");
+                } else if (innerData[k2].name === student2) {
+                    tableStart = tableStart + ("<tr><td>" + student2 + "</td><td><a" +
+                        " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>");
+                } else if (innerData[k2].name === student3) {
+                    tableStart = tableStart + ("<tr><td>" + student3 + "</td><td><a" +
+                        " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>");
+                } else if (innerData[k2].name === student4 && (student4 != null)) {
+                    tableStart = tableStart + ("<tr><td>" + student4 + "</td><td><a" +
+                        " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>");
+                }
+            }
+
+            var tableString = tableStart + tableFinish;
+            $("#tablesHolder").append(tableString);
+        }
+    });
+    return innerurl;
+}
+function getMembers(project, user) {        //gets all Members in the chosen Project user is a part of with email adresses
+
+    $("#tablesHolder").empty();
+    var url = compbaseUrl + "/api2/groups/" + project;     //this API is used, since fleckenroller has security issues
+    // with CORS
+    // and stuff
+    $.ajax({
+        url: url,
+        user: user,
+        type: 'GET',
+        contentType: "application/json",
+        dataType: "json",                               //{groups: [id, users:[]] }
+        success: function (data) {
+            for (var i = 0; i < data.groups.length; i++) {
+
+                var student1 = data.groups[i].users[0];
+                var student2 = data.groups[i].users[1];
+                var student3 = data.groups[i].users[2];
+                var student4 = data.groups[i].users[3];
+                printGroupTable(student1, student2, student3, student4);
+            }
+        },
+        error: function(data) {
+            $("#tablesHolder").append("<p>Es wurden keine Gruppen gefunden. Das Projekt muss mehr als 5 Teilnehmer haben!</p>")
+        }
+
+    });
+}
+
+function showProject(project, user) {           //will display the chosen option in the dropdown button and show all students in a unordered list
+    $("#projectDropdown").text(project);        //the dropdown button
+    getMembers(project, user);                  //the students
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/management/js/newProject.js b/gemeinsamforschen/src/main/webapp/management/js/newProject.js
new file mode 100644
index 0000000000000000000000000000000000000000..be07b3fead5a21b1ba8d1703d8f5688f01facc53
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/js/newProject.js
@@ -0,0 +1,162 @@
+/**
+ * Created by fides-WHK on 19.02.2018.
+ */
+$(document).ready(function () {
+    var allTheTags = [];
+    $("#nameProject").focus();
+    $('#projectNameExists').hide();
+    $('#projectIsMissing').hide();
+    $('#exactNumberOfTags').hide();
+    $('#specialChars').hide();
+    $(function () {
+        $('#tagsProject').tagsInput({
+            width: '475px',
+            onAddTag: function (tag) {
+                allTheTags.push(tag);
+            },
+            onRemoveTag: function (tag) {
+                allTheTags.pop();           //todo: löscht noch nicht den gewählten tag sondern den letzten
+            }
+        });
+    });
+    $('#sendProject').on('click', function () {
+        var activ = "1";
+        createNewProject(allTheTags, activ);
+    });
+
+
+});
+
+
+function createNewProject(allTheTags, activ) {
+    $("#nameProject").focus();
+    $('#projectNameExists').hide();
+    $('#projectIsMissing').hide();
+    $('#exactNumberOfTags').hide();
+    $('#specialChars').hide();
+
+    var projectName = $("#nameProject").val().trim();
+    var password = $("#passwordProject").val().trim();
+    var adminPassword = $("#adminPassword").val().trim();
+    if (adminPassword == "") {
+        adminPassword = "1234";
+    }
+
+    var reguexp = /^[a-zA-Z0-9äüöÄÜÖ\ ]+$/;
+    if (!reguexp.test(projectName)) {
+        $('#specialChars').show();
+        return false;
+    }
+    if (projectName === "") {           //project has no name, so abort function
+        $('#projectIsMissing').show();
+        return false;
+    }
+
+    document.getElementById('loader').className = "loader";
+    document.getElementById('wrapper').className = "wrapper-inactive";
+    var localurl = "../database/getProjects.php?project=" + projectName;
+    if (allTheTags.length !== 5) {
+        document.getElementById('tagHelper').className = "alert alert-warning";
+    } else {
+        document.getElementById('tagHelper').className = "";
+    }
+
+
+    $('#projectIsMissing').hide();
+    $.ajax({                        //check local DB for existence of projectName
+        url: localurl,
+        projectName: projectName,
+        activ: activ,
+        Accept: "text/plain; charset=utf-8",
+        contentType: "text/plain",
+        success: function (response) {
+            if (response !== "project missing") {
+                $('#projectNameExists').show();
+                document.getElementById('loader').className = "loader-inactive";
+                document.getElementById('wrapper').className = "wrapper";
+                return true;
+            } else {
+                $('#projectNameExists').hide();
+                if (allTheTags.length !== 5) {
+                    document.getElementById('tagHelper').className = "alert alert-warning";
+                    document.getElementById('loader').className = "loader-inactive";
+                    document.getElementById('wrapper').className = "wrapper";
+                    $('#exactNumberOfTags').show();
+                    return false;
+                }
+                document.getElementById('tagHelper').className = "";
+                var obj = {
+                    "courseId": projectName,
+                    "printableName": projectName,
+                    "competences": allTheTags
+                };
+                var url = compbaseUrl + "/api1/courses/" + $("#nameProject").val();
+                var dataString = JSON.stringify(obj);
+                var addProjectNeo4j = $.ajax({
+                    url: url,
+                    contentType: 'application/json',
+                    activ: activ,
+                    type: 'PUT',
+                    data: dataString,
+                    success: function (response) {
+                        console.log(response);
+                        document.getElementById('loader').className = "loader-inactive";
+                        document.getElementById('wrapper').className = "wrapper";
+                    },
+                    error: function (a, b, c) {
+                        console.log(a);
+                        document.getElementById('loader').className = "loader-inactive";
+                        document.getElementById('wrapper').className = "wrapper";
+                        return false;
+                    }
+                });
+                $.when(addProjectNeo4j, addProjectToLocalDB(allTheTags, projectName, password, activ, adminPassword)).done(function () {
+                    document.getElementById('loader').className = "loader-inactive";
+                    document.getElementById('wrapper').className = "wrapper";
+                    if ($('#Teilnehmer').prop("checked")) {          //if author wants to join the course, he needs to be redirected to enter-preferences.jsp
+                        var url = "../database/getProjects.php?project=" + projectName + "&password=" + document.getElementById('passwordProject').value;
+                        $.ajax({
+                            url: url,
+                            projectName: projectName,
+                            Accept: "text/plain; charset=utf-8",
+                            contentType: "text/plain",
+                            success: function (response) {
+                                location.href = "enter-preferences.jsp?token=" + getUserTokenFromUrl() + "&projectToken=" + response;
+                            },
+                            error: function (a, b, c) {
+                                console.log(a);
+                            }
+                        });
+                    } else {                //if author is just author and not member, he will be directed to projects.php
+                        location.href = "projects.php?token=" + getUserTokenFromUrl();
+                    }
+                });
+            }
+        },
+        error: function (a, b, c) {
+            console.log(a);
+            document.getElementById('loader').className = "loader-inactive";
+            document.getElementById('wrapper').className = "wrapper";
+            return true;
+        }
+    });
+
+}
+
+function addProjectToLocalDB(allTheTags, projectName, password, activ, adminPassword) {
+    var tags = JSON.stringify(allTheTags);
+    var author = $("#user").text().trim();
+    var url = "../database/putProject.php?project=" + projectName + "&password=" + password + "&activ=" + activ + "&token=" + getUserTokenFromUrl() + "&adminpassword=" + adminPassword + "&author=" + author;
+    return $.ajax({
+        url: url,
+        //contentType: 'application/json',
+        type: 'POST',
+        data: tags,
+        success: function (response) {
+            console.log("Tags were added to local DB");
+        },
+        error: function (a, b, c) {
+            console.log(a);
+        }
+    });
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/management/js/overview-docent.js b/gemeinsamforschen/src/main/webapp/management/js/overview-docent.js
new file mode 100644
index 0000000000000000000000000000000000000000..57444d11682ab734826fd91d6b29f3619847520a
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/js/overview-docent.js
@@ -0,0 +1,14 @@
+$(document).ready(function(){
+    $('#project1Link').on('click', function(){
+        window.location.href="project-docent_CG.jsp?token="+getUserTokenFromUrl();
+        location.href="project-docent_CG.jsp?token="+getUserTokenFromUrl()+'&projectId='+'gemeinsamForschen';
+    });
+    $('#project2Link').on('click', function(){
+        window.location.href="project-docent_CG.jsp?token="+getUserTokenFromUrl();
+        location.href="project-docent_CG.jsp?token="+getUserTokenFromUrl()+'&projectId='+'Kaleo';
+    });
+    $('#createProject').on('click', function(){
+        location.href="createProject.jsp?token="+getUserTokenFromUrl();
+    });
+
+});
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/management/js/overview-student.js b/gemeinsamforschen/src/main/webapp/management/js/overview-student.js
new file mode 100644
index 0000000000000000000000000000000000000000..898f3f5e00183d9549a84cb5c3028be9aa7f5bd6
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/js/overview-student.js
@@ -0,0 +1,11 @@
+$(document).ready(function(){
+    $('#project1Link').on('click', function(){
+        location.href="project-student.jsp?token="+getUserTokenFromUrl()+'&projectId='+'gemeinsamForschen';
+    });
+    $('#project2Link').on('click', function(){
+        location.href="project-student.jsp?token="+getUserTokenFromUrl()+'&projectId='+'Kaleo';
+    });
+    $('#enrollProject').on('click', function(){
+        location.href="enrollProject.jsp?token="+getUserTokenFromUrl();
+    });
+});
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/management/js/overview.js b/gemeinsamforschen/src/main/webapp/management/js/overview.js
new file mode 100644
index 0000000000000000000000000000000000000000..a78bb0cda5635640c87505b6e1e0e218a965bf96
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/js/overview.js
@@ -0,0 +1,176 @@
+/**
+ * Created by fides-WHK on 02.03.2018.
+ */
+
+$(document).ready(function () {
+    getProjectOverview(document.getElementById('user').innerHTML);
+    //getMembers($('#projectDropdown').innerHTML,$('#user').innerHTML);
+
+});
+
+
+function printProjects(projects, offset) {
+    var table = document.getElementById("projectTable");
+    var i = 0;
+    if (projects != null) {
+        for (i = 0; i < projects.length; i++) {
+            var project = projects[i];
+            var content = document.createElement("TR");
+            content.role = "button";
+            content.style = "cursor:pointer;";
+            content.id = project;
+
+            //'<a class="btn btn-default"><em class="fa fa-pencil" ></em></a>' +
+            //'<button id="deleteButton' +i+ '" class="btn btn-danger fa fa-trash deleteButton"></button>' +
+            content.innerHTML = '<td align="center">' +
+                '<a href="delete-project.jsp?token='+getUserTokenFromUrl()+'" class="btn btn-danger fa fa-trash"></a>' +
+                '</td>' +
+                '<td class="hidden-xs" href="#Div_Promo_Carousel" data-slide="next">' + projects[i] + '</td>' +
+                '<td id="projectTags' + (i + offset) + '" href="#Div_Promo_Carousel" data-slide="next"></td>';
+            table.appendChild(content);
+            getTags(project, i + offset);
+            $('#' + project).click(function () {
+                getGroups(this.id);
+            });
+        }
+    }
+
+
+    //$('#deleteModal').modal('show');
+
+}
+function getProjectOverview(user) {
+    var url = compbaseUrl + "/api2/user/" + user + "/projects";
+    $.ajax({
+        url: url,
+        user: user,
+        type: 'GET',
+        contentType: "application/json",
+        dataType: "json",
+        success: function (data) {
+            var projects = data.data;
+            printProjects(projects, 0);
+            getProjectsOfAuthor(user, projects, printProjects);
+        },
+        error: function (a, b, c) {
+            console.log(a);
+        }
+    });
+}
+
+function getTags(projectName, number) {
+    var url = "../database/getTags.php?project=" + projectName;
+    $.ajax({
+        url: url,
+        Accept: "text/plain; charset=utf-8",
+        contentType: "text/plain",
+        success: function (response) {
+            response = JSON.parse(response);
+            var tagString = "";
+            var i = 0;
+            var table = document.getElementById("projectTags" + number);
+            for (i = 0; i < response.length; i++) {
+                tagString += "<label class=\"tagLabel\">" + response[i].tag + "</label>";
+                ;
+                //tagString += response[i].tag + " ";
+            }
+
+            table.innerHTML = tagString;
+            //table.innerHTML = tagHtml;
+        },
+        error: function (a, b, c) {
+            console.log(a);
+        }
+    });
+}
+
+
+
+
+function getGroups(projectName) {
+    var pathName = document.getElementsByName("pathProject");
+    pathName[0].innerHTML = projectName;
+    pathName[1].innerHTML = projectName;
+    var url = compbaseUrl + "/api2/groups/" + projectName;     //this API is used, since fleckenroller has security
+    // issues with
+    // CORS and stuff
+    $.ajax({
+        url: url,
+        type: 'GET',
+        contentType: "application/json",
+        dataType: "json",
+        success: function (data) {
+            var table = document.getElementById("groupTable");
+            table.innerHTML = '';
+            for (var i = 0; i < data.groups.length; i++) {
+                var content = document.createElement("TR");
+                content.role = "button";
+                content.style = "cursor:pointer;";
+                content.id = 'Gruppe' + data.groups[i].id;
+                var groupMembers = '<td align="center">' +
+                    '<a class="btn btn-default"><em class="fa fa-pencil"></em></a>' +
+                    '<a class="btn btn-danger"><em class="fa fa-trash"></em></a>' +
+                    '</td>' +
+                    '<td class="hidden-xs" href="#Div_Promo_Carousel" data-slide="next">Gruppe' + data.groups[i].id + '</td>' +
+                    '<td id="memberOf' + content.id + '" href="#Div_Promo_Carousel" data-slide="next">';
+                for (var j = 0; j < data.groups[i].users.length; j++) {
+                    groupMembers += data.groups[i].users[j] + "&nbsp;";
+                }
+                groupMembers += '</td>';
+                content.innerHTML = groupMembers;
+                table.appendChild(content);
+                $('#Gruppe' + data.groups[i].id).click(function () {
+                    var memberString = $('#memberOf' + this.id).html();
+                    getDetailsOfMembers(this.id, memberString);
+                });
+            }
+        },
+        error: function (a, b, c) {
+            console.log(a);
+            var table = document.getElementById("groupTable");
+            table.innerHTML = '';
+            var content = document.createElement("TR");
+            content.innerHTML = '<td align="center">' +
+                '</td>' +
+                '<td class="hidden-xs">Es liegen noch keine Gruppen vor</td>' +
+                '<td></td>';
+            table.appendChild(content);
+        }
+    });
+}
+
+function getDetailsOfMembers(group, studentString) {
+    var pathName = document.getElementsByName("pathGruppe");
+    pathName[0].innerHTML = group;
+    var students = studentString.split("&nbsp;");
+    var innerurl = "../database/getAdresses.php?student1=" + students[0] + "&student2=" + students[1] + "&student3=" + students[2] + "&student4=" + students[3] + "&student5=" + students[4];
+    $.ajax({
+        student1: "" + students[0],
+        student2: "" + students[1],
+        student3: "" + students[2],
+        student4: "" + students[3],
+        student5: "" + students[4],
+        url: innerurl,
+        type: 'GET',
+        contentType: "application/json",
+        dataType: "json",
+        success: function (response) {
+            var table = document.getElementById("studentTable");
+            table.innerHTML = '';
+            var k;
+            for (k = 0; k < response.length; k++) {
+                var content = document.createElement("TR");
+                content.innerHTML = '<td align="center">' +
+                    '<a class="btn btn-default"><em class="fa fa-pencil"></em></a>' +
+                    '<a class="btn btn-danger"><em class="fa fa-trash"></em></a>' +
+                    '</td>' +
+                    '<td class="hidden-xs">' + response[k].name + '</td>' +
+                    '<td> <a href="mailto:' + response[k].email + '">' + response[k].email + '</a></td>';
+                table.appendChild(content);
+            }
+        },
+        error: function (a, b, c) {
+            console.log(a);
+        }
+    });
+}
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/project-student.js b/gemeinsamforschen/src/main/webapp/management/js/project-student.js
similarity index 92%
rename from gemeinsamforschen/src/main/webapp/assets/js/project-student.js
rename to gemeinsamforschen/src/main/webapp/management/js/project-student.js
index 91e62e10ffcba41e1d9200d943e1ae662256b591..83f391e0292fd8826edcb26564892f71b496ca52 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/project-student.js
+++ b/gemeinsamforschen/src/main/webapp/management/js/project-student.js
@@ -30,10 +30,10 @@ $(document).ready(function(){
     });
     */
     $('.givefeedback').click(function () {
-        location.href="givefeedback.jsp?token="+getUserTokenFromUrl();
+        location.href="give-feedback.jsp?token="+getUserTokenFromUrl();
     });
     $('.viewfeedback').click(function () {
-        location.href="viewfeedback.jsp?token="+getUserTokenFromUrl();
+        location.href="view-feedback.jsp?token="+getUserTokenFromUrl();
     });
 
     $('.annotationview').click(function () {
@@ -41,7 +41,7 @@ $(document).ready(function(){
     });
 
     $('#btnUnstructuredUpload').click(function () {
-        location.href="unstructured-upload.jsp?token="+getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
+        location.href="upload-unstructured-annotation.jsp?token="+getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
     })
 
     $('.viewprojectstudent').click(function () {
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/register.js b/gemeinsamforschen/src/main/webapp/management/js/register.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/register.js
rename to gemeinsamforschen/src/main/webapp/management/js/register.js
diff --git a/gemeinsamforschen/src/main/webapp/management/js/showProjects.js b/gemeinsamforschen/src/main/webapp/management/js/showProjects.js
new file mode 100644
index 0000000000000000000000000000000000000000..ff687d3f310be2d92ae07cc89f27192ce1b194f5
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/js/showProjects.js
@@ -0,0 +1,50 @@
+/**
+ * Created by fides-WHK on 09.01.2018.
+ */
+$(document).ready(function () {
+    $("#projectWrongPassword").hide();
+    $("#projectIsMissing").hide();
+
+    $("#projectName").keypress(function (e) {
+        if (e.which == 13) {
+            document.getElementById("projectPassword").focus();
+        }
+    });
+    $("#projectPassword").keypress(function (e) {
+        if (e.which == 13) {
+            seeProject($('#projectName').val());
+        }
+    });
+    $("#seeProject").on('click', function () {
+        seeProject($('#projectName').val());
+    });
+});
+
+function seeProject(projectName) {
+    var url = "../database/getProjects.php?project=" + projectName + "&password=" + document.getElementById('projectPassword').value;
+    if (projectName === "") {
+        return false;
+    } else {
+        $.ajax({
+            url: url,
+            projectName: projectName,
+            Accept: "text/plain; charset=utf-8",
+            contentType: "text/plain",
+            success: function (response) {
+                if (response === "project missing") {
+                    $("#projectIsMissing").show();
+                } else {
+                    if (response !== "wrong password") {            //if response !== project missing and not wrong password, its the projectToken
+                        location.href="enter-preferences.jsp?token="+getUserTokenFromUrl()+"&projectToken="+response;
+                    } else {
+                        $("#projectIsMissing").hide();
+                        $('#projectWrongPassword').show();
+                    }
+                }
+            },
+            error: function (a, b, c) {
+                console.log(a);
+            }
+        });
+    }
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/munchkin/js/munschkinloader.js b/gemeinsamforschen/src/main/webapp/munchkin/js/munschkinloader.js
deleted file mode 100644
index 205c0005b665424d0e2ed31a26d702db8c079e51..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/munchkin/js/munschkinloader.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Created by dehne on 25.04.2018.
- */
-
-function xmlToString(xmlData) {
-
-    var xmlString;
-    //IE
-    if (window.ActiveXObject) {
-        xmlString = xmlData.xml;
-    }
-    // code for Mozilla, Firefox, Opera, etc.
-    else {
-        xmlString = (new XMLSerializer()).serializeToString(xmlData);
-    }
-    return xmlString;
-}
-
-
-$(document).ready(function () {
-    $.ajax({
-        type: "get",
-        url: "http://localhost:8080/gemeinsamforschen/rest/api/munschkin/1",
-        dataType: "xml",
-        success: function (data) {
-            /* handle data here */
-            //var munschkin = $.parseXML(data)
-            $("#munschkin").append(xmlToString(data));
-        },
-        error: function (xhr, status) {
-            alert("Server down .... ogottogottogottt")
-        }
-    });
-
-});
-
diff --git a/gemeinsamforschen/src/main/webapp/pages/overview-docent.jsp b/gemeinsamforschen/src/main/webapp/overview-docent.jsp
similarity index 91%
rename from gemeinsamforschen/src/main/webapp/pages/overview-docent.jsp
rename to gemeinsamforschen/src/main/webapp/overview-docent.jsp
index 736db5bd3aa5a1ca53a86b1694994e78ef880631..b90362fcfb6f42c332b75cc2ad9f6957014ab30e 100644
--- a/gemeinsamforschen/src/main/webapp/pages/overview-docent.jsp
+++ b/gemeinsamforschen/src/main/webapp/overview-docent.jsp
@@ -1,19 +1,19 @@
 <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 
 <!DOCTYPE html>
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/overview-docent.js"></script>
+    <omniDependencies:omniDependencies hierarchy="0"/>
+    <script src="core/overview-docent.js"></script>
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="0"/>
     <div class="page-content-wrapper">
 
         <headLine:headLine/>
diff --git a/gemeinsamforschen/src/main/webapp/pages/overview-student.jsp b/gemeinsamforschen/src/main/webapp/overview-student.jsp
similarity index 91%
rename from gemeinsamforschen/src/main/webapp/pages/overview-student.jsp
rename to gemeinsamforschen/src/main/webapp/overview-student.jsp
index 8feef4d6d1bda9b41939b4bd5c2b386d070bbfec..03e6ca87f771827f985ce44ff7827809e5146282 100644
--- a/gemeinsamforschen/src/main/webapp/pages/overview-student.jsp
+++ b/gemeinsamforschen/src/main/webapp/overview-student.jsp
@@ -1,20 +1,20 @@
 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 
 <!DOCTYPE html>
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/overview-student.js"></script>
+    <omniDependencies:omniDependencies hierarchy="0"/>
+    <script src="core/overview-student.js"></script>
 
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="0"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <div>
diff --git a/gemeinsamforschen/src/main/webapp/pages/Quiz-docent.jsp b/gemeinsamforschen/src/main/webapp/pages/Quiz-docent.jsp
deleted file mode 100644
index 6d693e27525436354f12e04005d2f59850d4e3e0..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/pages/Quiz-docent.jsp
+++ /dev/null
@@ -1,29 +0,0 @@
-<%@ page contentType="text/html;charset=UTF-8" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="footer" %>
-
-<html>
-<head>
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/Quiz-docent.js"></script>
-</head>
-
-<body>
-<div id="wrapper">
-    <menu:menu/>
-    <div class="page-content-wrapper">
-        <headLine:headLine/>
-        <table class="table-striped">
-            <tbody id="tableQuiz">
-
-            </tbody>
-        </table>
-        <button class="btn btn-primary" id="newQuiz">neues Quiz</button>
-
-    </div>
-    <footer:footer/>
-</div>
-</body>
-</html>
diff --git a/gemeinsamforschen/src/main/webapp/pages/assessmentCalculator.jsp b/gemeinsamforschen/src/main/webapp/pages/assessmentCalculator.jsp
deleted file mode 100644
index 67b2861e38ad3e55fc6f0dd2db9acbab315608c6..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/pages/assessmentCalculator.jsp
+++ /dev/null
@@ -1,18 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/assessmentCalculator.js"></script>
-</head>
-<body>
-<menu:menu/>
-<button id="calculateNow">Post Performance</button>
-<button id="giveItBack">Get TotalPerformance</button>
-<headLine:headLine/>
-</body>
-</html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/pages/createGroups.jsp b/gemeinsamforschen/src/main/webapp/pages/createGroups.jsp
deleted file mode 100644
index 4b22ba4e92ae53aeaf9abfc1a7a2ebdd16469a75..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/pages/createGroups.jsp
+++ /dev/null
@@ -1,24 +0,0 @@
-<%@ page contentType="text/html;charset=UTF-8" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-
-<html>
-<head>
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/changePhase.js"></script>
-</head>
-
-<body>
-<div id="wrapper">
-    <menu:menu/>
-    <div class="page-content-wrapper">
-        <headLine:headLine/>
-        student1<br>
-        student2<br>
-        <br>
-        in Gruppe 1    2     3
-    </div>
-</div>
-</body>
-</html>
diff --git a/gemeinsamforschen/src/main/webapp/pages/createProject.jsp b/gemeinsamforschen/src/main/webapp/pages/createProject.jsp
deleted file mode 100644
index 84f529a57f133988191875eac3c9f327d3217b23..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/pages/createProject.jsp
+++ /dev/null
@@ -1,34 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-
-
-<!DOCTYPE html>
-<html>
-
-<head>
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/createProject.js"></script>
-
-</head>
-
-<body>
-<div id="wrapper">
-    <menu:menu/>
-    <div class="page-content-wrapper">
-        <headLine:headLine/>
-        <div style="margin-left: 2%;">
-            <br><br>
-            <label>Projektname: <input placeholder="Projektname"></label>
-            <label>Passwort: <input placeholder="Passwort"></label>
-        </div>
-        <button class="btn btn-default" type="button" id="submit">beitreten</button>
-    </div>
-</div>
-
-<footer:footer/>
-</body>
-
-</html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/pages/enrollProject.jsp b/gemeinsamforschen/src/main/webapp/pages/enrollProject.jsp
deleted file mode 100644
index 4de718d37303e1c498deb9b562be7b2826f68a4b..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/pages/enrollProject.jsp
+++ /dev/null
@@ -1,47 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-
-<!DOCTYPE html>
-<html>
-
-<head>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>fltrail</title>
-    <link rel="stylesheet" href="../assets/css/styles.css">
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
-    <link rel="stylesheet" href="../assets/fonts/font-awesome.min.css">
-    <link rel="stylesheet" href="../assets/css/Community-ChatComments.css">
-    <link rel="stylesheet" href="../assets/css/Sidebar-Menu-1.css">
-    <link rel="stylesheet" href="../assets/css/Sidebar-Menu.css">
-    <script src="../assets/js/utility.js"></script>
-    <script src="../assets/js/enrollProject.js"></script>
-
-</head>
-
-<body>
-<div id="wrapper">
-    <menu:menu></menu:menu>
-    <div class="page-content-wrapper">
-        <div class="container-fluid">
-
-            <h1>Einschreiben in einen Kurs</h1>
-            <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>
-        </div>
-        <div style="margin-left: 2%;">
-            <br><br>
-            <label>Projektname: <input placeholder="Projektname"></label>
-            <label>Passwort: <input placeholder="Passwort"></label>
-        </div>
-        <button class="btn btn-default" type="button" id="submit">beitreten</button>
-    </div>
-</div>
-
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/pages/project-student.jsp.orig b/gemeinsamforschen/src/main/webapp/pages/project-student.jsp.orig
deleted file mode 100644
index a5671b8ada831eeef0162fca442adfced0d10762..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/pages/project-student.jsp.orig
+++ /dev/null
@@ -1,187 +0,0 @@
-<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
-<%--suppress XmlDuplicatedId --%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="footer" %>
-
-
-
-<!--todo: E-mail an Studenten als Notifikation für Phasenwechsel -->
-
-
-<!DOCTYPE html>
-<html>
-
-<head>
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/project-student.js"></script>
-    <link rel="stylesheet" href="../assets/css/Community-ChatComments.css">
-
-</head>
-
-<body>
-<div id="wrapper">
-    <menu:menu/>
-
-    <div class="page-content-wrapper">
-        <headLine:headLine/>
-        <div>
-            <table>
-                <tr>
-                    <td id="yourContent">
-                        <h1>Feedbackable Students</h1>
-                        <!-- here will be all the content -->
-                        <table id="myGroupMembers">
-                            <tr>
-
-                                <td width="100px" valign="top">
-                                    <h3>student1</h3>
-                                    <img src="../assets/img/1.jpg">
-                                    <a href="#">student1@uni.de</a>
-                                    <hr>
-                                    <ul>
-
-                                        <li>
-                                            Projektübersicht hochgeladen
-                                            <a class="annotationview" role="button">
-                                                <label style="font-size:10px;"><i class="far fa-comments"
-                                                                                  style="font-size:15px;"></i>feedback</label>
-                                            </a>
-                                        </li>
-                                        <li>
-                                            Blumen ins Hausaufgabenheft geklebt
-                                            <a class="annotationview" role="button">
-                                                <label style="font-size:10px;"><i class="far fa-comments"
-                                                                                  style="font-size:15px;"></i>feedback</label>
-                                            </a>
-                                        </li>
-                                    </ul>
-                                </td>
-                                <td></td>
-
-                                <td width="100px" valign="top">
-                                    <h3>student2</h3>
-                                    <img src="../assets/img/2.jpg">
-                                    <a href="#">student2@uni.de</a>
-                                    <hr>
-                                    <ul>
-                                        <li>
-                                            Blumen an Vegetarier verfüttert
-                                            <a class="annotationview" role="button">
-                                                <label style="font-size:10px;"><i class="far fa-comments"
-                                                                                  style="font-size:15px;"></i>feedback</label>
-                                            </a>
-                                        </li>
-                                        <li>
-                                            Literaturverzeichnis hochgeladen
-                                            <a class="annotationview" role="button">
-                                                <label style="font-size:10px;"><i class="far fa-comments"
-                                                                                  style="font-size:15px;"></i>feedback</label>
-                                            </a>
-                                        </li>
-                                        <li>
-                                            Die armen Vegetarier
-                                            <a class="annotationview" role="button">
-                                                <label style="font-size:10px;"><i class="far fa-comments"
-                                                                                  style="font-size:15px;"></i>feedback</label>
-                                            </a>
-                                        </li>
-                                    </ul>
-                                </td>
-                                <td></td>
-
-                                <td width="100px" valign="top">
-                                    <h3>student3</h3>
-                                    <img src="../assets/img/3.jpg">
-                                    <a href="#">student3@uni.de</a>
-                                    <hr>
-                                    <ul id="submissionUpload">
-                                    </ul>
-                                </td>
-
-                            </tr>
-                        </table>
-
-<<<<<<< HEAD
-                        <button onclick="goBack()" class="btn btn-secondary">Zur&uuml;ck</button>
-
-                        <script>
-                            function goBack() {
-                                window.history.back();
-                            }
-                        </script>
-
-                    </td>
-                    <td id="chat">
-                        <div class="card">
-                            <div class="card-header">
-                                <h6 class="mb-0">Gruppen+Projekt Chat</h6>
-                            </div>
-                            <div class="card-body">
-                                <ul class="list-group">
-                                    <li class="list-group-item">
-                                        <div class="media">
-                                            <div></div>
-                                            <div class="media-body">
-                                                <div class="media" style="overflow:visible;">
-                                                    <div><img src="../assets/img/1.jpg" class="mr-3"
-                                                              style="width: 25px; height:25px;"></div>
-                                                    <div class="media-body" style="overflow:visible;">
-                                                        <div class="row">
-                                                            <div class="col-md-12">
-                                                                <p><a href="#">Sara Doe:</a> This guy has been going
-                                                                    100+ MPH on side streets. <br>
-                                                                    <small class="text-muted">August 6, 2016 @ 10:35am
-                                                                    </small>
-                                                                </p>
-                                                            </div>
-                                                        </div>
-                                                    </div>
-                                                </div>
-                                            </div>
-                                        </div>
-                                    </li>
-                                    <li class="list-group-item">
-                                        <div class="media">
-                                            <div></div>
-                                            <div class="media-body">
-                                                <div class="media" style="overflow:visible;">
-                                                    <div><img src="../assets/img/2.jpg" class="mr-3"
-                                                              style="width: 25px; height:25px;"></div>
-                                                    <div class="media-body" style="overflow:visible;">
-                                                        <div class="row">
-                                                            <div class="col-md-12">
-                                                                <p><a href="#">Brennan Prill:</a> This guy has been
-                                                                    going 100+ MPH on side streets. <br>
-                                                                    <small class="text-muted">August 6, 2016 @ 10:35am
-                                                                    </small>
-                                                                </p>
-                                                            </div>
-                                                        </div>
-                                                    </div>
-                                                </div>
-                                            </div>
-                                        </div>
-                                    </li>
-                                </ul>
-                                <button class="btn btn-light">
-                                    Add Comment
-                                </button>
-                            </div>
-                        </div>
-=======
-                        <button onclick="goBack()" class="btn btn-secondary">Zurueck</button>
->>>>>>> development_master
-                    </td>
-                </tr>
-            </table>
-        </div>
-    </div>
-    <footer:footer/>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/pages/specificRequirement.jsp b/gemeinsamforschen/src/main/webapp/pages/specificRequirement.jsp
deleted file mode 100644
index 7c2a043255ef4e1e23096946f9daedf3cea2ae79..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/pages/specificRequirement.jsp
+++ /dev/null
@@ -1,61 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-
-<!DOCTYPE html>
-<html>
-
-<head>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>fltrail</title>
-    <link rel="stylesheet" href="../assets/css/styles.css">
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
-    <link rel="stylesheet" href="../assets/fonts/font-awesome.min.css">
-    <link rel="stylesheet" href="../assets/css/Community-ChatComments.css">
-    <link rel="stylesheet" href="../assets/css/Sidebar-Menu-1.css">
-    <link rel="stylesheet" href="../assets/css/Sidebar-Menu.css">
-    <script src="../assets/js/utility.js"></script>
-    <script src="../assets/js/specificSkills.js"></script>
-
-</head>
-
-<body>
-<div id="wrapper">
-    <menu:menu></menu:menu>
-    <div class="page-content-wrapper">
-        <div class="container-fluid">
-
-            <h1>Einschreiben in einen Kurs</h1>
-            <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>
-        </div>
-        <div align="center">
-            <h2>Wie schätzen Sie sich in folgenden Kategorien ein?</h2>
-            <br><br>
-            <p><input placeholder="Kriterium1">
-                <label>stark<input type="radio" name="groupCriterion1"></label>
-                <input type="radio" name="groupCriterion1">
-                <input type="radio" name="groupCriterion1">
-                <input type="radio" name="groupCriterion1">
-                <label><input type="radio" name="groupCriterion1">schwach</label>
-            </p>
-            <p><input placeholder="Kriterium2">
-                <label>stark<input type="radio" name="groupCriterion2"></label>
-                <input type="radio" name="groupCriterion2">
-                <input type="radio" name="groupCriterion2">
-                <input type="radio" name="groupCriterion2">
-                <label><input type="radio" name="groupCriterion2">schwach</label>
-            </p>
-            <button type="button" class="btn btn-light"> + </button>
-        </div>
-        <button class="btn btn-default" type="button" id="submit">beitreten</button>
-    </div>
-</div>
-
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/pages/specificSkills.jsp b/gemeinsamforschen/src/main/webapp/pages/specificSkills.jsp
deleted file mode 100644
index 1f5f24e2d64e948b3cf5873352c35be7a892a02e..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/pages/specificSkills.jsp
+++ /dev/null
@@ -1,51 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-
-<!DOCTYPE html>
-<html>
-
-<head>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>fltrail</title>
-    <link rel="stylesheet" href="../assets/css/styles.css">
-    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
-    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
-    <link rel="stylesheet" href="../assets/fonts/font-awesome.min.css">
-    <link rel="stylesheet" href="../assets/css/Community-ChatComments.css">
-    <link rel="stylesheet" href="../assets/css/Sidebar-Menu-1.css">
-    <link rel="stylesheet" href="../assets/css/Sidebar-Menu.css">
-    <script src="../assets/js/utility.js"></script>
-    <script src="../assets/js/specificSkills.js"></script>
-
-</head>
-
-<body>
-<div id="wrapper">
-    <menu:menu></menu:menu>
-    <div class="page-content-wrapper">
-        <div class="container-fluid">
-
-            <h1>Einschreiben in einen Kurs</h1>
-            <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>
-        </div>
-        <div align="center">
-            <h2>Wie schätzen Sie sich in folgenden Kategorien ein?</h2>
-            <br><br>
-            <p>groupCriterion1
-            </p>
-            <p>groupCriterion2
-            </p>
-
-        </div>
-        <button class="btn btn-default" type="button" id="submit">beitreten</button>
-    </div>
-</div>
-
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/profile.js b/gemeinsamforschen/src/main/webapp/profile/js/profile.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/profile.js
rename to gemeinsamforschen/src/main/webapp/profile/js/profile.js
diff --git a/gemeinsamforschen/src/main/webapp/pages/profile.jsp b/gemeinsamforschen/src/main/webapp/profile/profile.jsp
similarity index 89%
rename from gemeinsamforschen/src/main/webapp/pages/profile.jsp
rename to gemeinsamforschen/src/main/webapp/profile/profile.jsp
index 18dfc349ff5b1a81f358595049b136b573734040..3304224efeba919ade02152bac8df561c3cb530a 100644
--- a/gemeinsamforschen/src/main/webapp/pages/profile.jsp
+++ b/gemeinsamforschen/src/main/webapp/profile/profile.jsp
@@ -1,18 +1,18 @@
 <%@ page import="unipotsdam.gf.core.management.ManagementImpl" %>
 <%@ page import="unipotsdam.gf.core.management.user.User" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="footer" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
 
 
 <!DOCTYPE html>
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href='http://fonts.googleapis.com/css?family=Roboto+Condensed|Open+Sans+Condensed:300' rel='stylesheet' type='text/css'>
-    <script src="../assets/js/profile.js"></script>
+    <script src="js/profile.js"></script>
 </head>
 
 
@@ -25,7 +25,7 @@
 
 <body>
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="1"/>
 
     <div class="page-content-wrapper">
         <headLine:headLine/>
@@ -41,8 +41,8 @@
                             </li>
                             <li class="list-group-item">
                                 <p>Sonstiges:</p>
-                                <form id="uploadimage" method="post" action="../rest/user/student/wiepke">
-                                    <div id="image_preview"><img id="previewing" src="../assets/img/noImg.png" /></div>
+                                <form id="uploadimage" method="post" action="rest/user/student/wiepke">
+                                    <div id="image_preview"><img id="previewing" src="../libs/img/noImg.png" /></div>
                                     <hr id="line">
                                     <div id="selectImage">
                                         <label>Select Your Image</label><br/>
diff --git a/gemeinsamforschen/src/main/webapp/pages/project-docent.jsp b/gemeinsamforschen/src/main/webapp/project-docent.jsp
similarity index 90%
rename from gemeinsamforschen/src/main/webapp/pages/project-docent.jsp
rename to gemeinsamforschen/src/main/webapp/project-docent.jsp
index 5aafa19554988dc0438d51b9bd5fe573390cc479..1533c0d4b5cd540f5c00cc006df3735b55d49b0e 100644
--- a/gemeinsamforschen/src/main/webapp/pages/project-docent.jsp
+++ b/gemeinsamforschen/src/main/webapp/project-docent.jsp
@@ -1,9 +1,9 @@
 <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
 <%@ taglib prefix="communication" uri="/communication/chatWindow.tld" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="footer" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
 
 
 
@@ -11,12 +11,12 @@
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="0"/>
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="0"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <button
@@ -92,9 +92,9 @@
             </div>
         </div>
     </div>
+    <footer:footer/>
 </div>
 <communication:chatWindow orientation="right" />
-<footer:footer/>
 </body>
 
 </html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/pages/project-student.jsp b/gemeinsamforschen/src/main/webapp/project-student.jsp
similarity index 85%
rename from gemeinsamforschen/src/main/webapp/pages/project-student.jsp
rename to gemeinsamforschen/src/main/webapp/project-student.jsp
index ddb3cae7992b5aa6647c19e7386f54ffef99c2ed..63562e8b66fa2b753455eb8d8b703094a1687d89 100644
--- a/gemeinsamforschen/src/main/webapp/pages/project-student.jsp
+++ b/gemeinsamforschen/src/main/webapp/project-student.jsp
@@ -1,9 +1,9 @@
 <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
 <%--suppress XmlDuplicatedId --%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="footer" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
 
 
 
@@ -14,15 +14,15 @@
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
-    <script src="../assets/js/project-student.js"></script>
-    <link rel="stylesheet" href="../assets/css/Community-ChatComments.css">
+    <omniDependencies:omniDependencies hierarchy="0"/>
+    <script src="core/project-student.js"></script>
+    <link rel="stylesheet" href="../libs/css/Community-ChatComments.css">
 
 </head>
 
 <body>
 <div id="wrapper">
-    <menu:menu/>
+    <menu:menu hierarchy="0"/>
 
     <div class="page-content-wrapper">
         <headLine:headLine/>
@@ -37,7 +37,7 @@
 
                                 <td width="100px" valign="top">
                                     <h3>student1</h3>
-                                    <img src="../assets/img/1.jpg">
+                                    <img src="libs/img/1.jpg">
                                     <a href="#">student1@uni.de</a>
                                     <hr>
                                     <ul>
@@ -62,7 +62,7 @@
 
                                 <td width="100px" valign="top">
                                     <h3>student2</h3>
-                                    <img src="../assets/img/2.jpg">
+                                    <img src="libs/img/2.jpg">
                                     <a href="#">student2@uni.de</a>
                                     <hr>
                                     <ul>
@@ -93,7 +93,7 @@
 
                                 <td width="100px" valign="top">
                                     <h3>student3</h3>
-                                    <img src="../assets/img/3.jpg">
+                                    <img src="libs/img/3.jpg">
                                     <a href="#">student3@uni.de</a>
                                     <hr>
                                     <ul id="submissionUpload">
@@ -102,8 +102,6 @@
 
                             </tr>
                         </table>
-
-                        <button onclick="goBack()" class="btn btn-secondary">Zur&uuml;ck</button>
                     </td>
                 </tr>
             </table>
diff --git a/gemeinsamforschen/src/main/webapp/register.jsp b/gemeinsamforschen/src/main/webapp/register.jsp
index 0396159dbb413f1b82940e19458f550474e000bc..6cc51b088ff3c79435f4d5554c6e1904de78fce8 100644
--- a/gemeinsamforschen/src/main/webapp/register.jsp
+++ b/gemeinsamforschen/src/main/webapp/register.jsp
@@ -5,18 +5,15 @@
 <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>Gruppenmatcher</title>
-    <link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css">
+    <title>flTrail</title>
+    <link rel="stylesheet" href="libs/bootstrap/css/bootstrap.min.css">
     <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700">
-    <link rel="stylesheet" href="assets/css/Login-Form-Clean.css">
-    <link rel="stylesheet" href="assets/css/Navigation-with-Button1.css">
-    <link rel="stylesheet" href="assets/css/Sidebar-Menu.css">
-    <link rel="stylesheet" href="assets/css/Sidebar-Menu1.css">
-    <link rel="stylesheet" href="assets/css/styles.css">
-
-    <script src="assets/js/jquery.min.js"></script>
-    <script src="assets/bootstrap/js/bootstrap.min.js"></script>
-    <script src="assets/js/Sidebar-Menu.js"></script>
+    <link rel="stylesheet" href="libs/css/Login-Form-Clean.css">
+    <link rel="stylesheet" href="libs/css/Navigation-with-Button1.css">
+    <link rel="stylesheet" href="libs/css/Sidebar-Menu.css">
+    <link rel="stylesheet" href="libs/css/Sidebar-Menu1.css">
+    <script src="libs/jquery/jquery.min.js"></script>
+    <script src="libs/bootstrap/js/bootstrap.min.js"></script>
 </head>
 
 <body>
@@ -24,7 +21,7 @@
     <%--<form method="post" action="./servlet/createUser">--%>
     <form method="post" action="./rest/user/create">
         <h2 class="sr-only">Login Formular</h2>
-        <div class="illustration"><img src="assets/img/fides-logo.svg"></div>
+        <div class="illustration"><img src="libs/img/fides-logo.svg"></div>
         <div class="form-group"><input class="form-control" name="name" placeholder="Name"></div>
         <div class="form-group"><input class="form-control" type="email" name="email" placeholder="Email"></div>
         <div class="form-group"><input class="form-control" type="password" name="password" placeholder="Password">
diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportBibo.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-bibliography.jsp
similarity index 74%
rename from gemeinsamforschen/src/main/webapp/pages/researchReportBibo.jsp
rename to gemeinsamforschen/src/main/webapp/researchReport/create-bibliography.jsp
index edda05a84cad978cd2f722ce55a37f38ca9c0d06..c873d1f9dc3079141f0e1eac0ca9797c1f0faeed 100644
--- a/gemeinsamforschen/src/main/webapp/pages/researchReportBibo.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-bibliography.jsp
@@ -1,23 +1,27 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 <!DOCTYPE html>
 
+
+<!-- Tipp @Johannes_: du kannst eine jsp verwenden anstatt 10, die immer wieder auf sich selber verweist und dabei
+den Zustand ändert
+-->
+
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
-    <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
-    <title>Forschungsbericht erstellen</title>
+    <link rel="stylesheet" type="text/css" href="css/researchReport.css">
 </head>
 <body>
 
 
 
 <div id="wrapper">
-    <menu:menu></menu:menu>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <div style="margin-left:50px;">
@@ -37,8 +41,8 @@
 				</textarea>
     </div>
     <div class="ResearchReportButtons">
-        <button class="researchReportButtons"><a href="researchReportQuestion.jsp">Speichern & weiter</a></button>
-        <button class="researchReportButtons"><a href="researchReportRecherche.jsp"> Zur&uuml;ck </a></button>
+        <button class="researchReportButtons"><a href="create-question.jsp">Speichern & weiter</a></button>
+        <button class="researchReportButtons"><a href="create-research.jsp"> Zur&uuml;ck </a></button>
     </div>
     <div class="ResearchReportUpload">
         <input type="file" class="filepond" name="filepond"> </input>
@@ -68,8 +72,8 @@
 </div>
 
 
-<script  src="../assets/js/createReportBibo.js"></script>
-<script  src="../assets/js/createReportProgress.js"></script>
+<script  src="js/createReportBibo.js"></script>
+<script  src="js/createReportProgress.js"></script>
 <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond -->
 <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportConcept.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-concept.jsp
similarity index 72%
rename from gemeinsamforschen/src/main/webapp/pages/researchReportConcept.jsp
rename to gemeinsamforschen/src/main/webapp/researchReport/create-concept.jsp
index 7e1516822394fcb490e0ebfc49a065b658cfd6e4..015039086e8b24597ff833aefc3293c2091270eb 100644
--- a/gemeinsamforschen/src/main/webapp/pages/researchReportConcept.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-concept.jsp
@@ -1,16 +1,15 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 <!DOCTYPE html>
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
-    <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
-    <title>Forschungsbericht erstellen</title>
+    <link rel="stylesheet" type="text/css" href="css/researchReport.css">
 </head>
 <body>
 
@@ -30,8 +29,8 @@
 				</textarea>
     </div>
     <div class="ResearchReportButtons">
-        <button class="researchReportButtons"><a href="researchReportMethod.jsp">Speichern & weiter</a></button>
-        <button class="researchReportButtons"><a href="researchReportQuestion.jsp"> Zur&uuml;ck </a></button>
+        <button class="researchReportButtons"><a href="create-method.jsp">Speichern & weiter</a></button>
+        <button class="researchReportButtons"><a href="create-question.jsp"> Zur&uuml;ck </a></button>
     </div>
     <div class="ResearchReportUpload">
         <input type="file" class="filepond" name="filepond"> </input>
@@ -55,8 +54,8 @@
 </form>
 
 
-<script  src="../assets/js/createReportConcept.js"></script>
-<script  src="../assets/js/createReportProgress.js"></script>
+<script  src="js/createReportConcept.js"></script>
+<script  src="js/createReportProgress.js"></script>
 <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond -->
 <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportEvaluation.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-evaluation.jsp
similarity index 76%
rename from gemeinsamforschen/src/main/webapp/pages/researchReportEvaluation.jsp
rename to gemeinsamforschen/src/main/webapp/researchReport/create-evaluation.jsp
index 14e034a250e36e161926ccc873a9c08727e7fc9c..51d848e9c4749257a603efb2ed67b09b90e912b7 100644
--- a/gemeinsamforschen/src/main/webapp/pages/researchReportEvaluation.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-evaluation.jsp
@@ -1,15 +1,15 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 <!DOCTYPE html>
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
-    <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
+    <link rel="stylesheet" type="text/css" href="css/researchReport.css">
     <title>Forschungsbericht erstellen</title>
 </head>
 <body>
@@ -17,7 +17,7 @@
 
 
 <div id="wrapper">
-    <menu:menu></menu:menu>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <div style="margin-left:50px;">
@@ -36,8 +36,8 @@
 				</textarea>
     </div>
     <div class="ResearchReportButtons">
-        <button class="researchReportButtons"><a href="project-student.jsp">Speichern & weiter</a></button>
-        <button class="researchReportButtons"><a href="researchReportDo.jsp"> Zur&uuml;ck </a></button>
+        <button class="researchReportButtons"><a href="../project-student.jsp">Speichern & weiter</a></button>
+        <button class="researchReportButtons"><a href="create-process-description.jsp"> Zur&uuml;ck </a></button>
     </div>
     <div class="ResearchReportUpload">
         <input type="file" class="filepond" name="filepond"> </input>
@@ -67,8 +67,8 @@
 </div>
 
 
-<script  src="../assets/js/createReportEvaluation.js"></script>
-<script  src="../assets/js/createReportProgress.js"></script>
+<script  src="js/createReportEvaluation.js"></script>
+<script  src="js/createReportProgress.js"></script>
 <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond -->
 <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportMethod.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-method.jsp
similarity index 76%
rename from gemeinsamforschen/src/main/webapp/pages/researchReportMethod.jsp
rename to gemeinsamforschen/src/main/webapp/researchReport/create-method.jsp
index 1722e68b7d6ff471c3f4843d5dd3f843e47d9561..1749e97343ff3c0c34fd7f7df96682c864f6a2ef 100644
--- a/gemeinsamforschen/src/main/webapp/pages/researchReportMethod.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-method.jsp
@@ -1,15 +1,15 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 <!DOCTYPE html>
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
-    <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
+    <link rel="stylesheet" type="text/css" href="css/researchReport.css">
     <title>Forschungsbericht erstellen</title>
 </head>
 <body>
@@ -17,7 +17,7 @@
 
 
 <div id="wrapper">
-    <menu:menu></menu:menu>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <div style="margin-left:50px;">
@@ -37,8 +37,8 @@
 				</textarea>
     </div>
     <div class="ResearchReportButtons">
-        <button class="researchReportButtons"><a href="researchReportDo.jsp">Speichern & weiter</a></button>
-        <button class="researchReportButtons"><a href="researchReportConcept.jsp"> Zur&uuml;ck </a></button>
+        <button class="researchReportButtons"><a href="create-process-description.jsp">Speichern & weiter</a></button>
+        <button class="researchReportButtons"><a href="create-concept.jsp"> Zur&uuml;ck </a></button>
     </div>
     <div class="ResearchReportUpload">
         <input type="file" class="filepond" name="filepond"> </input>
@@ -68,8 +68,8 @@
 </div>
 
 
-<script  src="../assets/js/createReportMethod.js"></script>
-<script  src="../assets/js/createReportProgress.js"></script>
+<script  src="js/createReportMethod.js"></script>
+<script  src="js/createReportProgress.js"></script>
 <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond -->
 <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportOverview.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-overview.jsp
similarity index 89%
rename from gemeinsamforschen/src/main/webapp/pages/researchReportOverview.jsp
rename to gemeinsamforschen/src/main/webapp/researchReport/create-overview.jsp
index 014075eee00ae3a74cb07577d1df4d61ad550ea1..46f297f0a22681a3cb96257c4cb12cbe7e51a00b 100644
--- a/gemeinsamforschen/src/main/webapp/pages/researchReportOverview.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-overview.jsp
@@ -1,17 +1,17 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 <html>
 <head>
     <meta name="viewport" content="width=device-width, initial-scale=1", charset="utf-8">
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
-    <link rel="stylesheet" type="text/css" href="../assets/css/researchReportOverview.css">
-    <script src="../assets/js/createReportOverview.js"></script>
+    <link rel="stylesheet" type="text/css" href="css/researchReportOverview.css">
+    <script src="js/createReportOverview.js"></script>
     <title>Forschungsbericht Ãœbersicht</title>
 
 
@@ -20,7 +20,7 @@
 <body>
 
 <div id="wrapper">
-    <menu:menu></menu:menu>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <div style="margin-left:50px;">
diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportDo.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-process-description.jsp
similarity index 76%
rename from gemeinsamforschen/src/main/webapp/pages/researchReportDo.jsp
rename to gemeinsamforschen/src/main/webapp/researchReport/create-process-description.jsp
index 8fe4788e758133981ca9f02ff0345f100e2de69a..1e8d3e7d149d57276b63cb66bd21073a8dd1d948 100644
--- a/gemeinsamforschen/src/main/webapp/pages/researchReportDo.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-process-description.jsp
@@ -1,15 +1,15 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 <!DOCTYPE html>
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
-    <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
+    <link rel="stylesheet" type="text/css" href="css/researchReport.css">
     <title>Forschungsbericht erstellen</title>
 </head>
 <body>
@@ -17,7 +17,7 @@
 
 
 <div id="wrapper">
-    <menu:menu></menu:menu>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <div style="margin-left:50px;">
@@ -36,8 +36,8 @@
 				</textarea>
     </div>
     <div class="ResearchReportButtons">
-        <button class="researchReportButtons"><a href="researchReportEvaluation.jsp">Speichern & weiter</a></button>
-        <button class="researchReportButtons"><a href="researchReportMethod.jsp"> Zur&uuml;ck </a></button>
+        <button class="researchReportButtons"><a href="create-evaluation.jsp">Speichern & weiter</a></button>
+        <button class="researchReportButtons"><a href="create-method.jsp"> Zur&uuml;ck </a></button>
     </div>
     <div class="ResearchReportUpload">
         <input type="file" class="filepond" name="filepond"> </input>
@@ -67,8 +67,8 @@
 </div>
 
 
-<script  src="../assets/js/createReportDo.js"></script>
-<script  src="../assets/js/createReportProgress.js"></script>
+<script  src="js/createReportDo.js"></script>
+<script  src="js/createReportProgress.js"></script>
 <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond -->
 <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportQuestion.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-question.jsp
similarity index 76%
rename from gemeinsamforschen/src/main/webapp/pages/researchReportQuestion.jsp
rename to gemeinsamforschen/src/main/webapp/researchReport/create-question.jsp
index 8b69897fa00c07c0042cd6b0e645272351ce9576..f70436ce9d8fe57fe4d2d390f8469e67d5d7805d 100644
--- a/gemeinsamforschen/src/main/webapp/pages/researchReportQuestion.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-question.jsp
@@ -1,16 +1,16 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 
 <!DOCTYPE html>
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
-    <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
+    <link rel="stylesheet" type="text/css" href="css/researchReport.css">
     <title>Forschungsbericht erstellen</title>
 </head>
 <body>
@@ -19,7 +19,7 @@
 
 
 <div id="wrapper">
-    <menu:menu></menu:menu>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <div style="margin-left:50px;">
@@ -39,8 +39,8 @@
 				</textarea>
     </div>
     <div class="ResearchReportButtons">
-        <button class="researchReportButtons"><a href="researchReportConcept.jsp">Speichern & weiter</a></button>
-        <button class="researchReportButtons"><a href="researchReportBibo.jsp"> Zur&uuml;ck </a></button>
+        <button class="researchReportButtons"><a href="create-concept.jsp">Speichern & weiter</a></button>
+        <button class="researchReportButtons"><a href="create-bibliography.jsp"> Zur&uuml;ck </a></button>
     </div>
     <div class="ResearchReportUpload">
         <input type="file" class="filepond" name="filepond"> </input>
@@ -69,8 +69,8 @@
 </div>
 
 
-<script  src="../assets/js/createReportQuestion.js"></script>
-<script  src="../assets/js/createReportProgress.js"></script>
+<script  src="js/createReportQuestion.js"></script>
+<script  src="js/createReportProgress.js"></script>
 <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond -->
 <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportRecherche.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-research.jsp
similarity index 76%
rename from gemeinsamforschen/src/main/webapp/pages/researchReportRecherche.jsp
rename to gemeinsamforschen/src/main/webapp/researchReport/create-research.jsp
index 4dcecad36722f6527192a266331b945cbe566ab9..ce4f3d40be427955726ed528c12cd4dc15bcaf1d 100644
--- a/gemeinsamforschen/src/main/webapp/pages/researchReportRecherche.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-research.jsp
@@ -1,22 +1,22 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 <!DOCTYPE html>
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
-    <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
+    <link rel="stylesheet" type="text/css" href="css/researchReport.css">
     <title>Forschungsbericht erstellen</title>
 </head>
 <body>
 
 
 <div id="wrapper">
-    <menu:menu></menu:menu>
+    <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
         <div style="margin-left:50px;">
@@ -37,8 +37,8 @@
 				</textarea>
     </div>
     <div class="ResearchReportButtons">
-        <button class="researchReportButtons"><a href="researchReportBibo.jsp">Speichern & weiter</a></button>
-        <button class="researchReportButtons"><a href="researchReportTitle.jsp"> Zur&uuml;ck </a></button>
+        <button class="researchReportButtons"><a href="create-bibliography.jsp">Speichern & weiter</a></button>
+        <button class="researchReportButtons"><a href="create-title.jsp"> Zur&uuml;ck </a></button>
     </div>
 
     <div class="ResearchReportUpload">
@@ -71,8 +71,8 @@
 
 
 
-<script  src="../assets/js/createReportRecherche.js"></script>
-<script  src="../assets/js/createReportProgress.js"></script>
+<script  src="js/createReportRecherche.js"></script>
+<script  src="js/createReportProgress.js"></script>
 <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond -->
 <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
diff --git a/gemeinsamforschen/src/main/webapp/pages/researchReportTitle.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-title.jsp
similarity index 86%
rename from gemeinsamforschen/src/main/webapp/pages/researchReportTitle.jsp
rename to gemeinsamforschen/src/main/webapp/researchReport/create-title.jsp
index 87a24067f088992a897f101860c5b647c167885a..d2b1a0a5ebe444fbf6f4b569352fb3398b577089 100644
--- a/gemeinsamforschen/src/main/webapp/pages/researchReportTitle.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-title.jsp
@@ -1,22 +1,22 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
-<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 
 <!DOCTYPE html>
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
-    <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
+    <link rel="stylesheet" type="text/css" href="css/researchReport.css">
     <title>Forschungsbericht erstellen</title>
 </head>
 <body>
 
 <div id="wrapper">
-    <menu:menu></menu:menu>
+    <menu:menu hierarchy="1"/>
         <div class="page-content-wrapper">
             <headLine:headLine/>
             <div style="margin-left:50px;">
@@ -80,8 +80,8 @@
 </div>
 
 
-<script  src="../assets/js/createReportTitle.js"></script>
-<script  src="../assets/js/createReportProgress.js"></script>
+<script  src="js/createReportTitle.js"></script>
+<script  src="js/createReportProgress.js"></script>
 <script src="https://unpkg.com/filepond/dist/filepond.js"></script> <!--FilePond -->
 <script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script> <!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/researchReport.css b/gemeinsamforschen/src/main/webapp/researchReport/css/researchReport.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/researchReport.css
rename to gemeinsamforschen/src/main/webapp/researchReport/css/researchReport.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/css/researchReportOverview.css b/gemeinsamforschen/src/main/webapp/researchReport/css/researchReportOverview.css
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/css/researchReportOverview.css
rename to gemeinsamforschen/src/main/webapp/researchReport/css/researchReportOverview.css
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportBibo.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportBibo.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/createReportBibo.js
rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportBibo.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportConcept.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportConcept.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/createReportConcept.js
rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportConcept.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportDo.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportDo.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/createReportDo.js
rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportDo.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportEvaluation.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportEvaluation.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/createReportEvaluation.js
rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportEvaluation.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportMethod.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportMethod.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/createReportMethod.js
rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportMethod.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportOverview.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportOverview.js
similarity index 74%
rename from gemeinsamforschen/src/main/webapp/assets/js/createReportOverview.js
rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportOverview.js
index 1c28d5e60c9e92d28fa0955d73310f5f63fb10c3..46d02dfecb3a3a02f7c83a92611f50696339229e 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/createReportOverview.js
+++ b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportOverview.js
@@ -5,7 +5,7 @@ $(document).ready(function() {
     $('#student').val(student);
     $('#project').val(project);
         $('#uploader').on('click', function(){
-                //location.href="researchReportTitle.jsp?token="+getUserTokenFromUrl();
+                //location.href="create-title.jsp?token="+getUserTokenFromUrl();
             //boolean uploaded=true;
             });
     $('#backLink').on('click', function(){
@@ -14,7 +14,7 @@ $(document).ready(function() {
     });
 
     $('#forwardLink').on('click', function(){
-        location.href = "researchReportTitle.jsp?token=" + student + "&projectId=" + project;
+        location.href = "create-title.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
 
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportProgress.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportProgress.js
similarity index 51%
rename from gemeinsamforschen/src/main/webapp/assets/js/createReportProgress.js
rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportProgress.js
index 943d90fccab49e3b57a87cbfca5382cc6e6cf68f..b578bcfe01c1988fa1eb4db9653bc2eaf94ebe2f 100644
--- a/gemeinsamforschen/src/main/webapp/assets/js/createReportProgress.js
+++ b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportProgress.js
@@ -6,35 +6,35 @@ $(document).ready(function() {
     $('#project').val(project);
 
     $('#title').on('click', function(){
-        location.href = "researchReportTitle.jsp?token=" + student + "&projectId=" + project;
+        location.href = "create-title.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
     $('#recherche').on('click', function(){
-        location.href = "researchReportRecherche.jsp?token=" + student + "&projectId=" + project;
+        location.href = "create-research.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
     $('#bibo').on('click', function(){
-        location.href = "researchReportBibo.jsp?token=" + student + "&projectId=" + project;
+        location.href = "create-bibliography.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
     $('#question').on('click', function(){
-        location.href = "researchReportQuestion.jsp?token=" + student + "&projectId=" + project;
+        location.href = "create-question.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
     $('#concept').on('click', function(){
-        location.href = "researchReportConcept.jsp?token=" + student + "&projectId=" + project;
+        location.href = "create-concept.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
     $('#method').on('click', function(){
-        location.href = "researchReportMethod.jsp?token=" + student + "&projectId=" + project;
+        location.href = "create-method.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
     $('#reportDo').on('click', function(){
-        location.href = "researchReportDo.jsp?token=" + student + "&projectId=" + project;
+        location.href = "create-process-description.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
     $('#evaluation').on('click', function(){
-        location.href = "researchReportEvaluation.jsp?token=" + student + "&projectId=" + project;
+        location.href = "create-evaluation.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
 
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportQuestion.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportQuestion.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/createReportQuestion.js
rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportQuestion.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportRecherche.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportRecherche.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/createReportRecherche.js
rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportRecherche.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/createReportTitle.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportTitle.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/createReportTitle.js
rename to gemeinsamforschen/src/main/webapp/researchReport/js/createReportTitle.js
diff --git a/gemeinsamforschen/src/main/webapp/assets/js/researchReportUpload.js b/gemeinsamforschen/src/main/webapp/researchReport/js/researchReportUpload.js
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/assets/js/researchReportUpload.js
rename to gemeinsamforschen/src/main/webapp/researchReport/js/researchReportUpload.js
diff --git a/gemeinsamforschen/src/main/webapp/session/session_example_1.jsp b/gemeinsamforschen/src/main/webapp/session/session_example_1.jsp
index 4f2ddf97366c1617b8aad74c34fe72937b36fea1..e1b81b465b971d6f33be838634b9a1f0a484f192 100644
--- a/gemeinsamforschen/src/main/webapp/session/session_example_1.jsp
+++ b/gemeinsamforschen/src/main/webapp/session/session_example_1.jsp
@@ -6,7 +6,7 @@
   To change this template use File | Settings | File Templates.
 --%>
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib prefix="gf" uri="../core/pages/gemeinsamForschen.tld" %>
+<%@ taglib prefix="gf" uri="../core/gemeinsamForschen.tld" %>
 <html>
 <head>
     <title>Title</title>
diff --git a/gemeinsamforschen/src/main/webapp/session/session_example_2.jsp b/gemeinsamforschen/src/main/webapp/session/session_example_2.jsp
index a6e570bc3814fac53418a447f95854fe729a2224..4e58d95d9b1c81aa9c3345c323c39e0f5f82d01e 100644
--- a/gemeinsamforschen/src/main/webapp/session/session_example_2.jsp
+++ b/gemeinsamforschen/src/main/webapp/session/session_example_2.jsp
@@ -6,7 +6,7 @@
   To change this template use File | Settings | File Templates.
 --%>
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib prefix="gf" uri="../core/pages/gemeinsamForschen.tld" %>
+<%@ taglib prefix="gf" uri="../core/gemeinsamForschen.tld" %>
 <html>
 <head>
     <title>Big Deal</title>
diff --git a/gemeinsamforschen/src/scripts/dbschema/createDummyCourses.sql b/gemeinsamforschen/src/scripts/dbschema/createDummyCourses.sql
new file mode 100644
index 0000000000000000000000000000000000000000..873c6a89affc378b88bb7c2bf2bbbb438ac0f770
--- /dev/null
+++ b/gemeinsamforschen/src/scripts/dbschema/createDummyCourses.sql
@@ -0,0 +1,4 @@
+INSERT INTO `projects` (`id`, `password`, `active`, `timecreated`, `author`, `adminPassword`, `token`, `phase`) VALUES
+('Kaleo', 'password', 1, '2018-09-07 12:13:21', 'axel', '1234', '4pingsfelmf4', 'CourseCreation'),
+('gemeinsamForschen', 'password', 1, '2018-09-13 08:55:02', 'axel', '1234', '32ptng45g9', 'Execution');
+COMMIT;
\ No newline at end of file
diff --git a/gemeinsamforschen/src/scripts/dbschema/createDummyUser.sql b/gemeinsamforschen/src/scripts/dbschema/createDummyUser.sql
index e578511f6f5df1bf7e62c2c23bcb2a2ec8c01bca..c68466c5976964bcda06d67682119bd561593a50 100644
--- a/gemeinsamforschen/src/scripts/dbschema/createDummyUser.sql
+++ b/gemeinsamforschen/src/scripts/dbschema/createDummyUser.sql
@@ -1,34 +1,26 @@
 
 drop TABLE `users`;
 
-CREATE TABLE `users` (
-  `name` varchar(400) NOT NULL,
-  `password` varchar(200) NOT NULL,
-  `email` varchar(400) NOT NULL,
-  `token` varchar(800) NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+CREATE TABLE if not exists `users` (
+  `name`                varchar(100) NOT NULL,
+  `password`            varchar(200) NOT NULL,
+  `email`               varchar(255) NOT NULL,
+  `token`               varchar(800) NOT NULL,
+  `rocketChatId`        varchar(400) NOT NULL,
+  `rocketChatAuthToken` varchar(800) NOT NULL,
+  UNIQUE (email)
 
+)ENGINE = InnoDB DEFAULT CHARSET = utf8;
 
-INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES
-  ('teststudent1', 'egal', 'test1@uni.de', 'test1');
 
-INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES
-  ('teststudent1', 'egal', 'test1@uni.de', 'test1');
+INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES
+  ('teststudent1', 'egal', 'test1@uni.de', 'test1','1','abc');
 
-INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES
-  ('teststudent2', 'egal', 'test2@uni.de', 'test2');
+INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES
+  ('teststudent1', 'egal', 'test2@uni.de', 'test1','1','abc');
 
-INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES
-  ('teststudent3', 'egal', 'test3@uni.de', 'test3');
+INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES
+  ('teststudent1', 'egal', 'test3@uni.de', 'test1','1','abc');
 
-INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES
-  ('teststudent4', 'egal', 'test4@uni.de', 'test4');
-
-INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES
-  ('teststudent5', 'egal', 'test5@uni.de', 'test5');
-
-INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES
-  ('teststudent6', 'egal', 'test6@uni.de', 'test6');
-
-INSERT INTO `users` (`name`, `password`, `email`, `token`) VALUES
-  ('teststudent7', 'egal', 'test7@uni.de', 'test7');
+INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES
+  ('teststudent1', 'egal', 'test4@uni.de', 'test1','1','abc');
\ No newline at end of file
diff --git a/gemeinsamforschen/src/scripts/dbschema/createDummyUsersGroupsProject.sql b/gemeinsamforschen/src/scripts/dbschema/createDummyUsersGroupsProject.sql
new file mode 100644
index 0000000000000000000000000000000000000000..3e5d984640d2942ef1754f7c01c6a38af115c7e4
--- /dev/null
+++ b/gemeinsamforschen/src/scripts/dbschema/createDummyUsersGroupsProject.sql
@@ -0,0 +1,54 @@
+/*
+  Make sure all tables are created with fltrail.sql
+  Functions with empty grouptable only (because of autoincrement id of group)
+ */
+
+INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES
+  ('teststudent1', 'egal', 'test1@uni.de', 'test1','1','abc');
+
+INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES
+  ('teststudent2', 'egal', 'test2@uni.de', 'test1','1','abc');
+
+INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES
+  ('teststudent3', 'egal', 'test3@uni.de', 'test1','1','abc');
+
+INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES
+  ('teststudent4', 'egal', 'test4@uni.de', 'test1','1','abc');
+
+INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES
+  ('teststudent5', 'egal', 'test5@uni.de', 'test1','1','abc');
+
+INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES
+  ('teststudent6', 'egal', 'test6@uni.de', 'test1','1','abc');
+
+INSERT INTO `users` (`name`, `password`, `email`, `token`, `rocketChatId`, `rocketChatAuthToken`) VALUES
+  ('teststudent7', 'egal', 'test7@uni.de', 'test1','1','abc');
+
+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`,`author`,`adminpassword`,`token`,`phase`) VALUES
+  ('1','123',1,current_timestamp,'Julian','123','abc','CourseCreation');
+
+INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test1@uni.de');
+INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test2@uni.de');
+INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test3@uni.de');
+INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test4@uni.de');
+INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test5@uni.de');
+INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test6@uni.de');
+INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test7@uni.de');
+INSERT INTO `projectuser` (`projectId`,`userId`) VALUES ('1','test8@uni.de');
+
+INSERT INTO groups (projectId, chatRoomId) VALUES ('1','1');
+INSERT INTO groups (projectId, chatRoomId) VALUES ('1','2');
+INSERT INTO groups (projectId, chatRoomId) VALUES ('1','3');
+INSERT INTO groups (projectId, chatRoomId) VALUES ('1','4');
+
+INSERT INTO groupuser (userEmail, groupId) VALUES ('test1@uni.de','1');
+INSERT INTO groupuser (userEmail, groupId) VALUES ('test2@uni.de','2');
+INSERT INTO groupuser (userEmail, groupId) VALUES ('test3@uni.de','3');
+INSERT INTO groupuser (userEmail, groupId) VALUES ('test4@uni.de','4');
+INSERT INTO groupuser (userEmail, groupId) VALUES ('test5@uni.de','1');
+INSERT INTO groupuser (userEmail, groupId) VALUES ('test6@uni.de','2');
+INSERT INTO groupuser (userEmail, groupId) VALUES ('test7@uni.de','3');
+INSERT INTO groupuser (userEmail, groupId) VALUES ('test8@uni.de','4');
\ No newline at end of file
diff --git a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql b/gemeinsamforschen/src/scripts/dbschema/fltrail.sql
index 1e6c8d247aeaf038a61c50d910effc7168f1aa4a..062476e03983706cdbc49fa9fd997c1f5a6534bf 100644
--- a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql
+++ b/gemeinsamforschen/src/scripts/dbschema/fltrail.sql
@@ -9,58 +9,79 @@ SET time_zone = "+00:00";
 /*!40101 SET NAMES utf8mb4 */;
 
 
-CREATE TABLE `annotations` (
+CREATE TABLE if not exists `annotations` (
   `id` varchar(120) NOT NULL,
   `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-  `userId` int(11) DEFAULT NULL,
-  `targetId` int(11) DEFAULT NULL,
-  `body` varchar(280) DEFAULT NULL,
+  `userToken` varchar(120) DEFAULT NULL,
+  `targetId` varchar(120) DEFAULT NULL,
+  `targetCategory` VARCHAR(30) NOT NULL,
+  `title` varchar(120) DEFAULT NULL,
+  `comment` varchar(400) DEFAULT NULL,
   `startCharacter` int(11) DEFAULT NULL,
-  `endCharacter` int(11) DEFAULT NULL
+  `endCharacter` int(11) DEFAULT NULL,
+  PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
+CREATE TABLE if not exists `fullsubmissions` (
+  `id` VARCHAR(120) NOT NULL,
+  `timestamp` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `user` VARCHAR(120) NOT NULL,
+  `text` MEDIUMTEXT NOT NULL,
+  `projectId` VARCHAR(120) NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE = InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE if not exists `submissionparts` (
+  `timestamp` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `userId` VARCHAR(120) NOT NULL,
+  `fullSubmissionId` VARCHAR(120) NOT NULL,
+  `category` VARCHAR(30) NOT NULL,
+  PRIMARY KEY (`fullSubmissionId`, `category`)
+) ENGINE = InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE if not exists `submissionpartbodyelements` (
+  `fullSubmissionId` VARCHAR(120) NOT NULL,
+  `category` VARCHAR(30) NOT NULL,
+  `startCharacter` int(11) NOT NULL,
+  `endCharacter` int(11) NOT NULL,
+  PRIMARY KEY (`fullSubmissionId`, `category`, `startCharacter`, `endCharacter`)
+) ENGINE = InnoDB DEFAULT CHARSET=utf8;
+
 CREATE TABLE `answeredquiz` (
   `projectId` varchar(400) NOT NULL,
   `studentId` varchar(400) NOT NULL,
   `question` varchar(400) NOT NULL,
   `correct` tinyint(4) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
 CREATE TABLE `contributionrating` (
   `groupId` int(11) NOT NULL,
   `fromPeer` varchar(400) NOT NULL,
   `dossier` int(11) NOT NULL,
   `research` int(11) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
 CREATE TABLE `grades` (
   `projectId` varchar(400) NOT NULL,
   `studentId` varchar(400) NOT NULL,
   `grade` double NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
 CREATE TABLE `groups` (
   `id` int(11) NOT NULL,
   `projectId` varchar(400) NOT NULL,
   `chatRoomId` varchar(400) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
 CREATE TABLE `groupuser` (
   `studentId` varchar(400) NOT NULL,
   `projectId` varchar(400) NOT NULL,
   `groupId` int(11) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
 CREATE TABLE `phasesselected` (
   `projectId` varchar(100) NOT NULL,
   `phaseSelected` varchar(200) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
 CREATE TABLE `profilepicture` (
   `studentId` varchar(200) NOT NULL,
   `image` longblob NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
 CREATE TABLE `projects` (
   `id` varchar(400) NOT NULL,
   `password` varchar(400) NOT NULL,
@@ -85,12 +106,10 @@ CREATE TABLE `quiz` (
   `answer` varchar(400) NOT NULL,
   `correct` tinyint(1) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
 CREATE TABLE `tags` (
   `projectId` varchar(400) NOT NULL,
   `tag` varchar(400) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
 CREATE TABLE `tasks` (
   `userId` varchar(400) NOT NULL,
   `projectId` varchar(400) NOT NULL,
@@ -105,7 +124,9 @@ CREATE TABLE `users` (
   `rocketChatId` varchar(400) NOT NULL,
   `rocketChatAuthToken` varchar(800) NOT NULL,
   `isStudent` tinyint(1) DEFAULT '1'
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+)
+  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8;
 
 CREATE TABLE `workrating` (
   `projectId` varchar(400) NOT NULL,
@@ -118,10 +139,6 @@ CREATE TABLE `workrating` (
   `autonomous` int(11) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
-
-ALTER TABLE `annotations`
-  ADD PRIMARY KEY (`id`);
-
 ALTER TABLE `groups`
   ADD PRIMARY KEY (`id`);
 
diff --git a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql.orig b/gemeinsamforschen/src/scripts/dbschema/fltrail.sql.orig
index 0a4cf820cd2c5dae6d31fc8cb069ef2a37005018..503b1b82eada5064c0b20cb238f5b9ee6540cdfc 100644
--- a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql.orig
+++ b/gemeinsamforschen/src/scripts/dbschema/fltrail.sql.orig
@@ -1,218 +1,260 @@
-CREATE DATABASE IF NOT EXISTS `fltrail`
+SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
+SET AUTOCOMMIT = 0;
+START TRANSACTION;
+SET time_zone = "+00:00";
 
-  DEFAULT CHARACTER SET utf8
+/*!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 */;
 
-  COLLATE utf8_general_ci;
 
+<<<<<<< HEAD
+CREATE TABLE `annotations` (
+  `id` varchar(120) NOT NULL,
+  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `userId` int(11) DEFAULT NULL,
+  `targetId` int(11) DEFAULT NULL,
+  `body` varchar(280) DEFAULT NULL,
+  `startCharacter` int(11) DEFAULT NULL,
+  `endCharacter` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `answeredquiz` (
+  `projectId` varchar(400) NOT NULL,
+  `studentId` varchar(400) NOT NULL,
+  `question` varchar(400) NOT NULL,
+  `correct` tinyint(4) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `contributionrating` (
+  `groupId` int(11) NOT NULL,
+  `fromPeer` varchar(400) NOT NULL,
+  `dossier` int(11) NOT NULL,
+  `research` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `grades` (
+  `projectId` varchar(400) NOT NULL,
+  `studentId` varchar(400) NOT NULL,
+  `grade` double NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `groups` (
+  `id` int(11) NOT NULL,
+  `projectId` varchar(400) NOT NULL,
+  `chatRoomId` varchar(400) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `groupuser` (
+  `studentId` varchar(400) NOT NULL,
+  `projectId` varchar(400) NOT NULL,
+  `groupId` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `phasesselected` (
+  `projectId` varchar(100) NOT NULL,
+  `phaseSelected` varchar(200) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `profilepicture` (
+  `studentId` varchar(200) NOT NULL,
+  `image` longblob NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+CREATE TABLE `projects` (
+  `id` varchar(400) NOT NULL,
+  `password` varchar(400) NOT NULL,
+  `active` tinyint(1) NOT NULL,
+  `timecreated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `author` varchar(400) NOT NULL,
+  `adminPassword` varchar(400) NOT NULL,
+  `token` varchar(400) NOT NULL,
+  `phase` varchar(400) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `projectuser` (
+  `projectId` varchar(400) NOT NULL,
+  `userId` varchar(400) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `quiz` (
+  `studentId` varchar(400) NOT NULL,
+  `projectId` varchar(400) NOT NULL,
+  `question` varchar(400) NOT NULL,
+  `mcType` varchar(400) NOT NULL,
+  `answer` varchar(400) NOT NULL,
+  `correct` tinyint(1) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `tags` (
+  `projectId` varchar(400) NOT NULL,
+  `tag` varchar(400) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `tasks` (
+  `userId` varchar(400) NOT NULL,
+  `projectId` varchar(400) NOT NULL,
+  `taskUrl` varchar(400) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `users` (
+  `name` varchar(400) NOT NULL,
+  `password` varchar(200) NOT NULL,
+  `email` varchar(255) NOT NULL,
+  `token` varchar(800) NOT NULL,
+  `rocketChatId` varchar(400) NOT NULL,
+  `rocketChatAuthToken` varchar(800) NOT NULL,
+  `isStudent` tinyint(1) DEFAULT '1'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `workrating` (
+  `projectId` varchar(400) NOT NULL,
+  `studentId` varchar(400) NOT NULL,
+  `fromPeer` varchar(400) NOT NULL,
+  `responsibility` int(11) NOT NULL,
+  `partOfWork` int(11) NOT NULL,
+  `cooperation` int(11) NOT NULL,
+  `communication` int(11) NOT NULL,
+  `autonomous` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+=======
 USE `fltrail`;
 
 CREATE TABLE if not exists `projects` (
-
   `id`            varchar(100) NOT NULL,
-
   `password`      varchar(400) NOT NULL,
-
   `active`        tinyint(1)   NOT NULL,
-
   `timecreated`   timestamp    NOT NULL DEFAULT CURRENT_TIMESTAMP
   ON UPDATE CURRENT_TIMESTAMP,
-
   `author`        varchar(400) NOT NULL,
-
   `adminPassword` varchar(400) NOT NULL,
-
   `token`         varchar(400) NOT NULL,
-
   `phase`         varchar(400) NOT NULL
 
-)
-
-  ENGINE = InnoDB
-
-  DEFAULT CHARSET = utf8;
+)ENGINE = InnoDB DEFAULT CHARSET = utf8;
 
 CREATE TABLE if not exists `groups` (
-
   `id`         int          NOT NULL AUTO_INCREMENT,
-
   `projectId`  varchar(400) NOT NULL,
-
   `chatRoomId` varchar(400) NOT NULL,
-
   PRIMARY KEY (id)
+) ENGINE = InnoDB DEFAULT CHARSET = utf8;
 
-)
-
-  ENGINE = InnoDB
-
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE if not exists groupuser
-
-(
-
+CREATE TABLE if not exists groupuser (
   userEmail varchar(400) NOT NULL,
-
   groupId   int          NOT NULL
-
-)
-
-  ENGINE = InnoDB
-
-  DEFAULT CHARSET = utf8;
+) ENGINE = InnoDB DEFAULT CHARSET = utf8;
 
 CREATE TABLE if not exists `tags` (
-
   `projectId` varchar(100) NOT NULL,
-
   `tag`       varchar(400) NOT NULL
-
-)
-
-  ENGINE = InnoDB
-
+) ENGINE = InnoDB
   DEFAULT CHARSET = utf8;
 
 CREATE TABLE if not exists `users` (
-
   `name`                varchar(100) NOT NULL,
-
   `password`            varchar(200) NOT NULL,
-
   `email`               varchar(255) NOT NULL,
-
   `token`               varchar(800) NOT NULL,
-
   `rocketChatId`        varchar(400) NOT NULL,
-
   `rocketChatAuthToken` varchar(800) NOT NULL,
-
+  `isStudent`           TINYINT(1),
   UNIQUE (email)
 
 )
-
   ENGINE = InnoDB
-
   DEFAULT CHARSET = utf8;
 
-CREATE TABLE if not exists projectuser
-
-(
-
+CREATE TABLE if not exists projectuser (
   projectId varchar(100) NOT NULL,
-
   userId    varchar(100) NOT NULL
-
 )
-
   ENGINE = InnoDB
-
   DEFAULT CHARSET = utf8;
 
 CREATE TABLE if not exists `annotations` (
-  `id` varchar(120) NOT NULL,
-  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-  `userToken` varchar(120) DEFAULT NULL,
-  `targetId` int(11) DEFAULT NULL,
-  `title` varchar(120) DEFAULT NULL,
-  `comment` varchar(400) DEFAULT NULL,
-  `startCharacter` int(11) DEFAULT NULL,
-  `endCharacter` int(11) DEFAULT NULL,
+  `id`             varchar(120) NOT NULL,
+  `timestamp`      timestamp    NOT NULL DEFAULT CURRENT_TIMESTAMP
+  ON UPDATE CURRENT_TIMESTAMP,
+  `userToken`      varchar(120)          DEFAULT NULL,
+  `targetId`       int(11)               DEFAULT NULL,
+  `title`          varchar(120)          DEFAULT NULL,
+  `comment`        varchar(400)          DEFAULT NULL,
+  `startCharacter` int(11)               DEFAULT NULL,
+  `endCharacter`   int(11)               DEFAULT NULL,
   PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+)
+  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8;
 
 alter table users
-
   add isStudent tinyint(1) default '1' null;
 
-CREATE TABLE if not exists quiz
-
-(
-
+CREATE TABLE if not exists quiz (
   author    varchar(400) NOT NULL,
-
   projectId varchar(400) NOT NULL,
-
   question  varchar(400) NOT NULL,
-
   mcType    varchar(400) NOT NULL,
-
   answer    varchar(400) NOT NULL,
-
   correct   tinyint(1)   NOT NULL
-
 )
-
   ENGINE = InnoDB
-
   DEFAULT CHARSET = utf8;
 
-CREATE TABLE if not exists tasks
-
-(
-
+CREATE TABLE if not exists tasks (
   userId    varchar(400) NOT NULL,
-
   projectId varchar(400) NOT NULL,
-
   taskUrl   varchar(400) NOT NULL
 )
-
   ENGINE = InnoDB
-
   DEFAULT CHARSET = utf8;
+>>>>>>> origin/#40_dummyProjectCreation
 
+ALTER TABLE `annotations`
+  ADD PRIMARY KEY (`id`);
 
+<<<<<<< HEAD
+ALTER TABLE `groups`
+  ADD PRIMARY KEY (`id`);
+
+ALTER TABLE `projectuser`
+  ADD KEY `projectId` (`projectId`(255),`userId`(255));
+
+ALTER TABLE `users`
+  ADD UNIQUE KEY `email` (`email`);
+
+=======
 CREATE TABLE if not exists phasesSelected (
- `projectId`    varchar(100) NOT NULL,
+  `projectId`   varchar(100) NOT NULL,
   phaseSelected varchar(200) NOT NULL
 )
   ENGINE = InnoDB
   DEFAULT CHARSET = utf8;
 
 CREATE TABLE if not exists categoriesSelected (
-  `projectId`    varchar(100) NOT NULL,
-   categorySelected varchar(200) NOT NULL
+  `projectId`      varchar(100) NOT NULL,
+  categorySelected varchar(200) NOT NULL
 )
   ENGINE = InnoDB
   DEFAULT CHARSET = utf8;
 
 CREATE TABLE if not exists groupfindingMechanismSelected (
-  `projectId`    varchar(100) NOT NULL,
-   gfmSelected   varchar(200) NOT NULL
+  `projectId` varchar(100) NOT NULL,
+  gfmSelected varchar(200) NOT NULL
 )
   ENGINE = InnoDB
   DEFAULT CHARSET = utf8;
 
 CREATE TABLE if not exists assessmentMechanismSelected (
-  `projectId`    varchar(100) NOT NULL,
-   amSelected    varchar(200) NOT NULL
+  `projectId` varchar(100) NOT NULL,
+  amSelected  varchar(200) NOT NULL
 )
   ENGINE = InnoDB
   DEFAULT CHARSET = utf8;
+>>>>>>> origin/#40_dummyProjectCreation
 
-<<<<<<< HEAD
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE if not exists grades
-
-(
-
-  projectId varchar(400) NOT NULL,
-
-  studentId varchar(400) NOT NULL,
-
-  grade double NOT NULL
-)
-
-  ENGINE = InnoDB
-
-  DEFAULT CHARSET = utf8;
-=======
-ALTER TABLE `projectuser`
-  ADD INDEX (`projectId`, `userId`);
-ALTER TABLE `projectuser`
-  ADD UNIQUE (`projectId`, `userId`);
-ALTER TABLE `projects`
-  ADD UNIQUE (`id`);
->>>>>>> origin/session_management
+ALTER TABLE `groups`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
+COMMIT;
\ No newline at end of file
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
index 2022098901c1d33133d46ffa6ebe1268e8b960d9..284258c144cf54efabc89250533c0573edcd4e43 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
@@ -17,7 +17,7 @@ import unipotsdam.gf.core.management.Management;
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.project.ProjectConfiguration;
 import unipotsdam.gf.core.management.user.User;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.modules.groupfinding.GroupFormationMechanism;
 import unipotsdam.gf.modules.groupfinding.GroupfindingCriteria;
 import unipotsdam.gf.modules.journal.model.Journal;
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java
index 9d59d39a89bade2431dee22455ef1bcc457c1f2a..fa948cc8054747957ec225561db6bcf8e2ecea1e 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java
@@ -10,7 +10,7 @@ import unipotsdam.gf.core.management.ManagementImpl;
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
 import unipotsdam.gf.core.management.user.UserProfile;
-import unipotsdam.gf.core.states.ProjectPhase;
+import unipotsdam.gf.core.states.model.ProjectPhase;
 import javax.inject.Inject;
 
 public class PhaseTest {
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java
index cb7e6b830ee9af24b2b7f60c99e7a1bb45fc0cf2..1b13a03bcf124f3a2edb682104bce1e56a19bd7b 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java
@@ -1,6 +1,8 @@
 package unipotsdam.gf.modules.assessment;
 
 import org.junit.Test;
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
+import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
 import unipotsdam.gf.interfaces.IPeerAssessment;
 import unipotsdam.gf.modules.assessment.controller.model.*;
 import unipotsdam.gf.modules.assessment.controller.service.FBAssessement;
@@ -9,6 +11,8 @@ import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+
+import static javax.swing.UIManager.getString;
 import java.util.Map;
 
 public class TestAddAssessment {
@@ -86,5 +90,61 @@ public class TestAddAssessment {
         //Assessment assessment = new Assessment(student, performance);
         //iPeerAssessment.addAssessmentDataToDB(assessment);
     }
+    @Test
+    public void meanOfAssessments(){
+        double Ergebnis=0.0;
+        double zwischenErgebnis=0.0;
+        double counter=0.0;
+        List<Double> results = new ArrayList<>();
+        MysqlConnect connect = new MysqlConnect();
+
+        connect.connect();
+        String mysqlRequest = "SELECT * FROM `assessments` WHERE `empfaengerId`=? AND `projektId`=?";
+        String test = "fgnxn";
+        String test2 = "projekt";
+        VereinfachtesResultSet ausgabe = connect.issueSelectStatement(mysqlRequest,test, test2);
+        while (ausgabe.next()){
+            counter++;
+            zwischenErgebnis=zwischenErgebnis+ausgabe.getInt("bewertung");
+            results.add((double) ausgabe.getInt("bewertung"));
+        }
+        results.add(zwischenErgebnis/counter);
+        System.out.println(results);
+        //Integer bewertung = ausgabe.getInt("bewertung");
+        connect.close();
+    }
+    @Test
+    public void groupDatafromDB(){
+        MysqlConnect connect = new MysqlConnect();
+        List<String> userNamen=new ArrayList<>();
+        GroupEvalDataDatasets datenSaetze = new GroupEvalDataDatasets();
+        GroupEvalDataList datenDia = new GroupEvalDataList();
+        connect.connect();
+
+        String mysqlRequestGroupuser = "SELECT * FROM `groupuser` WHERE `groupId`=? ";
+
+        VereinfachtesResultSet namenDerUser = connect.issueSelectStatement(mysqlRequestGroupuser,3);
+        int[] bewertungenZwischen=new int[10];
+        while (namenDerUser.next()){
+            userNamen.add(namenDerUser.getString("userEmail"));
+        }
+        for (int i=0;i<userNamen.size();i++){
+            String mysqlRequestAssessment = "SELECT * FROM `assessments` WHERE `empfaengerId`=?";
+            VereinfachtesResultSet bewertungDerUser = connect.issueSelectStatement(mysqlRequestAssessment,userNamen.get(i));
+
+            while (bewertungDerUser.next()) {
+                //bewertungenZwischen.add(bewertungDerUser.getInt("bewertung"));
+                System.out.println("Hass");
+                }
+            datenSaetze.setData(bewertungenZwischen);
+            //datenSaetze.setLabel(userNamen.get(i));
+            datenDia.appendDataSet(datenSaetze);
+            System.out.println(datenSaetze.getData());
+            System.out.println(datenSaetze.getLabel());
+
+            }
+        connect.close();
+    }
+
 
 }
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java.orig b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java.orig
new file mode 100644
index 0000000000000000000000000000000000000000..9551fecdd8a1ff851d2613269ab51347f7b791cc
--- /dev/null
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java.orig
@@ -0,0 +1,156 @@
+package unipotsdam.gf.modules.assessment;
+
+import org.junit.Test;
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
+import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
+import unipotsdam.gf.interfaces.IPeerAssessment;
+import unipotsdam.gf.modules.assessment.controller.model.*;
+import unipotsdam.gf.modules.assessment.controller.service.FBAssessement;
+<<<<<<< HEAD
+import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+=======
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static javax.swing.UIManager.getString;
+>>>>>>> origin/PeerAssessmentChristian_2
+
+public class TestAddAssessment {
+
+    private IPeerAssessment peer = new PeerAssessment();
+    private String studentId = "Kevin";
+    private String projectId = "test a la test";
+    private String quizId = "Whats a good Test?";
+
+    @Test
+    public void createQuiz(){
+        StudentAndQuiz studentAndQuiz = new StudentAndQuiz();
+        StudentIdentifier student = new StudentIdentifier(projectId, studentId);
+        studentAndQuiz.setStudentIdentifier(student);
+        Quiz quiz = new Quiz();
+        ArrayList<String> correctAnswers = new ArrayList<>();
+        correctAnswers.add("1");
+        correctAnswers.add("2");
+        correctAnswers.add("3");
+        ArrayList<String> incorrectAnswers = new ArrayList<>();
+        incorrectAnswers.add("4");
+        incorrectAnswers.add("5");
+        incorrectAnswers.add("6");
+        quiz.setQuestion(quizId);
+        quiz.setIncorrectAnswers(incorrectAnswers);
+        quiz.setType("mc");
+        quiz.setCorrectAnswers(correctAnswers);
+        studentAndQuiz.setQuiz(quiz);
+        peer.createQuiz(studentAndQuiz);
+    }
+
+    @Test
+    public void getAllQuizzesInProject(){
+        peer.getQuiz(projectId);
+    }
+
+    @Test
+    public void getQuiz(){
+        peer.getQuiz(projectId, quizId, studentId);
+    }
+
+    @Test
+    public void answerQuiz(){
+        Map<String, List<String>> questions = new HashMap<>();
+        StudentIdentifier student = new StudentIdentifier(projectId, studentId);
+        List<String> answers = new ArrayList<>();
+        answers.add("1");
+        answers.add("2");
+        answers.add("3");
+        questions.put(quizId, answers);
+        peer.answerQuiz(questions, student);
+    }
+
+    @Test
+    public void deleteQuiz(){
+        peer.deleteQuiz(quizId);
+    }
+
+    @Test
+    public void addTestAssessment() {
+        IPeerAssessment iPeerAssessment = new FBAssessement();
+        int [] quizAnswers = new int[5];
+        quizAnswers[0] = 0;
+        quizAnswers[1] = 1;
+        quizAnswers[2] = 0;
+        quizAnswers[3] = 1;
+        quizAnswers[4] = 1;
+        int [] workRating = new int[3];
+        workRating[0] = 5;      //Führungsqualität
+        workRating[1] = 1;      //Pünktlichkeit
+        workRating[2] = 4;      //Hilfsbereitschaft oder so
+
+        StudentIdentifier student = new StudentIdentifier("Spaß", "Haralf");
+        //Performance performance = new Performance(student, quizAnswers,"so ein toller Typ", workRating);
+        //Assessment assessment = new Assessment(student, performance);
+        //iPeerAssessment.addAssessmentDataToDB(assessment);
+    }
+    @Test
+    public void meanOfAssessments(){
+        double Ergebnis=0.0;
+        double zwischenErgebnis=0.0;
+        double counter=0.0;
+        List<Double> results = new ArrayList<>();
+        MysqlConnect connect = new MysqlConnect();
+
+        connect.connect();
+        String mysqlRequest = "SELECT * FROM `assessments` WHERE `empfaengerId`=? AND `projektId`=?";
+        String test = "fgnxn";
+        String test2 = "projekt";
+        VereinfachtesResultSet ausgabe = connect.issueSelectStatement(mysqlRequest,test, test2);
+        while (ausgabe.next()){
+            counter++;
+            zwischenErgebnis=zwischenErgebnis+ausgabe.getInt("bewertung");
+            results.add((double) ausgabe.getInt("bewertung"));
+        }
+        results.add(zwischenErgebnis/counter);
+        System.out.println(results);
+        //Integer bewertung = ausgabe.getInt("bewertung");
+        connect.close();
+    }
+    @Test
+    public void groupDatafromDB(){
+        MysqlConnect connect = new MysqlConnect();
+        List<String> userNamen=new ArrayList<>();
+        GroupEvalDataDatasets datenSaetze = new GroupEvalDataDatasets();
+        GroupEvalDataList datenDia = new GroupEvalDataList();
+        connect.connect();
+
+        String mysqlRequestGroupuser = "SELECT * FROM `groupuser` WHERE `groupId`=? ";
+
+        VereinfachtesResultSet namenDerUser = connect.issueSelectStatement(mysqlRequestGroupuser,3);
+        int[] bewertungenZwischen=new int[10];
+        while (namenDerUser.next()){
+            userNamen.add(namenDerUser.getString("userEmail"));
+        }
+        for (int i=0;i<userNamen.size();i++){
+            String mysqlRequestAssessment = "SELECT * FROM `assessments` WHERE `empfaengerId`=?";
+            VereinfachtesResultSet bewertungDerUser = connect.issueSelectStatement(mysqlRequestAssessment,userNamen.get(i));
+
+            while (bewertungDerUser.next()) {
+                //bewertungenZwischen.add(bewertungDerUser.getInt("bewertung"));
+                System.out.println("Hass");
+                }
+            datenSaetze.setData(bewertungenZwischen);
+            //datenSaetze.setLabel(userNamen.get(i));
+            datenDia.appendDataSet(datenSaetze);
+            System.out.println(datenSaetze.getData());
+            System.out.println(datenSaetze.getLabel());
+
+            }
+        connect.close();
+    }
+
+
+}
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/communication/view/CommunicationViewTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/communication/view/CommunicationViewTest.java
deleted file mode 100644
index d9bbfc17d3e19b4b5d5a737134c5b90c445a13a8..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/communication/view/CommunicationViewTest.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package unipotsdam.gf.modules.communication.view;
-
-import org.glassfish.jersey.test.JerseyTest;
-import org.glassfish.jersey.test.util.runner.ConcurrentRunner;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import unipotsdam.gf.config.GFResourceConfig;
-import unipotsdam.gf.core.management.user.User;
-import unipotsdam.gf.modules.communication.model.Message;
-import unipotsdam.gf.modules.communication.model.chat.ChatRoom;
-
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.Response;
-import java.util.ArrayList;
-import java.util.List;
-
-import static javax.ws.rs.core.Response.Status.BAD_REQUEST;
-import static javax.ws.rs.core.Response.Status.CREATED;
-import static javax.ws.rs.core.Response.Status.NOT_FOUND;
-import static javax.ws.rs.core.Response.Status.OK;
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
-
-@RunWith(ConcurrentRunner.class)
-public class CommunicationViewTest extends JerseyTest {
-
-    private final static String ENDPOINT = "chat/";
-
-    @Override
-    protected Application configure() {
-        CommunicationView communicationView = new CommunicationView();
-        GFResourceConfig gfResourceConfig = new GFResourceConfig();
-        gfResourceConfig.register(communicationView);
-        return gfResourceConfig;
-    }
-
-    @Test
-    public void getChatRoomInformation() {
-        String path = ENDPOINT + "info/";
-        Response responseOk = target().path(path + "1").request().get();
-        assertThat(responseOk.getStatus(), is(OK.getStatusCode()));
-        assertNotNull(responseOk.readEntity(ChatRoom.class));
-
-        Response responseNotFound = target().path(path).request().get();
-        assertThat(responseNotFound.getStatus(), is(NOT_FOUND.getStatusCode()));
-    }
-
-    @Test
-    public void getChatHistory() {
-        String path = ENDPOINT + "history/";
-        Response responseOk = target().path(path + "1").request().get();
-        assertThat(responseOk.getStatus(), is(OK.getStatusCode()));
-        assertNotNull(responseOk.readEntity(List.class));
-
-        Response responseNotFound = target().path(path).request().get();
-        assertThat(responseNotFound.getStatus(), is(NOT_FOUND.getStatusCode()));
-    }
-
-    @Test
-    public void createChatRoom() {
-        String path = ENDPOINT + "create";
-        Response responseOk = target().path(path).queryParam("name", "test").request().post(null);
-        assertThat(responseOk.getStatus(), is(CREATED.getStatusCode()));
-        assertNotNull(responseOk.readEntity(String.class));
-
-        ArrayList<User> users = new ArrayList<>();
-        users.add(new User("test", "test", "test", true));
-        Response responseOk2 = target().path(path).queryParam("name", "test").request().post(Entity.json(users));
-        assertThat(responseOk2.getStatus(), is(CREATED.getStatusCode()));
-        assertNotNull(responseOk2.readEntity(String.class));
-
-        Response responseBadRequest = target().path(path).request().post(Entity.json(users));
-        assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode()));
-    }
-
-    @Test
-    public void sendMessage() {
-        String path = ENDPOINT + "send";
-        Message message = new Message();
-        message.setMessage("test");
-        message.setRoomIdOrChannel("1");
-        Response responseOk = target().path(path + "/1").request().post(Entity.json(message));
-        assertThat(responseOk.getStatus(), is(OK.getStatusCode()));
-        assertNotNull(responseOk.readEntity(String.class));
-
-        Response responseBadRequest = target().path(path + "/1").request().post(Entity.json(null));
-        assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode()));
-    }
-
-    @Test
-    public void addUserToChatRoom() {
-        String fullPath = ENDPOINT + "addUser" + "/1";
-
-        User user = new User("test", "test", "test", true);
-        Response responseOk = target().path(fullPath).request().post(Entity.json(user));
-        assertThat(responseOk.getStatus(), is(OK.getStatusCode()));
-        assertNotNull(responseOk.readEntity(String.class));
-
-        Response responseBadRequest = target().path(fullPath).request().post(Entity.json(null));
-        assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode()));
-    }
-
-    @Test
-    public void removeUserFromChatRoom() {
-        String fullPath = ENDPOINT + "removeUser" + "/1";
-
-        User user = new User("test2", "test2", "test", true);
-        Response responseOk = target().path(fullPath).request().post(Entity.json(user));
-        assertThat(responseOk.getStatus(), is(OK.getStatusCode()));
-        assertNotNull(responseOk.readEntity(String.class));
-
-        Response responseBadRequest = target().path(fullPath).request().post(Entity.json(null));
-        assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode()));
-    }
-
-    @Test
-    public void setChatRoomTopic() {
-        String fullPath = ENDPOINT + "setTopic" + "/1";
-        Response responseOk = target().path(fullPath).queryParam("topic", "test").request().post(null);
-        assertThat(responseOk.getStatus(), is(OK.getStatusCode()));
-        assertNotNull(responseOk.readEntity(String.class));
-
-        Response responseBadRequest = target().path(fullPath).request().post(Entity.json(null));
-        assertThat(responseBadRequest.getStatus(), is(BAD_REQUEST.getStatusCode()));
-    }
-}