diff --git a/.gitignore.orig b/.gitignore.orig
deleted file mode 100644
index 6edc488f16834fb336f66f6e7d6739d059a799fa..0000000000000000000000000000000000000000
--- a/.gitignore.orig
+++ /dev/null
@@ -1,26 +0,0 @@
-/.idea/.name
-/.idea/compiler.xml
-/.idea/copyright/profiles_settings.xml
-/.idea/dataSources.ids
-/.idea/dataSources.local.xml
-/.idea/dataSources.xml
-/.idea/deployment.xml
-/.idea/encodings.xml
-/.idea/misc.xml
-/.idea/modules.xml
-/.idea/sqldialects.xml
-**/*.iml
-**/workspace.xml
-/gemeinsamforschen/**/.idea/*
-/gemeinsamforschen/**/out
-/gemeinsamforschen/**/target
-/gemeinsamforschen/**/.settings
-**/.project
-**/.classpath
-/.idea/vcs.xml
-/.idea/workspace.xml
-<<<<<<< HEAD
-**/.idea
-=======
-/.idea/workspace.xml
->>>>>>> PeerAssessmentAxel
diff --git a/gemeinsamforschen/pom.xml b/gemeinsamforschen/pom.xml
index e48430b778b36e25c491b631959126d4b1fbd1bf..4941332d713933926882edf406d6139722a8ee21 100644
--- a/gemeinsamforschen/pom.xml
+++ b/gemeinsamforschen/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xmlns="http://maven.apache.org/POM/4.0.0"
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
@@ -52,7 +52,7 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
-            <version>1.6.2</version>
+            <version>1.7.25</version>
         </dependency>
 
         <dependency>
@@ -163,6 +163,12 @@
             <groupId>io.dropwizard</groupId>
             <artifactId>dropwizard-core</artifactId>
             <version>1.3.4</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>ch.qos.logback</groupId>
+                    <artifactId>logback-classic</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <!-- websocket api -->
@@ -207,6 +213,20 @@
             <version>7.1.1.RELEASE</version>
         </dependency>
 
+        <!-- Documentation: https://github.com/vorburger/MariaDB4j -->
+        <dependency>
+            <groupId>ch.vorburger.mariaDB4j</groupId>
+            <artifactId>mariaDB4j</artifactId>
+            <version>2.3.0</version>
+        </dependency>
+
+
+        <dependency>
+            <groupId>commons-dbutils</groupId>
+            <artifactId>commons-dbutils</artifactId>
+            <version>1.7</version>
+        </dependency>
+
         <dependency>
             <groupId>eu.de-swaef.pdf</groupId>
             <artifactId>Markdown2Pdf</artifactId>
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java
index e81dba7f42a13d78c672f2bf4fc73faa327ec64c..a3c341336acee63aa72be2c060e97ad9584e9a91 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java
@@ -1,15 +1,25 @@
 package unipotsdam.gf.config;
 
 import org.glassfish.hk2.utilities.binding.AbstractBinder;
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
 import unipotsdam.gf.core.management.Management;
 import unipotsdam.gf.core.management.ManagementImpl;
+import unipotsdam.gf.core.management.project.ProjectDAO;
+import unipotsdam.gf.core.management.user.UserDAO;
 import unipotsdam.gf.core.states.PhasesImpl;
 import unipotsdam.gf.core.testsandbox.TestList;
 import unipotsdam.gf.core.testsandbox.TestListInterface;
-import unipotsdam.gf.interfaces.*;
+import unipotsdam.gf.interfaces.Feedback;
+import unipotsdam.gf.interfaces.ICommunication;
+import unipotsdam.gf.interfaces.IGroupFinding;
+import unipotsdam.gf.interfaces.IPeerAssessment;
+import unipotsdam.gf.interfaces.IPhases;
 import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy;
 import unipotsdam.gf.modules.communication.service.CommunicationDummyService;
 import unipotsdam.gf.modules.groupfinding.DummyGroupfinding;
+import unipotsdam.gf.modules.groupfinding.GroupfindingImpl;
+import unipotsdam.gf.modules.groupfinding.dummy.service.DummyProjectCreationService;
+import unipotsdam.gf.modules.groupfinding.service.GroupDAO;
 import unipotsdam.gf.modules.peer2peerfeedback.DummyFeedback;
 import unipotsdam.gf.modules.researchreport.DummyResearchReportManagement;
 import unipotsdam.gf.modules.researchreport.ResearchReportManagement;
@@ -30,6 +40,11 @@ public class GFApplicationBinder extends AbstractBinder {
         bind(DummyResearchReportManagement.class).to(ResearchReportManagement.class);
         bind(TestList.class).to(TestListInterface.class);
         bind(DummyGroupfinding.class).to(IGroupFinding.class);
-
+        bind(DummyProjectCreationService.class).to(DummyProjectCreationService.class);
+        bind(UserDAO.class).to(UserDAO.class);
+        bind(ProjectDAO.class).to(ProjectDAO.class);
+        bind(GroupDAO.class).to(GroupDAO.class);
+        bind(MysqlConnect.class).to(MysqlConnect.class);
+        bind(GroupfindingImpl.class).to(IGroupFinding.class);
     }
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/database/mysql/MysqlConnect.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/database/mysql/MysqlConnect.java
index d5c42e2cceb64410da5b040a276c63c10083d4ee..09a128224173a6dcf257bdcf8f0edcf92458ccd5 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/database/mysql/MysqlConnect.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/database/mysql/MysqlConnect.java
@@ -3,152 +3,161 @@ package unipotsdam.gf.core.database.mysql;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import unipotsdam.gf.config.GFDatabaseConfig;
-import unipotsdam.gf.modules.communication.view.CommunicationView;
 
-import java.sql.*;
+import javax.annotation.ManagedBean;
+import javax.annotation.Resource;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Types;
 import java.util.Date;
 
+@ManagedBean
+@Resource
 public class MysqlConnect {
 
-	private static final Logger log = LoggerFactory.getLogger(MysqlConnect.class);
-
-	public Connection conn = null;
-
-	private static String createConnectionString() {
-
-		String connString = "jdbc:mysql://" + "localhost" +
-				"/" + GFDatabaseConfig.DB_NAME +
-				"?user=" + GFDatabaseConfig.USER +
-				"&password=" + GFDatabaseConfig.PASS;
-		return String.format(connString, GFDatabaseConfig.DB_NAME);
-	}
-
-	public void connect() {
-		try {
-			try {
-				Class.forName("com.mysql.jdbc.Driver");
-			} catch (ClassNotFoundException ex) {
-				System.out.println(ex); //logger?
-			}
-			conn = DriverManager.getConnection(createConnectionString());
-		} catch (SQLException ex) {
-			System.out.println("SQLException: " + ex.getMessage());
-			System.out.println("SQLState: " + ex.getSQLState());
-			System.out.println("VendorError: " + ex.getErrorCode());
-			throw new Error("could not connect to mysql");
-		}
-	}
-
-
-	public void close() {
-		try {
-			if (conn != null) {
-				conn.close();
-			}
-		} catch (final SQLException e) {
-			log.error(e.toString());
-			throw new Error("could not close mysql");
-		}
-	}
-
-	private PreparedStatement addParameters(final String statement, final Object[] args) {
-		try {
-			final PreparedStatement ps = conn.prepareStatement(statement);
-			if (args != null) {
-				for (int i = 0; i < args.length; i++) {
-					final Object arg = args[i];
-					setParam(ps, arg, i + 1);
-				}
-			}
-			return ps;
-		} catch (SQLException ex) {
-			log.error(ex.toString());
-			System.out.println(ex);
-		}
-		return null;
-	}
-
-
-	public VereinfachtesResultSet issueSelectStatement(final String statement, final Object... args) {
-		try {
-			PreparedStatement ps = addParameters(statement, args);
-			ResultSet queryResult = ps.executeQuery();
-			return new VereinfachtesResultSet(queryResult);
-		} catch (SQLException ex) {
-			log.error(ex.toString());
-			System.out.println(ex);
-		}
-		return null;
-	}
-
-
-	public void otherStatements(final String statement) {
-		try {
-			this.conn.createStatement().execute(statement);
-		} catch (SQLException ex) {
-			log.error(ex.toString());
-			System.out.println(ex);
-		}
-	}
-
-
-	public Integer issueUpdateStatement(final String statement, final Object... args) {
-		PreparedStatement ps = addParameters(statement, args);
-		try {
-			return ps.executeUpdate();
-		} catch (SQLException ex) {
-			log.error(ex.toString());
-			System.out.println(ex);
-		}
-		return null;
-	}
-
-
-	public void issueInsertOrDeleteStatement(final String statement, final Object... args) {
-		PreparedStatement ps = addParameters(statement, args);
-		try {
-			ps.execute();
-		} catch (SQLException ex) {
-
-			log.error(ex.toString());
-			System.out.println(ex);
-		}
-	}
-
-	private void setParam(final PreparedStatement ps, final Object arg, final int i) throws SQLException {
-		if (arg instanceof String) {
-			ps.setString(i, (String) arg);
-		} else if (arg instanceof Integer) {
-			ps.setInt(i, (Integer) arg);
-		} else if (arg instanceof Double) {
-			ps.setDouble(i, (Double) arg);
-		} else if (arg instanceof Boolean) {
-			ps.setBoolean(i, (Boolean) arg);
-		} else if (arg instanceof Float) {
-			ps.setFloat(i, (Float) arg);
-		} else if (arg instanceof Short) {
-			ps.setShort(i, (Short) arg);
-		} else if (arg instanceof Long) {
-			ps.setLong(i, (Long) arg);
-		} else if (arg instanceof Byte) {
-			ps.setByte(i, (Byte) arg);
-		} else if (arg instanceof Character) {
-			ps.setString(i, arg.toString());
-		} else if (arg instanceof Date) {
-			final java.sql.Date d = new java.sql.Date(((Date) arg).getTime());
-			ps.setDate(i, d);
-		} else if (arg == null) {
-			ps.setNull(i, Types.NULL);
-		} else {
-			ps.setString(i, arg.toString());
-		}
-	}
-
-	public Connection getConnection() {
-		return conn;
-	}
-
-	public void setConnection(Connection conn) {
-		this.conn = conn;
-	}
+    private static final Logger log = LoggerFactory.getLogger(MysqlConnect.class);
+
+    public Connection conn = null;
+
+    private static String createConnectionString() {
+
+        String connString = "jdbc:mysql://" + "localhost" +
+                "/" + GFDatabaseConfig.DB_NAME +
+                "?user=" + GFDatabaseConfig.USER +
+                "&password=" + GFDatabaseConfig.PASS;
+        return String.format(connString, GFDatabaseConfig.DB_NAME);
+    }
+
+    public void connect() {
+        try {
+            try {
+                Class.forName("com.mysql.jdbc.Driver");
+            } catch (ClassNotFoundException ex) {
+                System.out.println(ex); //logger?
+            }
+            conn = DriverManager.getConnection(createConnectionString());
+
+        } catch (SQLException ex) {
+            System.out.println("SQLException: " + ex.getMessage());
+            System.out.println("SQLState: " + ex.getSQLState());
+            System.out.println("VendorError: " + ex.getErrorCode());
+            throw new Error("could not connect to mysql");
+        }
+    }
+
+
+    public void close() {
+        try {
+            if (conn != null) {
+                conn.close();
+            }
+        } catch (final SQLException e) {
+            log.error(e.toString());
+            throw new Error("could not close mysql");
+        }
+    }
+
+    private PreparedStatement addParameters(final String statement, final Object[] args) {
+        try {
+            final PreparedStatement ps = conn.prepareStatement(statement);
+            if (args != null) {
+                for (int i = 0; i < args.length; i++) {
+                    final Object arg = args[i];
+                    setParam(ps, arg, i + 1);
+                }
+            }
+            return ps;
+        } catch (SQLException ex) {
+            log.error(ex.toString());
+            System.out.println(ex);
+        }
+        return null;
+    }
+
+
+    public VereinfachtesResultSet issueSelectStatement(final String statement, final Object... args) {
+        try {
+            PreparedStatement ps = addParameters(statement, args);
+            ResultSet queryResult = ps.executeQuery();
+            return new VereinfachtesResultSet(queryResult);
+        } catch (SQLException ex) {
+            log.error(ex.toString());
+            System.out.println(ex);
+        }
+        return null;
+    }
+
+
+    public void otherStatements(final String statement) {
+        try {
+            this.conn.createStatement().execute(statement);
+        } catch (SQLException ex) {
+            log.error(ex.toString());
+            System.out.println(ex);
+        }
+    }
+
+
+    public Integer issueUpdateStatement(final String statement, final Object... args) {
+        PreparedStatement ps = addParameters(statement, args);
+        try {
+            return ps.executeUpdate();
+        } catch (SQLException ex) {
+            log.error(ex.toString());
+            System.out.println(ex);
+        }
+        return null;
+    }
+
+
+    public void issueInsertOrDeleteStatement(final String statement, final Object... args) {
+        PreparedStatement ps = addParameters(statement, args);
+        try {
+            ps.execute();
+        } catch (SQLException ex) {
+
+            log.error(ex.toString());
+            System.out.println(ex);
+        }
+    }
+
+    private void setParam(final PreparedStatement ps, final Object arg, final int i) throws SQLException {
+        if (arg instanceof String) {
+            ps.setString(i, (String) arg);
+        } else if (arg instanceof Integer) {
+            ps.setInt(i, (Integer) arg);
+        } else if (arg instanceof Double) {
+            ps.setDouble(i, (Double) arg);
+        } else if (arg instanceof Boolean) {
+            ps.setBoolean(i, (Boolean) arg);
+        } else if (arg instanceof Float) {
+            ps.setFloat(i, (Float) arg);
+        } else if (arg instanceof Short) {
+            ps.setShort(i, (Short) arg);
+        } else if (arg instanceof Long) {
+            ps.setLong(i, (Long) arg);
+        } else if (arg instanceof Byte) {
+            ps.setByte(i, (Byte) arg);
+        } else if (arg instanceof Character) {
+            ps.setString(i, arg.toString());
+        } else if (arg instanceof Date) {
+            final java.sql.Date d = new java.sql.Date(((Date) arg).getTime());
+            ps.setDate(i, d);
+        } else if (arg == null) {
+            ps.setNull(i, Types.NULL);
+        } else {
+            ps.setString(i, arg.toString());
+        }
+    }
+
+    public Connection getConnection() {
+        return conn;
+    }
+
+    public void setConnection(Connection conn) {
+        this.conn = conn;
+    }
 }
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 17049249f83b82a452f31e805723a65bf11f7678..b864695f8dc6a8fa47e96d8c3faf84dd270a6ee2 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java
@@ -6,9 +6,8 @@ import unipotsdam.gf.core.management.project.ProjectConfiguration;
 import unipotsdam.gf.core.management.user.User;
 import unipotsdam.gf.core.management.user.UserInterests;
 import unipotsdam.gf.core.management.user.UserProfile;
-import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 
-import java.util.List;
+import java.io.FileInputStream;
 
 /**
  * Created by dehne on 31.05.2018.
@@ -18,9 +17,9 @@ public interface Management {
     /**
      * delete a User in the database
      *
-     * @param identifier
+     * @param user
      */
-    void delete(StudentIdentifier identifier);
+    void delete(User user);
 
     /**
      * create a User in the database
@@ -58,6 +57,8 @@ public interface Management {
      */
     void update(User user);
 
+    void update(Group group);
+
     /**
      * Add an entry in the M:N table linking users and projects
      *
@@ -81,54 +82,12 @@ public interface Management {
 
     Boolean exists(Project project);
 
-    /**
-     * Get all the users linked to a project
-     *
-     * @param project
-     * @return
-     */
-    List<User> getUsers(Project project);
-
-    /**
-     * get the token for the user
-     *
-     * @param user
-     * @return
-     */
-    String getUserToken(User user);
-
-    /**
-     * get the user given his http token
-     *
-     * @param token
-     * @return
-     */
-    User getUserByToken(String token);
-
-    /**
-     * get user by its email address
-     *
-     * @param email
-     * @return
-     */
-    User getUserByEmail(String email);
-
-    /**
-     * get project by its id
-     *
-     * @param id
-     * @return
-     */
-    Project getProjectById(String id);
-
-    void addGroupMember(User groupMember, int groupId);
-
-    void deleteGroupMember(User groupMember, int groupId);
-
-    List<Group> getGroupsByProjectId(String projectId);
+    Boolean exists(Group group);
 
     void create(ProjectConfiguration projectConfiguration, Project project);
 
     ProjectConfiguration getProjectConfiguration(Project project);
+
+    String saveProfilePicture(FileInputStream image, String studentId);
 }
 
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 c7aaeea34b0374b61d517cded8ef6aecda4d287d..9b15f63b4eb55301c37e67de7dfc4247198d29cf 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java
@@ -1,28 +1,23 @@
 package unipotsdam.gf.core.management;
 
 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.project.ProjectDAO;
 import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.management.user.UserDAO;
 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 unipotsdam.gf.modules.groupfinding.service.GroupDAO;
 
 import javax.annotation.ManagedBean;
 import javax.annotation.Resource;
+import javax.inject.Inject;
 import javax.inject.Singleton;
 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.
@@ -31,293 +26,76 @@ import java.util.UUID;
 @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());
+    private UserDAO userDAO;
+    private GroupDAO groupDAO;
+    private ProjectDAO projectDAO;
 
-        // TODO: delete all groups of project?
+    private MysqlConnect connect;
 
-        connect.close();
+    @Inject
+    public ManagementImpl(UserDAO userDAO, GroupDAO groupDAO, ProjectDAO projectDAO, MysqlConnect connect) {
+        this.userDAO = userDAO;
+        this.groupDAO = groupDAO;
+        this.projectDAO = projectDAO;
+        this.connect = connect;
     }
 
     @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;
+    public void delete(User user) {
+        userDAO.delete(user);
     }
 
     @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;
+    public void create(User user, UserProfile profile) {
+        userDAO.persist(user, profile);
     }
 
     @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");
-        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 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);
-        }
+    public void update(User user) {
+        userDAO.update(user);
     }
 
     @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;
+    public Boolean exists(User user) {
+        return userDAO.exists(user);
     }
 
     @Override
-    public User getUserByToken(String token) {
-        return getUserByField("token", token);
+    public void create(Project project) {
+        projectDAO.persist(project);
     }
 
     @Override
-    public User getUserByEmail(String email) {
-        return getUserByField("email", email);
-    }
-
-
-    /**
-     *
-     *
-     * @param value
-     * @return
-     */
-    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;
-        }
+    public void delete(Project project) {
+        projectDAO.delete(project);
     }
 
     @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;
-        }
+    public Boolean exists(Project project) {
+        return projectDAO.exists(project);
     }
 
     @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
+        groupDAO.persist(group);
     }
 
     @Override
-    public void deleteGroupMember(User groupMember, int groupId) {
-        // TODO: implement
+    public void update(Group group) {
+        groupDAO.update(group);
     }
 
     @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;
+    public Boolean exists(Group group) {
+        return groupDAO.exists(group);
     }
 
     @Override
@@ -332,10 +110,10 @@ public class ManagementImpl implements Management {
         return projectConfigurationDAO.loadProjectConfiguration(project);
     }
 
-    public String saveProfilePicture(FileInputStream image, String studentId){
+    public String saveProfilePicture(FileInputStream image, String studentId) {
         MysqlConnect connect = new MysqlConnect();
         connect.connect();
-        Blob blobbedImage= (Blob) image;
+        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/ManagementImpl.java.orig b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig
deleted file mode 100644
index a9f8cae5c49aad332febf4bce32f0458125eb4a8..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java.orig
+++ /dev/null
@@ -1,389 +0,0 @@
-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 d98a0d85649f9c2fd76ca978c592a6f03b0307ce..b28673c9c84ef47efab4fead51a1604a52444657 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
@@ -4,6 +4,8 @@ import unipotsdam.gf.core.management.user.User;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 public class Group {
 
@@ -15,6 +17,7 @@ public class Group {
     public Group() {
     }
 
+
     public Group(String projectId) {
         this(new ArrayList<>(), projectId);
     }
@@ -23,10 +26,12 @@ public class Group {
         this(members, projectId, "");
     }
 
+    public Group(int id, String projectId) {
+        this(id, new ArrayList<>(), projectId, "");
+    }
+
     public Group(List<User> members, String projectId, String chatRoomId) {
-        this.members = members;
-        this.projectId = projectId;
-        this.chatRoomId = chatRoomId;
+        this(0, members, projectId, chatRoomId);
     }
 
     public Group(int id, List<User> members, String projectId, String chatRoomId) {
@@ -67,4 +72,28 @@ public class Group {
     public int getId() {
         return id;
     }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        Group group = (Group) o;
+        List<User> newMemberList = members.stream()
+                .filter(member -> group.members.contains(member))
+                .collect(Collectors.toList());
+        return Objects.equals(members.size(), newMemberList.size()) &&
+                Objects.equals(members.size(), group.members.size()) &&
+                Objects.equals(projectId, group.projectId) &&
+                Objects.equals(chatRoomId, group.chatRoomId) &&
+                Objects.equals(id, group.id) || Objects.equals(id, 0) || Objects.equals(group.id, 0);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(members, projectId, 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
index d517c79ebb58ca45a7df73d4430fe546c3e91722..10df853274debb869f2e5c1324d8ce1d86e33417 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,8 +1,9 @@
 package unipotsdam.gf.core.management.pageAppearance;
 
-import unipotsdam.gf.core.management.ManagementImpl;
+import unipotsdam.gf.core.management.project.ProjectDAO;
 import unipotsdam.gf.core.states.model.ProjectPhase;
 
+import javax.inject.Inject;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.jsp.JspWriter;
 import javax.servlet.jsp.PageContext;
@@ -10,14 +11,17 @@ import javax.servlet.jsp.tagext.SimpleTagSupport;
 import java.io.IOException;
 
 public class Footer extends SimpleTagSupport {
+
+    @Inject
+    private ProjectDAO projectDAO;
+
     public void doTag() throws IOException {
         PageContext pageContext = (PageContext) getJspContext();
         HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
         String projectId = request.getParameter("projectId");
-        ManagementImpl management = new ManagementImpl();
         ProjectPhase projectPhase;
         try {
-            projectPhase = management.getProjectById(projectId).getPhase();
+            projectPhase = projectDAO.getProjectById(projectId).getPhase();
         } catch (Exception e) {
             projectPhase = null;
         }
@@ -30,16 +34,16 @@ public class Footer extends SimpleTagSupport {
                     "                </div>\n" +
                     "                <div>\n";
             if (projectPhase.equals(ProjectPhase.GroupFormation))
-                footerString +="  GroupFormation\n";
+                footerString += "  GroupFormation\n";
             if (projectPhase.equals(ProjectPhase.Execution))
-                footerString +="  Execution\n";
+                footerString += "  Execution\n";
             if (projectPhase.equals(ProjectPhase.Assessment))
-                footerString +="  Assessment\n";
+                footerString += "  Assessment\n";
             if (projectPhase.equals(ProjectPhase.DossierFeedback))
-                footerString +="  DossierFeedback\n";
+                footerString += "  DossierFeedback\n";
             if (projectPhase.equals(ProjectPhase.Projectfinished))
-                footerString +="  Projectfinished\n";
-            footerString +="        </div>\n" +
+                footerString += "  Projectfinished\n";
+            footerString += "        </div>\n" +
                     "                <div class=\"progress-bar pg-rest\" role=\"progressbar\">\n" +
                     "                </div>\n" +
                     "            </div>\n";
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
index ea026238ac67bffb444d4b2107ac4460f1a3f546..57c99d95faacbd9f364ba00bb7de2d9c7e8ddfc0 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
@@ -1,7 +1,8 @@
 package unipotsdam.gf.core.management.pageAppearance;
 
-import unipotsdam.gf.core.management.ManagementImpl;
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
 import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.management.user.UserDAO;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.jsp.JspWriter;
@@ -10,26 +11,27 @@ import javax.servlet.jsp.tagext.SimpleTagSupport;
 import java.io.IOException;
 
 public class HeadLine extends SimpleTagSupport {
+
     public void doTag() throws IOException {
         PageContext pageContext = (PageContext) getJspContext();
         HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
         String projectId = request.getParameter("projectId");
         String token = request.getParameter("token");
-        ManagementImpl management = new ManagementImpl();
         JspWriter out = getJspContext().getOut();
-        User user =  management.getUserByToken(token);
+        UserDAO userDAO = new UserDAO(new MysqlConnect());
+        User user = userDAO.getUserByToken(token);
         Boolean isStudent = user.getStudent();
         out.println("<div class=\"container-fluid\">\n" +
                 "            <table style=\"width:100%\">\n" +
                 "                <tr>\n" +
                 "                    <td style=\"width:70%\"><h2 id=\"headLineProject\">");
-        if (projectId!=null){
+        if (projectId != null) {
             out.println(projectId);
-        }else{
-            if (isStudent){
-                out.println("Studentenübersicht "+user.getName());
-            }else{
-                out.println("Dozentenübersicht "+user.getName());
+        } else {
+            if (isStudent) {
+                out.println("Studentenübersicht " + user.getName());
+            } else {
+                out.println("Dozentenübersicht " + user.getName());
             }
 
         }
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 22c4f0446dd9a34a7fbd2a9d8cbe22e3dd6a7ec8..24979038f4f54fe09c738af4b23722a1800754b5 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
@@ -1,7 +1,9 @@
 package unipotsdam.gf.core.management.pageAppearance;
 
-import unipotsdam.gf.core.management.ManagementImpl;
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
+import unipotsdam.gf.core.management.project.ProjectDAO;
 import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.management.user.UserDAO;
 import unipotsdam.gf.core.states.model.ProjectPhase;
 
 import javax.servlet.http.HttpServletRequest;
@@ -10,7 +12,9 @@ import javax.servlet.jsp.PageContext;
 import javax.servlet.jsp.tagext.SimpleTagSupport;
 import java.io.IOException;
 
+
 public class Menu extends SimpleTagSupport {
+
     private Integer hierarchyLevel = 0;
 
     public void doTag() throws IOException {
@@ -19,48 +23,49 @@ public class Menu extends SimpleTagSupport {
         HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
         String token = request.getParameter("token");
         String projectId = request.getParameter("projectId");
-        ManagementImpl management = new ManagementImpl();
         ProjectPhase projectPhase;
-        try{
-            projectPhase = management.getProjectById(projectId).getPhase();
-        }catch(Exception e){
+        try {
+            ProjectDAO projectDAO = new ProjectDAO(new MysqlConnect());
+            projectPhase = projectDAO.getProjectById(projectId).getPhase();
+        } catch (Exception e) {
             projectPhase = null;
         }
         JspWriter out = getJspContext().getOut();
-        if (token!=null){
-            User user =  management.getUserByToken(token);
+        UserDAO userDAO = new UserDAO(new MysqlConnect());
+        if (token != null) {
+            User user = userDAO.getUserByToken(token);
             Boolean isStudent = user.getStudent();
-            if (isStudent){
+            if (isStudent) {
                 String menuString = "<div id=\"sidebar-wrapper\">\n" +
                         "        <ul class=\"sidebar-nav\">\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)){
+                        "            <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=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"journal/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)){
+                    if (projectPhase.equals(ProjectPhase.GroupFormation)) {
                         menuString += "      <li><p>Quizfrage</p></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) + "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)){
+                    if (projectPhase.equals(ProjectPhase.DossierFeedback)) {
                         menuString += "      <li><p>Quizfrage</p></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><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=\""+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" +
+                    if (projectPhase.equals(ProjectPhase.Execution)) {
+                        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)){
+                    if (projectPhase.equals(ProjectPhase.Assessment)) {
                         menuString += "      <li><p>Quizfrage</p></li>\n" +
                                 "            <li><p>ePortfolio</p></li>\n" +
                                 "            <li><p>Beitrag</p></li>\n" +
@@ -68,46 +73,45 @@ public class Menu extends SimpleTagSupport {
                     }
                 }
 
-                menuString +="<li>" +
+                menuString += "<li>" +
                         "<a id=\"logout\" style=\"cursor:pointer\">Logout</a></li>\n" +
                         "</ul>\n" +
                         "    </div>";
                 out.println(menuString);
                 out.println("<p id=\"userRole\" hidden>isStudent</p>");
             } else {
-                String menuString ="<div id=\"sidebar-wrapper\">\n" +
+                String menuString = "<div id=\"sidebar-wrapper\">\n" +
                         "        <ul class=\"sidebar-nav\">\n" +
-                        "            <li class=\"sidebar-brand\"><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"overview-docent.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n";
-                if (projectPhase!=null) {
+                        "            <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=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"assessment/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=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"management/change-phase.jsp?token="+token+"&projectId="+projectId+"\">Projektphase ändern</a></li>\n";
-                    }else {
-                        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";
+                                "      <li><a href=\"" + OmniDependencies.hierarchyToString(hierarchyLevel) + "management/change-phase.jsp?token=" + token + "&projectId=" + projectId + "\">Projektphase ändern</a></li>\n";
+                    } else {
+                        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" +
+                menuString += "<li><a id=\"logout\" style=\"cursor:pointer\">Logout</a></li>\n" +
                         "</ul>\n" +
                         "    </div>";
                 out.println(menuString);
                 out.println("<p id=\"userRole\" hidden>isDocent</p>");
             }
-        }else{
+        } 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 (projectId != null)
+            out.println("<p id=\"projectId\" hidden>" + projectId + "</p>");
+        User user = userDAO.getUserByToken(token);
         if (user != null)
-            out.println("<p id=\"user\" hidden>"+user.getName()+"</p>");
-        out.println("<p id=\"hierarchyLevel\" hidden>"+hierarchyLevel.toString()+"</p>");
-
+            out.println("<p id=\"user\" hidden>" + user.getName() + "</p>");
+        out.println("<p id=\"hierarchyLevel\" hidden>" + hierarchyLevel.toString() + "</p>");
 
 
     }
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
index 4d3527caa8292371981881f7f17c524ee92f09a8..cf51416156553af2f8479eb814481513974a7e01 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/OmniDependencies.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/OmniDependencies.java
@@ -5,7 +5,7 @@ import javax.servlet.jsp.tagext.SimpleTagSupport;
 import java.io.IOException;
 
 public class OmniDependencies extends SimpleTagSupport {
-    private Integer hierarchyLevel=0;
+    private Integer hierarchyLevel = 0;
 
     public void doTag() throws IOException {
         hierarchyLevel = getHierarchy();
@@ -14,23 +14,23 @@ public class OmniDependencies extends SimpleTagSupport {
                 "    <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" +
+                "    <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=\"" + 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){
+    static public String hierarchyToString(Integer hierarchyLevel) {
         StringBuilder resultBuilder = new StringBuilder();
         String result;
-        for(Integer count=0; count<hierarchyLevel; count++){
+        for (Integer count = 0; count < hierarchyLevel; count++) {
             resultBuilder.append("../");
         }
         result = resultBuilder.toString();
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectDAO.java
new file mode 100644
index 0000000000000000000000000000000000000000..14325b3469d351ea9b9b81c13be13d5494b03449
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectDAO.java
@@ -0,0 +1,89 @@
+package unipotsdam.gf.core.management.project;
+
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
+import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
+import unipotsdam.gf.core.states.model.ProjectPhase;
+
+import javax.annotation.ManagedBean;
+import javax.annotation.Resource;
+import javax.inject.Inject;
+import javax.inject.Singleton;
+import java.sql.Timestamp;
+import java.util.UUID;
+
+@ManagedBean
+@Resource
+@Singleton
+public class ProjectDAO {
+
+    private MysqlConnect connect;
+
+    @Inject
+    public ProjectDAO(MysqlConnect connect) {
+        this.connect = connect;
+    }
+
+    public void persist(Project project) {
+        UUID uuid = UUID.randomUUID();
+        String token = uuid.toString();
+
+        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();
+    }
+
+    public void delete(Project project) {
+        connect.connect();
+        String mysqlRequest = "DELETE FROM projects where id = (?)";
+        connect.issueInsertOrDeleteStatement(mysqlRequest, project.getId());
+        connect.close();
+        // TODO: delete all groups of project?
+
+
+    }
+
+    public Boolean exists(Project project) {
+        Boolean result;
+        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;
+    }
+
+    public Project getProjectById(String id) {
+        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;
+        }
+    }
+
+    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");
+
+        return new Project(id, password, active, timestamp, author, adminPassword, token, ProjectPhase.valueOf(phase));
+    }
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/HiddenUserTag.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/HiddenUserTag.java
index 879ce2268e2cf4187e8f529b6636636520c39c06..715c568c00c6cd42750deae8da892a92c6645b87 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/HiddenUserTag.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/HiddenUserTag.java
@@ -1,7 +1,7 @@
 package unipotsdam.gf.core.management.user;
 
-import unipotsdam.gf.core.management.ManagementImpl;
-
+import javax.annotation.ManagedBean;
+import javax.inject.Inject;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.jsp.JspWriter;
 import javax.servlet.jsp.PageContext;
@@ -12,15 +12,19 @@ import java.io.IOException;
  * implemented while porting the login page. It might be useful to have a hidden user field on the page in order to
  * manipulate the user data with jquery
  */
+@ManagedBean
 public class HiddenUserTag extends SimpleTagSupport {
+
+    @Inject
+    UserDAO userDAO;
+
     public void doTag() throws IOException {
         PageContext pageContext = (PageContext) getJspContext();
         HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
         String token = request.getParameter("token");
 
-        ManagementImpl management = new ManagementImpl();
-        User user = management.getUserByToken(token);
+        User user = userDAO.getUserByToken(token);
         JspWriter out = getJspContext().getOut();
-        out.println("<p id=\"user\" hidden>"+user.getName()+"</p>");
+        out.println("<p id=\"user\" hidden>" + user.getName() + "</p>");
     }
 }
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
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/SessionValidator.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/SessionValidator.java
index 3a3a695d7e870ddca681c05918a9a5c4acafddfd..d5f33ab1b826d4b6c91e2430e8feba0a7e23bf32 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/SessionValidator.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/SessionValidator.java
@@ -2,8 +2,9 @@ package unipotsdam.gf.core.management.user;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import unipotsdam.gf.core.management.ManagementImpl;
 
+import javax.annotation.ManagedBean;
+import javax.inject.Inject;
 import javax.servlet.Filter;
 import javax.servlet.FilterChain;
 import javax.servlet.FilterConfig;
@@ -17,10 +18,14 @@ import java.io.IOException;
  * this filter can be applied to a given space in order to validate, that the tag in the url is a valid one
  * not applied to to a folder yet (because might lead to confusing experiences in debugging)
  */
+@ManagedBean
 public class SessionValidator implements Filter {
 
     private final static Logger log = LoggerFactory.getLogger(SessionValidator.class);
 
+    @Inject
+    private UserDAO userDAO;
+
     private void redirectToLogin(ServletRequest request, ServletResponse response) {
         log.debug("redirecting user to login because token does not exist");
         String loginJSP = "../../index.jsp";
@@ -41,8 +46,8 @@ public class SessionValidator implements Filter {
         if (token == null) {
             redirectToLogin(request, response);
         }
-        ManagementImpl management = new ManagementImpl();
-        User user = management.getUserByToken(token);
+
+        User user = userDAO.getUserByToken(token);
         if (user == null) {
             redirectToLogin(request, response);
         }
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 812cbe6c04522a18b5f469bbbf7fe1cc14e1a90f..39606a396ffde7b205dd8b52ed773ef2273c1bf0 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
@@ -2,6 +2,8 @@ package unipotsdam.gf.core.management.user;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 
+import java.util.Objects;
+
 /**
  * Created by dehne on 31.05.2018.
  */
@@ -111,4 +113,17 @@ public class User {
                 ", isStudent=" + isStudent +
                 '}';
     }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        User user = (User) o;
+        return Objects.equals(name, user.name) &&
+                Objects.equals(password, user.password) &&
+                Objects.equals(email, user.email) &&
+                Objects.equals(rocketChatAuthToken, user.rocketChatAuthToken) &&
+                Objects.equals(rocketChatId, user.rocketChatId) &&
+                Objects.equals(isStudent, user.isStudent);
+    }
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserDAO.java
new file mode 100644
index 0000000000000000000000000000000000000000..01ed068187a425e546e43ce3f00b19e1f45d7ba4
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/UserDAO.java
@@ -0,0 +1,132 @@
+package unipotsdam.gf.core.management.user;
+
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
+import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
+import unipotsdam.gf.core.management.util.ResultSetUtil;
+
+import javax.annotation.ManagedBean;
+import javax.annotation.Resource;
+import javax.inject.Inject;
+import javax.inject.Singleton;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+@ManagedBean
+@Resource
+@Singleton
+public class UserDAO {
+
+
+    private MysqlConnect connect;
+
+    @Inject
+    public UserDAO(MysqlConnect connect) {
+        this.connect = connect;
+    }
+
+    public void persist(User user, UserProfile profile) {
+        UUID uuid = UUID.randomUUID();
+        String token = uuid.toString();
+        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
+    }
+
+    public void delete(User user) {
+        String mysqlRequest = "DELETE FROM users where email = (?)";
+        connect.connect();
+        connect.issueInsertOrDeleteStatement(mysqlRequest, user.getEmail());
+        connect.close();
+    }
+
+    public void update(User user) {
+        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.connect();
+        connect.issueUpdateStatement(mysqlRequest, user.getName(), user.getPassword(), user.getEmail(),
+                user.getToken(), user.getStudent(), user.getRocketChatId(), user.getRocketChatAuthToken(), user.getEmail());
+        connect.close();
+    }
+
+    public boolean exists(User user) {
+        boolean result;
+        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;
+    }
+
+    public List<User> getUsersByProjectId(String projectId) {
+        connect.connect();
+        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<>();
+        VereinfachtesResultSet vereinfachtesResultSet = connect.issueSelectStatement(query, projectId);
+        while (!vereinfachtesResultSet.isLast()) {
+            boolean next = vereinfachtesResultSet.next();
+            if (next) {
+                User user = ResultSetUtil.getUserFromResultSet(vereinfachtesResultSet);
+                String token = vereinfachtesResultSet.getString("token");
+                user.setToken(token);
+                result.add(user);
+            } else {
+                break;
+            }
+        }
+        connect.close();
+        return result;
+    }
+
+    public String getUserToken(User user) {
+        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;
+    }
+
+    public User getUserByToken(String token) {
+        return getUserByField("token", token);
+    }
+
+    public User getUserByEmail(String email) {
+        return getUserByField("email", email);
+    }
+
+    private User getUserByField(String field, String value) {
+        connect.connect();
+        String mysqlRequest = "SELECT * FROM users where " + field + " = ?";
+        VereinfachtesResultSet vereinfachtesResultSet =
+                connect.issueSelectStatement(mysqlRequest, value);
+        boolean next = vereinfachtesResultSet.next();
+        if (next) {
+            User user = ResultSetUtil.getUserFromResultSet(vereinfachtesResultSet);
+            connect.close();
+            return user;
+        } else {
+            connect.close();
+            return null;
+        }
+    }
+}
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 5df13ac921258e35e664cda7c8d12d37101a8e68..c38d65b9813da8f783c9cb4152a5f271944e6402 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,12 +1,16 @@
 package unipotsdam.gf.core.management.user;
 
-import unipotsdam.gf.core.management.ManagementImpl;
+import unipotsdam.gf.core.management.Management;
 import unipotsdam.gf.interfaces.ICommunication;
 import unipotsdam.gf.modules.communication.service.CommunicationDummyService;
 
 import javax.annotation.ManagedBean;
 import javax.inject.Inject;
-import javax.ws.rs.*;
+import javax.ws.rs.FormParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import java.io.File;
@@ -18,9 +22,20 @@ import java.net.URISyntaxException;
 @ManagedBean
 public class UserService {
 
-    @Inject
     private ICommunication communicationService;
 
+    private UserDAO userDAO;
+
+    @Inject
+    private Management management;
+
+    @Inject
+    public UserService(ICommunication communicationService, UserDAO userDAO, Management management) {
+        this.communicationService = communicationService;
+        this.userDAO = userDAO;
+        this.management = management;
+    }
+
     /**
      * creates a user with given credentials
      *
@@ -39,7 +54,6 @@ public class UserService {
                                @FormParam("email") String email, @FormParam("isStudent") String isStudent)
             throws URISyntaxException {
 
-        ManagementImpl management = new ManagementImpl();
         User user = new User(name, password, email, isStudent == null);
         return login(true, user);
 
@@ -62,7 +76,6 @@ public class UserService {
                                @FormParam("email") String email)
             throws URISyntaxException {
 
-        ManagementImpl management = new ManagementImpl();
         User user = new User(name, password, email, null);
         ICommunication iCommunication = new CommunicationDummyService();
         boolean isLoggedIn = iCommunication.loginUser(user);
@@ -77,12 +90,11 @@ public class UserService {
     @Produces(MediaType.TEXT_PLAIN)
     @Path("/student/{studentId}")
     public String getQuiz(@FormParam("image") File file, @PathParam("studentId") String studentId) {
-        ManagementImpl management = new ManagementImpl();
-        try{
+        try {
             FileInputStream fis = new FileInputStream(file);
 
             return management.saveProfilePicture(fis, studentId);
-        }catch(Exception e){
+        } catch (Exception e) {
             return e.toString();
         }
 
@@ -97,11 +109,11 @@ public class UserService {
      * @throws URISyntaxException
      */
     protected Response login(boolean createUser, User user) throws URISyntaxException {
-        ManagementImpl management = new ManagementImpl();
+
         if (management.exists(user)) {
             if (!createUser) {
                 user = fillUserFields(user);
-                return redirectToProjectPage(user, management);
+                return redirectToProjectPage(user);
             }
             String existsUrl = "../register.jsp?userExists=true";
             return forwardToLocation(existsUrl);
@@ -113,7 +125,7 @@ public class UserService {
                 }
                 management.create(user, null);
                 user = fillUserFields(user);
-                return redirectToProjectPage(user, management);
+                return redirectToProjectPage(user);
             } else {
                 String existsUrl = "../index.jsp?userExists=false";
                 return forwardToLocation(existsUrl);
@@ -123,9 +135,8 @@ public class UserService {
     }
 
     private User fillUserFields(User user) {
-        ManagementImpl m = new ManagementImpl();
-        String token = m.getUserToken(user);
-        user = m.getUserByToken(token);
+        String token = userDAO.getUserToken(user);
+        user = userDAO.getUserByToken(token);
         return user;
     }
 
@@ -143,18 +154,17 @@ public class UserService {
      * helper function for redirecting to the right project page
      *
      * @param user
-     * @param management
      * @return
      * @throws URISyntaxException
      */
-    private Response redirectToProjectPage(User user, ManagementImpl management) throws URISyntaxException {
+    private Response redirectToProjectPage(User user) throws URISyntaxException {
         String successUrl;
         if (user.getStudent() != null && user.getStudent()) {
             successUrl = "../overview-student.jsp?token=";
         } else {
             successUrl = "../overview-docent.jsp?token=";
         }
-        successUrl += management.getUserToken(user);
+        successUrl += userDAO.getUserToken(user);
         return forwardToLocation(successUrl);
     }
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/util/ResultSetUtil.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/util/ResultSetUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..7a79f816542360f3039f8468b9440c8d3bc91330
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/util/ResultSetUtil.java
@@ -0,0 +1,18 @@
+package unipotsdam.gf.core.management.util;
+
+import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
+import unipotsdam.gf.core.management.user.User;
+
+public class ResultSetUtil {
+
+    public static 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);
+    }
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/ContextTag.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/ContextTag.java
index 741d3eb28a69d4a2ebef9f63b9749e7d8a9204ec..451bebe1ce005c67e512fd264a6df8462379c63b 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/ContextTag.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/ContextTag.java
@@ -1,7 +1,5 @@
 package unipotsdam.gf.core.session;
 
-import unipotsdam.gf.core.management.project.Project;
-
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.jsp.JspWriter;
 import javax.servlet.jsp.PageContext;
@@ -21,7 +19,7 @@ public class ContextTag extends SimpleTagSupport {
          * in the view, then the project is loaded from db and added via setAttribute like below
          */
         GFContext gfContext = (GFContext) request.getSession().getAttribute("gf_context");
-        out.println("<p>project:"+gfContext.getProject().toString()+"</p>");
+        out.println("<p>project:" + gfContext.getProject().toString() + "</p>");
 
     }
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/SessionTag.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/SessionTag.java
index eae3f549fe2061b4533e4092dbcd1e0d52632edb..5ddc026bc96eb97efa0e2c574aace7b926a72299 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/SessionTag.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/session/SessionTag.java
@@ -2,9 +2,7 @@ package unipotsdam.gf.core.session;
 
 import uk.co.jemos.podam.api.PodamFactory;
 import uk.co.jemos.podam.api.PodamFactoryImpl;
-import unipotsdam.gf.core.management.ManagementImpl;
 import unipotsdam.gf.core.management.project.Project;
-import unipotsdam.gf.core.management.user.User;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.jsp.JspWriter;
@@ -25,7 +23,7 @@ public class SessionTag extends SimpleTagSupport {
         HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
         // sessionID is created with first call and persisted throughout the user's session<
         JspWriter out = getJspContext().getOut();
-        out.println("<p id=\"sessionId\"> SessionId:"+request.getSession().getId()+"</p>");
+        out.println("<p id=\"sessionId\"> SessionId:" + request.getSession().getId() + "</p>");
 
         // lets add some context to the site
 
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 685e6018bd27b08078e15765b3f52c1d92dac648..0c06f3ee705f15f9ac6a7497a7ed2a9a19bf9162 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesImpl.java
@@ -3,11 +3,18 @@ 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.ConstraintsMessages;
 import unipotsdam.gf.core.states.model.ProjectPhase;
-import unipotsdam.gf.interfaces.*;
+import unipotsdam.gf.interfaces.Feedback;
+import unipotsdam.gf.interfaces.ICommunication;
+import unipotsdam.gf.interfaces.IJournal;
+import unipotsdam.gf.interfaces.IPeerAssessment;
+import unipotsdam.gf.interfaces.IPhases;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
+import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment;
 import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy;
 import unipotsdam.gf.modules.communication.service.CommunicationDummyService;
+import unipotsdam.gf.modules.journal.service.IJournalImpl;
 import unipotsdam.gf.modules.peer2peerfeedback.DummyFeedback;
 import unipotsdam.gf.view.Messages;
 
@@ -25,13 +32,13 @@ import java.util.Map;
 @ManagedBean
 public class PhasesImpl implements IPhases {
 
-    private IPeerAssessment iPeerAssessment = new PeerAssessmentDummy();
+    private IPeerAssessment iPeerAssessment = new PeerAssessment();
 
     private Feedback feedback = new DummyFeedback();
 
     private ICommunication iCommunication = new CommunicationDummyService();
 
-    private IJournal iJournal;
+    private IJournal iJournal = new IJournalImpl();
 
     public PhasesImpl() {
     }
@@ -75,53 +82,54 @@ public class PhasesImpl implements IPhases {
     @Override
     public void endPhase(ProjectPhase currentPhase, Project project) {
         ProjectPhase changeToPhase = getNextPhase(currentPhase);
-        Map<StudentIdentifier, Constraints> tasks = new HashMap<>();
+        Map<StudentIdentifier, ConstraintsMessages> tasks;
+        if (changeToPhase != null)
         switch (changeToPhase) {
             case CourseCreation:
                 // saving the state
-                saveState(project,changeToPhase);
+                saveState(project, changeToPhase);
                 break;
             case GroupFormation:
                 // inform users about the formed groups, optionally giving them a hint on what happens next
                 iCommunication.sendMessageToUsers(project, Messages.GroupFormation(project));
-                saveState(project,changeToPhase);
+                saveState(project, changeToPhase);
                 break;
             case DossierFeedback:
                 // check if everybody has uploaded a dossier
 
-                Boolean feedbacksGiven = feedback.checkFeedbackConstraints(project);
-                if (!feedbacksGiven) {
-                    feedback.assigningMissingFeedbackTasks(project);
+                tasks = feedback.checkFeedbackConstraints(project);
+                if (tasks.size()>0) {
+                    iCommunication.informAboutMissingTasks(tasks, project);
                 } else {
                     // send a message to the users informing them about the start of the new phase
                     iCommunication.sendMessageToUsers(project, Messages.NewFeedbackTask(project));
-                    saveState(project,changeToPhase);
+                    saveState(project, changeToPhase);
                 }
                 break;
             case Execution:
                 // check if the portfolios have been prepared for evaluation (relevant entries selected)
-                // todo: Boolean portfoliosReady = iJournal.getPortfoliosForEvaluationPrepared(project);
-                Boolean portfoliosReady = true;
-                if (portfoliosReady) {
+                tasks = iJournal.getPortfoliosForEvaluationPrepared(project);
+                if (tasks.size()<1) {
                     // inform users about the end of the phase
                     iCommunication.sendMessageToUsers(project, Messages.AssessmentPhaseStarted(project));
-                    saveState(project,changeToPhase);
+                    saveState(project, changeToPhase);
                 } else {
-                    iJournal.assignMissingPortfolioTasks(project);
+                    iCommunication.informAboutMissingTasks(tasks, project);
                 }
                 break;
             case Assessment:
-                Boolean allAssessmentsDone = iPeerAssessment.allAssessmentsDone(project.getId());
-                if(allAssessmentsDone){
+                tasks = iPeerAssessment.allAssessmentsDone(project.getId());
+                if(tasks.size()<1){
                     iCommunication.sendMessageToUsers(project, Messages.CourseEnds(project));
                     saveState(project, changeToPhase);
-                }else{
+                } else {
                     iPeerAssessment.assignMissingAssessmentTasks(project);
                 }
                 break;
             case Projectfinished:
                 closeProject();
                 break;
+            default:{}
         }
     }
 
@@ -129,7 +137,7 @@ public class PhasesImpl implements IPhases {
         // TODO implement
     }
 
-    ProjectPhase getNextPhase(ProjectPhase projectPhase) {
+    private ProjectPhase getNextPhase(ProjectPhase projectPhase) {
         switch (projectPhase) {
             case CourseCreation:
                 return ProjectPhase.GroupFormation;
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 49a65404c45db5aab532b94f98eb1e7ef9f427f2..2c412169e9573d97c16ed0ff96e6669b3da1f86e 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/PhasesService.java
@@ -1,11 +1,16 @@
 package unipotsdam.gf.core.states;
 
-import unipotsdam.gf.core.management.Management;
-import unipotsdam.gf.core.management.ManagementImpl;
+import unipotsdam.gf.core.management.project.ProjectDAO;
 import unipotsdam.gf.core.states.model.ProjectPhase;
 import unipotsdam.gf.interfaces.IPhases;
 
-import javax.ws.rs.*;
+import javax.inject.Inject;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 
 /**
@@ -13,14 +18,16 @@ import javax.ws.rs.core.MediaType;
  * In order to look up the possible phases @see unipotsdam.gf.core.states.model.ProjectPhase
  */
 @Path("/phases")
-public class PhasesService  {
+public class PhasesService {
 
     private IPhases phases = new PhasesImpl();
 
-    private Management management = new ManagementImpl();
+    @Inject
+    private ProjectDAO projectDAO;
 
     /**
      * end phase
+     *
      * @param projectPhase
      * @param projectId
      */
@@ -28,11 +35,12 @@ public class PhasesService  {
     @POST
     @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
     public void endPhase(@PathParam("projectPhase") String projectPhase, @PathParam("projectId") String projectId) {
-        phases.endPhase(ProjectPhase.valueOf(projectPhase), management.getProjectById(projectId));
+        phases.endPhase(ProjectPhase.valueOf(projectPhase), projectDAO.getProjectById(projectId));
     }
 
     /**
      * get current phase
+     *
      * @param projectId
      * @return
      */
@@ -40,6 +48,6 @@ public class PhasesService  {
     @GET
     @Produces({MediaType.TEXT_PLAIN})
     public String getCurrentPhase(@PathParam("projectId") String projectId) {
-        return management.getProjectById(projectId).getPhase().toString();
+        return projectDAO.getProjectById(projectId).getPhase().toString();
     }
 }
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
index ac413e63a173d5a8dbbbffbebb90267c06bc984f..27c3d4c54370f6eb056a533bdc098507a703eeeb 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/Constraints.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/Constraints.java
@@ -1,34 +1,12 @@
 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.";
-    }
+public enum Constraints {
+    DossierMissing,
+    FeedbackCount,
+    QuizCount,
+    JournalCount,
+    DossierOpen,
+    DescriptionsOpen,
+    JournalOpen,
+    AssessmentOpen
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ConstraintsMessages.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ConstraintsMessages.java
new file mode 100644
index 0000000000000000000000000000000000000000..0d9d940d6212a8cb8353bf908f46386eb362f5bd
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/states/model/ConstraintsMessages.java
@@ -0,0 +1,28 @@
+package unipotsdam.gf.core.states.model;
+
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
+
+public class ConstraintsMessages {
+    private final Constraints constraint;
+    private final StudentIdentifier student;
+
+    public ConstraintsMessages(Constraints enumConstraints, StudentIdentifier student) {
+        this.constraint = enumConstraints;
+        this.student = student;
+    }
+
+    @Override
+    public String toString() {
+        switch (constraint) {
+            case QuizCount: return student.getStudentId()+" hat noch kein Quiz erstellt.";
+            case DossierMissing: return student.getStudentId()+" hat noch kein Dossier hochgeladen.";
+            case FeedbackCount: return student.getStudentId()+" hat noch nicht das erwartete Feedack gegeben.";
+            case JournalCount: return student.getStudentId()+" hat noch nicht genug Tagebucheinträge verfasst.";
+            case DossierOpen: return student.getStudentId()+" hat sein Dossier noch nicht finalisiert.";
+            case DescriptionsOpen: return student.getStudentId()+" hat die Descriptions noch nicht abgeschlossen.";
+            case JournalOpen: return student.getStudentId()+" hat sein Tagebuch noch nicht finalisiert";
+            case AssessmentOpen: return student.getStudentId()+" hat die Bewertung noch nicht abgeschlossen.";
+            default: return "default message";
+        }
+    }
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/Feedback.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/Feedback.java
index 773103d2bff7c333fe4ece1983d8e21f420c4341..e26063fe2bb9893e374df224cd22ea4a27945ade 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/Feedback.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/Feedback.java
@@ -1,11 +1,15 @@
 package unipotsdam.gf.interfaces;
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.states.model.Constraints;
+import unipotsdam.gf.core.states.model.ConstraintsMessages;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.peer2peerfeedback.peerfeedback.Model.Peer2PeerFeedback;
 import unipotsdam.gf.modules.researchreport.ResearchReport;
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Map;
 
 
 /**
@@ -21,16 +25,16 @@ public interface Feedback {
      * @return Returns the Peer2PeerFeedback Object
      */
 
-    Peer2PeerFeedback createPeer2PeerFeedback (Peer2PeerFeedback feedback);
+    Peer2PeerFeedback createPeer2PeerFeedback(Peer2PeerFeedback feedback);
     //(String id, String reciever, String sender, String text, Category category, String filename);
 
     /**
      * create Peer2PeerFeedback Object
      *
-    * @param feedbackuser:
-    * @param selectedstudent:
-    * @param document:
-     * **/
+     * @param feedbackuser:
+     * @param selectedstudent:
+     * @param document:
+     **/
     Peer2PeerFeedback createPeer2PeerFeedbackmask(User feedbackuser, User selectedstudent, File document);
 
     /**
@@ -66,7 +70,7 @@ public interface Feedback {
      * @param project
      * @return
      */
-    Boolean checkFeedbackConstraints(Project project);
+    Map<StudentIdentifier, ConstraintsMessages> checkFeedbackConstraints(Project project);
 
     /**
      * TODO implement a routine that assigns missing feedback tasks if someone drops out of a course
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ICommunication.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ICommunication.java
index 2705893f7f91d50b0052c22d9171aa74de43681c..71a7811851339f48524765a8e4b626a9d08e5b2c 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ICommunication.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ICommunication.java
@@ -3,11 +3,15 @@ package unipotsdam.gf.interfaces;
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
 import unipotsdam.gf.assignments.NotImplementedLogger;
+import unipotsdam.gf.core.states.model.Constraints;
+import unipotsdam.gf.core.states.model.ConstraintsMessages;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.communication.model.Message;
 import unipotsdam.gf.modules.communication.model.chat.ChatMessage;
 import unipotsdam.gf.modules.communication.model.chat.ChatRoom;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * Provides connection to rocket chat
@@ -31,10 +35,10 @@ public interface ICommunication {
      * creates chatroom
      *
      * @param name                  chat room name
-     * @param studentIdentifierList member of chat by id
+     * @param userList member of chat by id
      * @return chat room id
      */
-    String createChatRoom(String name, List<User> studentIdentifierList);
+    String createChatRoom(String name, List<User> userList);
 
 
     /**
@@ -90,6 +94,9 @@ public interface ICommunication {
     // TODO implement as Email or whatever
     void sendSingleMessage(Message message, User user);
 
+    //added by Axel.
+    void informAboutMissingTasks(Map<StudentIdentifier, ConstraintsMessages> tasks, Project project);
+
     // TODO implement as Email or whatever
     void sendMessageToUsers(Project project, String message);
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java
index a09553839cb9160aae3c3d1d7f8874882ecca599..acf97e3afbce6612422e2a0201b63e8df23800f0 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java
@@ -3,12 +3,15 @@ package unipotsdam.gf.interfaces;
 
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.states.model.ConstraintsMessages;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.EPortfolio;
 import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.researchreport.ResearchReport;
 
 import java.io.File;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Interface for learning journal
@@ -18,14 +21,14 @@ public interface IJournal {
 
     /**
      * check if all students have prepared their portfolios to be evaluated
-     * @return true if all students have prepared their portfolios
-     * @param project project
+     * @return
+     * @param project
      */
-    Boolean getPortfoliosForEvaluationPrepared(Project project) ;
+    Map<StudentIdentifier, ConstraintsMessages> getPortfoliosForEvaluationPrepared(Project project) ;
 
     /**
      * find out, who hasn't prepared their portfolio for evaluation and send message or highlight in view
-     * @param project project
+     * @param project
      */
     void assignMissingPortfolioTasks(Project project) ;
 
@@ -50,14 +53,9 @@ public interface IJournal {
 
     /**
      * Gets EPortfolio for assesment
-     * @param project project
+     * @param project
      * @return EPortfolio (containing Report, ProjectDescription and Journal)
      */
 
-    EPortfolio getFinalPortfolioForAssessment(Project project, User user) ;
-
-
-    EPortfolio getPortfolio(String project, String user);
-
-    byte[] exportPortfolioToPdf(EPortfolio ePortfolio);
+    EPortfolio getFinalPortfolioForAssessment(Project project, User user);
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java
index 1892ec3961260ec76a97bf0fa2aa0362fdad5070..a5558ec1f91b2561ffc469d7e765b4c29d9fdcae 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java
@@ -1,7 +1,13 @@
 package unipotsdam.gf.interfaces;
 
 import unipotsdam.gf.core.management.project.Project;
-import unipotsdam.gf.modules.assessment.controller.model.*;
+import unipotsdam.gf.core.states.model.ConstraintsMessages;
+import unipotsdam.gf.modules.assessment.controller.model.Assessment;
+import unipotsdam.gf.modules.assessment.controller.model.PeerRating;
+import unipotsdam.gf.modules.assessment.controller.model.Performance;
+import unipotsdam.gf.modules.assessment.controller.model.Quiz;
+import unipotsdam.gf.modules.assessment.controller.model.StudentAndQuiz;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -43,6 +49,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);
 
 
@@ -89,16 +96,16 @@ public interface IPeerAssessment {
                                 Map<String, Integer> contributionRating);
 
     /**
-     *
      * @param questions
      * @param student
      */
     void answerQuiz(Map<String, List<String>> questions, StudentIdentifier student);
+
     void deleteQuiz(String quizId);
 
     String whatToRate(StudentIdentifier student);
 
-    Boolean allAssessmentsDone(String projectId);
+    Map<StudentIdentifier, ConstraintsMessages> allAssessmentsDone(String projectId);
 
     void assignMissingAssessmentTasks(Project project);
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ISubmission.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ISubmission.java
index 01a450025cfcf1e1cddf4b6b8bc059ffb29da3a0..6a6a849bbea02d06aeb104578df1293556216868 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ISubmission.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ISubmission.java
@@ -1,7 +1,11 @@
 package unipotsdam.gf.interfaces;
 
 import unipotsdam.gf.modules.peer2peerfeedback.Category;
-import unipotsdam.gf.modules.submission.model.*;
+import unipotsdam.gf.modules.submission.model.FullSubmission;
+import unipotsdam.gf.modules.submission.model.FullSubmissionPostRequest;
+import unipotsdam.gf.modules.submission.model.SubmissionPart;
+import unipotsdam.gf.modules.submission.model.SubmissionPartPostRequest;
+import unipotsdam.gf.modules.submission.model.SubmissionProjectRepresentation;
 
 import java.util.ArrayList;
 
@@ -47,7 +51,7 @@ public interface ISubmission {
      * Get the entire submission part from database
      *
      * @param fullSubmissionId The id of the full submission
-     * @param category The category of the submission
+     * @param category         The category of the submission
      * @return The returned submission part
      */
     SubmissionPart getSubmissionPart(String fullSubmissionId, Category category);
@@ -72,7 +76,7 @@ public interface ISubmission {
      * Checks if a submission part already exists in the database
      *
      * @param fullSubmissionId The id of the full submission
-     * @param category The category of the submission
+     * @param category         The category of the submission
      * @return Returns true if the submission part exists
      */
     boolean existsSubmissionPart(String fullSubmissionId, Category category);
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/controller/AnnotationController.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/controller/AnnotationController.java
index 394ccf69df9e554a136704c2221a0f4e1b3a4bfe..3b4a54b5ca2cd7b39fe0c57c2518d8f728f46859 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/controller/AnnotationController.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/controller/AnnotationController.java
@@ -9,7 +9,6 @@ import unipotsdam.gf.modules.annotation.model.AnnotationPatchRequest;
 import unipotsdam.gf.modules.annotation.model.AnnotationPostRequest;
 import unipotsdam.gf.modules.peer2peerfeedback.Category;
 
-import java.time.ZonedDateTime;
 import java.util.ArrayList;
 import java.util.UUID;
 
@@ -29,7 +28,7 @@ public class AnnotationController implements IAnnotation {
 
         // build and execute request
         String request = "INSERT INTO annotations (`id`, `userToken`, `targetId`, `targetCategory`, `title`, `comment`, `startCharacter`, `endCharacter`) VALUES (?,?,?,?,?,?,?,?);";
-        connection.issueInsertOrDeleteStatement(request, uuid, annotationPostRequest.getUserToken(), annotationPostRequest.getTargetId(), annotationPostRequest.getTargetCategory().toString().toUpperCase(), annotationPostRequest.getBody().getTitle(), annotationPostRequest.getBody().getComment(),annotationPostRequest.getBody().getStartCharacter(), annotationPostRequest.getBody().getEndCharacter());
+        connection.issueInsertOrDeleteStatement(request, uuid, annotationPostRequest.getUserToken(), annotationPostRequest.getTargetId(), annotationPostRequest.getTargetCategory().toString().toUpperCase(), annotationPostRequest.getBody().getTitle(), annotationPostRequest.getBody().getComment(), annotationPostRequest.getBody().getStartCharacter(), annotationPostRequest.getBody().getEndCharacter());
 
         // close connection
         connection.close();
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/AnnotationPostRequest.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/AnnotationPostRequest.java
index 1ae3c2b6b5137b7877367c3342b1f2eaab7584f4..98020b68eb138a4cb522200c4acaeef506643d09 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/AnnotationPostRequest.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/model/AnnotationPostRequest.java
@@ -67,5 +67,5 @@ public class AnnotationPostRequest {
                 ", body=" + body +
                 '}';
     }
-    
+
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/view/AnnotationService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/view/AnnotationService.java
index 9a4656e6dc7098c0c7563a57a162ef5d3bc782ae..987a49b09bf8c8fa585834cb24f478fea8581723 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/view/AnnotationService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/view/AnnotationService.java
@@ -8,7 +8,13 @@ import unipotsdam.gf.modules.annotation.model.AnnotationPostRequest;
 import unipotsdam.gf.modules.annotation.model.AnnotationResponse;
 import unipotsdam.gf.modules.peer2peerfeedback.Category;
 
-import javax.ws.rs.*;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import java.util.ArrayList;
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/websocket/AnnotationWebSocketEndpoint.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/websocket/AnnotationWebSocketEndpoint.java
index b30743913672d6770337c6d4b5ca5dcebfeda1a5..69fd65030dccb01589f5416a20d5d52c204eefcd 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/websocket/AnnotationWebSocketEndpoint.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/annotation/websocket/AnnotationWebSocketEndpoint.java
@@ -3,7 +3,12 @@ package unipotsdam.gf.modules.annotation.websocket;
 import unipotsdam.gf.modules.annotation.model.AnnotationMessage;
 import unipotsdam.gf.modules.peer2peerfeedback.Category;
 
-import javax.websocket.*;
+import javax.websocket.EncodeException;
+import javax.websocket.OnClose;
+import javax.websocket.OnError;
+import javax.websocket.OnMessage;
+import javax.websocket.OnOpen;
+import javax.websocket.Session;
 import javax.websocket.server.PathParam;
 import javax.websocket.server.ServerEndpoint;
 import java.io.IOException;
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 be42f1baa23fbece4fa842645201448c3fe0b6a9..f61f345fd2ed77b96d9f02387f90b38d3fd65033 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
@@ -2,17 +2,6 @@ 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;
@@ -36,13 +25,13 @@ public class Assessment {
         this.performance = performance;
     }
 
-    public Assessment(boolean adressat,StudentIdentifier student, Date deadline, StudentIdentifier bewertender, String projektId, int bewertung) {
+    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;
+        this.adressat = adressat;
     }
 
     public Assessment() {
@@ -72,6 +61,7 @@ public class Assessment {
     public Performance getPerformance() {
         return performance;
     }
+
     @JsonIgnore
     public void setPerformance(Performance performance) {
         this.performance = performance;
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
index 17beba2eed381316a22488217073ebe04af84c4e..202cac8e4d8534233c4e62500119080b3c7ec514 100644
--- 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
@@ -1,28 +1,29 @@
 package unipotsdam.gf.modules.assessment.controller.model;
 
 
-
 public class GroupEvalDataDatasets {
     private String label;
-    private int[] data= new int[50];
+    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;
+    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() {
+    }
 
-    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, 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 GroupEvalDataDatasets(String label, int[] data) {
+
+        this.data = data;
+        this.label = label;
     }
 
     public int[] getData() {
@@ -32,11 +33,12 @@ public class GroupEvalDataDatasets {
     public void setData(int[] data) {
         this.data = data;
     }
-/*
-    public void appendData(int data) {
-        this.data.add(data);
-    }
-*/
+
+    /*
+        public void appendData(int data) {
+            this.data.add(data);
+        }
+    */
     public String getBorderColor() {
         return borderColor;
     }
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
index 05f44bce99da488ba3a1f29a3cb441031e88db20..9b8ef4cff6dc5fa67021a3cffbbef80035b78d1b 100644
--- 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
@@ -1,20 +1,24 @@
 package unipotsdam.gf.modules.assessment.controller.model;
-import java.util.*;
+
+import java.util.ArrayList;
+import java.util.List;
 
 public class GroupEvalDataList {
-    private String[] labels ;
+    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() {
     }
 
-    public GroupEvalDataList(List<GroupEvalDataDatasets> datasets,String[] labels){
-        this.labels=labels;
-        this.datasets=datasets;
+    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;
     }
 
 
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
index 67b8a15d28780375b88fa6e076b0c8c4814645c4..166919a60439e9ea08eb88f594700971c6db86fb 100644
--- 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
@@ -3,10 +3,12 @@ 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.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 @Path("/assessments4")
@@ -32,11 +34,13 @@ public class GroupEvalDiagrammData {
     public void setData(GroupEvalDataList data) {
         this.data = data;
     }
-    public GroupEvalDiagrammData(){}
 
-    public GroupEvalDiagrammData(String type, GroupEvalDataList data){
-        this.type=type;
-        this.data=data;
+    public GroupEvalDiagrammData() {
+    }
+
+    public GroupEvalDiagrammData(String type, GroupEvalDataList data) {
+        this.type = type;
+        this.data = data;
     }
 
     public GroupEvalOption getOption() {
@@ -50,13 +54,12 @@ public class GroupEvalDiagrammData {
     @POST
     @Produces(MediaType.APPLICATION_JSON)
     @Path("/diagramm1/{projectId}")
-    public GroupEvalDiagrammData getValuesFromDBByProjectID(@PathParam("projectId") String 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();
+        GroupEvalDiagrammData diagramm = new GroupEvalDiagrammData();
+        GroupEvalOption option = new GroupEvalOption();
+        GroupEvalDiagrammLegende legende = new GroupEvalDiagrammLegende();
 
         diagramm.setType("line");
         diagramm.setOption(option);
@@ -65,7 +68,7 @@ public class GroupEvalDiagrammData {
 
 
         MysqlConnect connect = new MysqlConnect();
-        List<String> userNamen=new ArrayList<>();
+        List<String> userNamen = new ArrayList<>();
 
         GroupEvalDataDatasets datenSaetze = new GroupEvalDataDatasets();
         GroupEvalDataList datenDia = new GroupEvalDataList();
@@ -76,13 +79,13 @@ public class GroupEvalDiagrammData {
         connect.connect();
 
         String mysqlRequestGroupuser = "SELECT * FROM `groupuser` WHERE `groupId`=? ";
-        VereinfachtesResultSet namenDerUser = connect.issueSelectStatement(mysqlRequestGroupuser,3);
+        VereinfachtesResultSet namenDerUser = connect.issueSelectStatement(mysqlRequestGroupuser, 3);
         List<Integer> bewertungenZwischen = new ArrayList<Integer>();
         List<String> labelZwischen = new ArrayList<String>();
 
-        List<GroupEvalDataDatasets> hilfeBittefunktionierEndlich=new ArrayList<>();
+        List<GroupEvalDataDatasets> hilfeBittefunktionierEndlich = new ArrayList<>();
 
-        while (namenDerUser.next()){
+        while (namenDerUser.next()) {
             userNamen.add(namenDerUser.getString("userEmail"));
         }
         for (String anUserNamen : userNamen) {
@@ -91,7 +94,7 @@ public class GroupEvalDiagrammData {
 
             while (bewertungDerUser.next()) {
                 bewertungenZwischen.add(bewertungDerUser.getInt("bewertung"));
-                labelZwischen.add(String.valueOf(bewertungDerUser.getTimestamp("deadline")).substring(0,10));
+                labelZwischen.add(String.valueOf(bewertungDerUser.getTimestamp("deadline")).substring(0, 10));
             }
             int[] hilfeDaten = new int[bewertungenZwischen.size()];
             for (int z = 0; z < labelZwischen.size(); z++) {
@@ -99,25 +102,23 @@ public class GroupEvalDiagrammData {
             }
 
 
-
             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));
+            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));
+            diagramm.setData(new GroupEvalDataList(hilfeLabel, hilfeBittefunktionierEndlich));
         }
 
         connect.close();
 
 
-
         return diagramm;
     }
 }
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
index 95d0d15834c58758cbad722e801349f5e5a3bd53..588c4ecf02df83c1aaedb4c65e970b397f96dbbc 100644
--- 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
@@ -1,7 +1,6 @@
 package unipotsdam.gf.modules.assessment.controller.model;
 
 
-
 public class GroupEvalOption {
     private GroupEvalDiagrammLegende 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
index fa81556965e51fa31c6112337ca8d9a111b38cf0..2e815baf4653f79119e6cb4a442b310dcc64f332 100644
--- 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
@@ -1,40 +1,39 @@
 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){
+    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();
+        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`=?";
+        connect.connect();
+        String mysqlRequest = "SELECT * FROM `assessments` WHERE `empfaengerId`=? AND `projektId`=?";
 
-    String nameDesKandidaten = name;
-    String projektDesKandidaten = projekt;
-    VereinfachtesResultSet ausgabe = connect.issueSelectStatement(mysqlRequest,nameDesKandidaten, projektDesKandidaten);
+        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;
+        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/model/PeerRating.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PeerRating.java
index 0d29f8ce6322059e0258f708af7cd581d864e436..1351cf69b92a1901285758c3d92f0b0a0134d3b7 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PeerRating.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PeerRating.java
@@ -1,6 +1,5 @@
 package unipotsdam.gf.modules.assessment.controller.model;
 
-import java.util.Arrays;
 import java.util.Map;
 
 public class PeerRating {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Performance.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Performance.java
index 4f97bdb7384a3e37deb26bf85e60d31573c027d4..03c25404c5f5a09669d30826acb60f68d6d6a58f 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Performance.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Performance.java
@@ -15,7 +15,7 @@ public class Performance {
         this.studentIdentifier = student;
         this.quizAnswer = quiz;
         this.workRating=workRating;
-        this.contributionRating=contributionRating;
+        this.contributionRating = contributionRating;
 
     }
 
@@ -26,9 +26,14 @@ public class Performance {
     public void setStudentIdentifier(StudentIdentifier studentIdentifier) {
         this.studentIdentifier = studentIdentifier;
     }
-    public Map getContributionRating() { return contributionRating;    }
 
-    public void setContributionRating(Map contributionRating) { this.contributionRating = contributionRating;    }
+    public Map getContributionRating() {
+        return contributionRating;
+    }
+
+    public void setContributionRating(Map contributionRating) {
+        this.contributionRating = contributionRating;
+    }
 
 
     public List<Integer> getQuizAnswer() {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/cheatCheckerMethods.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/cheatCheckerMethods.java
index ff2d1bdc4eef24c126ac98ffa789fd32ee658154..b64a6ad853b286cfaedc3db433c81be32878edee 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/cheatCheckerMethods.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/cheatCheckerMethods.java
@@ -7,11 +7,12 @@ public enum cheatCheckerMethods {
 
     private final String text;
 
-    cheatCheckerMethods(final String text){
+    cheatCheckerMethods(final String text) {
         this.text = text;
     }
+
     @Override
-    public String toString(){
+    public String toString() {
         return text;
     }
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/AssessmentDBCommunication.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/AssessmentDBCommunication.java
index 5f05a39f3c6c9920be80265daa497acbbba0e849..43bf51f462697e1a6a95e40d5ee10029c34e64a1 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/AssessmentDBCommunication.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/AssessmentDBCommunication.java
@@ -2,7 +2,14 @@ package unipotsdam.gf.modules.assessment.controller.service;
 
 import unipotsdam.gf.core.database.mysql.MysqlConnect;
 import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
-import unipotsdam.gf.modules.assessment.controller.model.*;
+import unipotsdam.gf.core.states.model.Constraints;
+import unipotsdam.gf.core.states.model.ConstraintsMessages;
+import unipotsdam.gf.modules.assessment.controller.model.Categories;
+import unipotsdam.gf.modules.assessment.controller.model.Grading;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
+import unipotsdam.gf.modules.assessment.controller.model.Categories;
+import unipotsdam.gf.modules.assessment.controller.model.Grading;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 
 import javax.annotation.ManagedBean;
 import javax.annotation.Resource;
@@ -36,7 +43,7 @@ class AssessmentDBCommunication {
         return result;
     }
 
-    Boolean getWorkRating(StudentIdentifier student, String fromStudent){
+    Boolean getWorkRating(StudentIdentifier student, String fromStudent) {
         MysqlConnect connect = new MysqlConnect();
         connect.connect();
         String mysqlRequest = "SELECT * FROM `workrating` WHERE `projectId`=? AND `studentId`=? AND `fromPeer`=?";
@@ -72,7 +79,7 @@ class AssessmentDBCommunication {
         return result;
     }
 
-    ArrayList<String> getStudentsByGroupAndProject(Integer groupId, String projectId){
+    ArrayList<String> getStudentsByGroupAndProject(Integer groupId, String projectId) {
         ArrayList<String> result = new ArrayList<>();
         MysqlConnect connect = new MysqlConnect();
         connect.connect();
@@ -80,7 +87,7 @@ class AssessmentDBCommunication {
         VereinfachtesResultSet vereinfachtesResultSet =
                 connect.issueSelectStatement(mysqlRequest, groupId, projectId);
         Boolean next = vereinfachtesResultSet.next();
-        while (next){
+        while (next) {
             result.add(vereinfachtesResultSet.getString("studentId"));
             next = vereinfachtesResultSet.next();
         }
@@ -135,7 +142,7 @@ class AssessmentDBCommunication {
     void writeAnsweredQuiz(StudentIdentifier student, Map<String, Boolean> questions) {
         MysqlConnect connect = new MysqlConnect();
         connect.connect();
-        for (String question: questions.keySet()){
+        for (String question : questions.keySet()) {
             String mysqlRequest = "INSERT INTO `answeredquiz`(`projectId`, `studentId`, `question`, `correct`) VALUES (?,?,?,?)";
             connect.issueInsertOrDeleteStatement(mysqlRequest,
                     student.getProjectId(),
@@ -167,13 +174,13 @@ class AssessmentDBCommunication {
         connect.close();
     }
 
-    Integer getWhichGroupToRate(StudentIdentifier student){
+    Integer getWhichGroupToRate(StudentIdentifier student) {
         Integer result;
         MysqlConnect connect = new MysqlConnect();
         connect.connect();
         String mysqlRequest1 = "SELECT groupId FROM `groupuser` WHERE `projectId`=? AND `studentId`=? ";
         VereinfachtesResultSet vereinfachtesResultSet1 =
-                connect.issueSelectStatement(mysqlRequest1, student.getProjectId(),student.getStudentId());
+                connect.issueSelectStatement(mysqlRequest1, student.getProjectId(), student.getStudentId());
         vereinfachtesResultSet1.next();
         Integer groupId = vereinfachtesResultSet1.getInt("groupId");
 
@@ -182,13 +189,13 @@ class AssessmentDBCommunication {
                 connect.issueSelectStatement(mysqlRequest2, student.getProjectId());
         Boolean next = vereinfachtesResultSet2.next();
         result = vereinfachtesResultSet2.getInt("groupId");
-        while(next){
-            if (vereinfachtesResultSet2.getInt("groupId") == groupId){
+        while (next) {
+            if (vereinfachtesResultSet2.getInt("groupId") == groupId) {
                 next = vereinfachtesResultSet2.next();
-                if (next){
+                if (next) {
                     result = vereinfachtesResultSet2.getInt("groupId");
                 }
-            }else{
+            } else {
                 next = vereinfachtesResultSet2.next();
             }
 
@@ -243,4 +250,60 @@ class AssessmentDBCommunication {
         return result;
     }
 
+    Map<StudentIdentifier, ConstraintsMessages> missingAssessments(String projectId) {
+        Map<StudentIdentifier, ConstraintsMessages> result = new HashMap<>();
+        ArrayList<String> studentsInProject = new ArrayList<>(getStudents(projectId));
+        ArrayList<StudentIdentifier> missingStudentsCauseOfWorkrating = missingWorkRatings(studentsInProject, projectId);
+        if (missingStudentsCauseOfWorkrating != null)
+            for (StudentIdentifier missingStudent : missingStudentsCauseOfWorkrating) {
+                result.put(missingStudent, new ConstraintsMessages(Constraints.AssessmentOpen, missingStudent));
+            }
+        // ArrayList<StudentIdentifier> missingStudentsCauseOfQuiz <--- I can't check that atm
+        ArrayList<StudentIdentifier> missingStudentsCauseOfContribution = missingContribution(studentsInProject, projectId);
+        if (missingStudentsCauseOfContribution != null)
+            for (StudentIdentifier missingStudent : missingStudentsCauseOfContribution) {
+                result.put(missingStudent, new ConstraintsMessages(Constraints.AssessmentOpen, missingStudent));
+            }
+        return result;
+    }
+
+    private ArrayList<StudentIdentifier> missingWorkRatings(ArrayList<String> studentsInProject, String projectId) {
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        ArrayList<StudentIdentifier> result = new ArrayList<>();
+        String sqlSelectWorkRating = "SELECT DISTINCT fromPeer FROM `workrating` WHERE `projectId`='"+projectId+"' AND `fromPeer`=''";
+        for (String studentId : studentsInProject) {
+            sqlSelectWorkRating = sqlSelectWorkRating + " OR `fromPeer`='" + studentId+"'";
+        }
+        VereinfachtesResultSet selectWorkRatingResultSet =
+                connect.issueSelectStatement(sqlSelectWorkRating);
+        Boolean next = selectWorkRatingResultSet.next();
+        resultSetToStudentIdentifierList(studentsInProject, projectId, result, selectWorkRatingResultSet, next);
+        return result;
+    }
+
+    private ArrayList<StudentIdentifier> missingContribution(ArrayList<String> studentsInProject, String projectId) {
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        ArrayList<StudentIdentifier> result = new ArrayList<>();
+        String sqlContribution = "SELECT DISTINCT cr.fromPeer FROM groupuser gu " +
+                "JOIN contributionrating cr ON gu.groupId=cr.groupId WHERE gu.projectId = ?;";
+        VereinfachtesResultSet selectContributionResultSet =
+                connect.issueSelectStatement(sqlContribution, projectId);
+        Boolean next = selectContributionResultSet.next();
+        resultSetToStudentIdentifierList(studentsInProject, projectId, result, selectContributionResultSet, next);
+        return result;
+    }
+
+    private void resultSetToStudentIdentifierList(ArrayList<String> studentsInProject, String projectId, ArrayList<StudentIdentifier> result, VereinfachtesResultSet selectWorkRatingResultSet, Boolean next) {
+        while (next) {
+            String fromPeer = selectWorkRatingResultSet.getString("fromPeer");
+            if (!studentsInProject.contains(fromPeer)) {
+                StudentIdentifier studentIdentifier = new StudentIdentifier(projectId, fromPeer);
+                result.add(studentIdentifier);
+            }
+            next = selectWorkRatingResultSet.next();
+        }
+    }
+
 }
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 866d46be26992a8be17bd44f4b2cb6823ca60d37..bc2d65e25dbd1f95146daf1112b0b216ae1df2ec 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,7 +1,13 @@
 package unipotsdam.gf.modules.assessment.controller.service;
 
 import unipotsdam.gf.core.management.project.Project;
-import unipotsdam.gf.modules.assessment.controller.model.*;
+import unipotsdam.gf.core.states.model.ConstraintsMessages;
+import unipotsdam.gf.modules.assessment.controller.model.Assessment;
+import unipotsdam.gf.modules.assessment.controller.model.PeerRating;
+import unipotsdam.gf.modules.assessment.controller.model.Performance;
+import unipotsdam.gf.modules.assessment.controller.model.Quiz;
+import unipotsdam.gf.modules.assessment.controller.model.StudentAndQuiz;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -86,7 +92,7 @@ public class FBAssessement extends AssessmentDAO {
     }
 
     @Override
-    public Boolean allAssessmentsDone(String projectId) {
+    public Map<StudentIdentifier, ConstraintsMessages> allAssessmentsDone(String projectId) {
         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 871b3c94af79f47dc054d632240a8648ee0992af..56ec42edf3c14bce353513954c379fc610e9a10c 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,12 +1,29 @@
 package unipotsdam.gf.modules.assessment.controller.service;
 
+import unipotsdam.gf.core.management.Management;
 import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.core.states.model.ConstraintsMessages;
 import unipotsdam.gf.interfaces.IPeerAssessment;
-import unipotsdam.gf.modules.assessment.controller.model.*;
+import unipotsdam.gf.modules.assessment.controller.model.Assessment;
+import unipotsdam.gf.modules.assessment.controller.model.PeerRating;
+import unipotsdam.gf.modules.assessment.controller.model.Performance;
+import unipotsdam.gf.modules.assessment.controller.model.Quiz;
+import unipotsdam.gf.modules.assessment.controller.model.StudentAndQuiz;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
+import unipotsdam.gf.modules.assessment.controller.model.cheatCheckerMethods;
 
-import java.util.*;
+import javax.inject.Inject;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 public class PeerAssessment implements IPeerAssessment {
+
+    @Inject
+    private Management management;
+
     @Override
     public void addAssessmentDataToDB(Assessment assessment) {
 
@@ -41,28 +58,30 @@ public class PeerAssessment implements IPeerAssessment {
     public String whatToRate(StudentIdentifier student) {
         Integer groupId = new AssessmentDBCommunication().getGroupByStudent(student);
         ArrayList<String> groupMembers = new AssessmentDBCommunication().getStudentsByGroupAndProject(groupId, student.getProjectId());
-        for (String peer: groupMembers){
-            if (!peer.equals(student.getStudentId())){
+        for (String peer : groupMembers) {
+            if (!peer.equals(student.getStudentId())) {
                 StudentIdentifier groupMember = new StudentIdentifier(student.getProjectId(), peer);
-                if (!new AssessmentDBCommunication().getWorkRating(groupMember, student.getStudentId())){
+                if (!new AssessmentDBCommunication().getWorkRating(groupMember, student.getStudentId())) {
                     return "workRating";
                 }
             }
         }
         ArrayList<Integer> answers = new AssessmentDBCommunication().getAnsweredQuizzes(student);
-        if (answers==null){
+        if (answers == null) {
             return "quiz";
         }
         Integer groupToRate = new AssessmentDBCommunication().getWhichGroupToRate(student);
-        if (!new AssessmentDBCommunication().getContributionRating(groupToRate, student.getStudentId())){
+        if (!new AssessmentDBCommunication().getContributionRating(groupToRate, student.getStudentId())) {
             return "contributionRating";
         }
         return "done";
     }
 
     @Override
-    public Boolean allAssessmentsDone(String projectId) {
-        return null;
+    public Map<StudentIdentifier, ConstraintsMessages> allAssessmentsDone(String projectId) {
+        Map<StudentIdentifier, ConstraintsMessages> result;
+        result = new AssessmentDBCommunication().missingAssessments(projectId);
+        return result;
     }
 
     @Override
@@ -83,7 +102,7 @@ public class PeerAssessment implements IPeerAssessment {
         Map<StudentIdentifier, Double> contributionMean = new HashMap<>(mapToGrade(contributionRating));
         Map<StudentIdentifier, Double> result = new HashMap<>();
         for (StudentIdentifier student : quizMean.keySet()) {
-            double grade = (quizMean.get(student) + workRateMean.get(student) + contributionMean.get(student)) * 100 / 3. ;
+            double grade = (quizMean.get(student) + workRateMean.get(student) + contributionMean.get(student)) * 100 / 3.;
             result.put(student, grade);
         }
         return result;
@@ -133,12 +152,11 @@ public class PeerAssessment implements IPeerAssessment {
         Double allAssessments;
         Map<StudentIdentifier, Double> grading = new HashMap<>();
         for (StudentIdentifier student : ratings.keySet()) {
-            if (ratings.get(student) != null){
+            if (ratings.get(student) != null) {
                 allAssessments = sumOfDimensions(ratings.get(student));
                 Double countDimensions = (double) ratings.get(student).size();
-                grading.put(student, (allAssessments-1) / (countDimensions * 4));
-            }
-            else {
+                grading.put(student, (allAssessments - 1) / (countDimensions * 4));
+            } else {
                 grading.put(student, 0.);
             }
         }
@@ -182,7 +200,7 @@ public class PeerAssessment implements IPeerAssessment {
                 oneExcludedMeans.add(meanOfWorkRatings(possiblyCheating));
             }
         } else {
-            if (workRatings.size() <1){
+            if (workRatings.size() < 1) {
                 return null;
             }
             oneExcludedMeans.add(meanOfWorkRatings(workRatings));
@@ -215,7 +233,7 @@ public class PeerAssessment implements IPeerAssessment {
                     }
                 }
                 result = oneExcludedMeans.get(key);  //gets set of rates with highest deviation in data
-                                                    //so without the cheater
+                //so without the cheater
             } else {            //without cheatChecking
                 result = meanOfWorkRatings(workRatings);
             }
@@ -236,7 +254,7 @@ public class PeerAssessment implements IPeerAssessment {
 
     @Override
     public void postPeerRating(ArrayList<PeerRating> peerRatings, String projectId) {
-        for (PeerRating peer: peerRatings){
+        for (PeerRating peer : peerRatings) {
             StudentIdentifier student = new StudentIdentifier(projectId, peer.getToPeer());
             new AssessmentDBCommunication().writeWorkRatingToDB(student, peer.getFromPeer(), peer.getWorkRating());
         }
@@ -256,13 +274,13 @@ public class PeerAssessment implements IPeerAssessment {
 
     @Override
     public void answerQuiz(Map<String, List<String>> questions, StudentIdentifier student) {
-        for (String question: questions.keySet()){
+        for (String question : questions.keySet()) {
             Map<String, Boolean> whatAreAnswers = new AssessmentDBCommunication().getAnswers(student.getProjectId(), question);
             Map<String, Boolean> wasQuestionAnsweredCorrectly = new HashMap<>();
             Boolean correct = true;
-            for (String studentAnswer: questions.get(question)){
-                if (!whatAreAnswers.get(studentAnswer)){
-                    correct=false;
+            for (String studentAnswer : questions.get(question)) {
+                if (!whatAreAnswers.get(studentAnswer)) {
+                    correct = false;
                 }
             }
             wasQuestionAnsweredCorrectly.put(question, correct);
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 a5cb9fae5bdddcc98bf3b438665e17860e50a969..6dfe61edc45fde90f709b0490a5b1f46cf2260ed 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
@@ -3,10 +3,19 @@ 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.core.states.model.ConstraintsMessages;
 import unipotsdam.gf.interfaces.IPeerAssessment;
-import unipotsdam.gf.modules.assessment.controller.model.*;
-
-import java.util.*;
+import unipotsdam.gf.modules.assessment.controller.model.Assessment;
+import unipotsdam.gf.modules.assessment.controller.model.PeerRating;
+import unipotsdam.gf.modules.assessment.controller.model.Performance;
+import unipotsdam.gf.modules.assessment.controller.model.Quiz;
+import unipotsdam.gf.modules.assessment.controller.model.StudentAndQuiz;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 public class PeerAssessmentDummy implements IPeerAssessment {
 
@@ -90,8 +99,8 @@ public class PeerAssessmentDummy implements IPeerAssessment {
     }
 
     @Override
-    public Boolean allAssessmentsDone(String projectId) {
-        return true;
+    public Map<StudentIdentifier, ConstraintsMessages> allAssessmentsDone(String projectId) {
+        return new HashMap<StudentIdentifier, ConstraintsMessages>();
     }
 
     @Override
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/QuizDBCommunication.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/QuizDBCommunication.java
index 1bec0a0672821a6f22d342f5dd1390d7340066ac..f080c09a384d04d52d124710b71befd2c6ae70db 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/QuizDBCommunication.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/QuizDBCommunication.java
@@ -13,12 +13,12 @@ import java.util.ArrayList;
 @Resource
 @Singleton
 public class QuizDBCommunication {
-    Quiz getQuizByProjectQuizId(String projectId, String quizId, String author){
+    Quiz getQuizByProjectQuizId(String projectId, String quizId, String author) {
         MysqlConnect connect = new MysqlConnect();
         connect.connect();
         String mysqlRequest = "SELECT * FROM `quiz` WHERE `projectId`=? AND `question`=? AND `author`=?";
         VereinfachtesResultSet vereinfachtesResultSet =
-                connect.issueSelectStatement(mysqlRequest, projectId,quizId,author);
+                connect.issueSelectStatement(mysqlRequest, projectId, quizId, author);
         boolean next = vereinfachtesResultSet.next();
         String question = "";
         ArrayList<String> correctAnswers = new ArrayList<>();
@@ -31,21 +31,21 @@ public class QuizDBCommunication {
             question = vereinfachtesResultSet.getString("question");
             answer = vereinfachtesResultSet.getString("answer");
             correct = vereinfachtesResultSet.getBoolean("correct");
-            if (correct){
+            if (correct) {
                 correctAnswers.add(answer);
-            }else{
+            } else {
                 incorrectAnswers.add(answer);
             }
             next = vereinfachtesResultSet.next();
         }
-        Quiz quiz = new Quiz(mcType,question, correctAnswers, incorrectAnswers);
+        Quiz quiz = new Quiz(mcType, question, correctAnswers, incorrectAnswers);
         connect.close();
         return quiz;
     }
 
     ArrayList<Quiz> getQuizByProjectId(String projectId) {
         MysqlConnect connect = new MysqlConnect();
-        ArrayList<Quiz> result= new ArrayList<>();
+        ArrayList<Quiz> result = new ArrayList<>();
         connect.connect();
         String mysqlRequest = "SELECT * FROM quiz where projectId= ?";
         VereinfachtesResultSet vereinfachtesResultSet =
@@ -55,7 +55,7 @@ public class QuizDBCommunication {
         ArrayList<String> correctAnswers = new ArrayList<>();
         ArrayList<String> incorrectAnswers = new ArrayList<>();
         String answer;
-        String oldQuestion="";
+        String oldQuestion = "";
         Boolean correct;
         String mcType = "";
         Quiz quiz;
@@ -64,20 +64,20 @@ public class QuizDBCommunication {
             question = vereinfachtesResultSet.getString("question");
             answer = vereinfachtesResultSet.getString("answer");
             correct = vereinfachtesResultSet.getBoolean("correct");
-            if (oldQuestion.equals(question)){
-                if (correct){
+            if (oldQuestion.equals(question)) {
+                if (correct) {
                     correctAnswers.add(answer);
-                }else{
+                } else {
                     incorrectAnswers.add(answer);
                 }
-            }else{
-                quiz = new Quiz(mcType,oldQuestion, correctAnswers, incorrectAnswers);
+            } else {
+                quiz = new Quiz(mcType, oldQuestion, correctAnswers, incorrectAnswers);
                 result.add(quiz);
-                correctAnswers=new ArrayList<>();
-                incorrectAnswers=new ArrayList<>();
-                if (correct){
+                correctAnswers = new ArrayList<>();
+                incorrectAnswers = new ArrayList<>();
+                if (correct) {
                     correctAnswers.add(answer);
-                }else{
+                } else {
                     incorrectAnswers.add(answer);
                 }
 
@@ -85,7 +85,7 @@ public class QuizDBCommunication {
             oldQuestion = question;
             next = vereinfachtesResultSet.next();
         }
-        quiz = new Quiz(mcType,oldQuestion, correctAnswers, incorrectAnswers);
+        quiz = new Quiz(mcType, oldQuestion, correctAnswers, incorrectAnswers);
         result.add(quiz);
         return result;
     }
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
index 2a603937709464ce3e5d823c67d8628827c1bf59..b46921a052b1d965523d80c76845cb597ec653d1 100644
--- 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
@@ -2,19 +2,22 @@ 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.model.Performance;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy;
 
-
-import javax.ws.rs.*;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
 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();
+public class AssessmentView {
+    private static IPeerAssessment peer = new PeerAssessmentDummy();
+
     @POST
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
@@ -27,7 +30,7 @@ public class AssessmentView{
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.TEXT_PLAIN)
     @Path("/calculate2")
-    public String testDesReturn(Assessment assessment){
+    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
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 f897c2561574cf9d896ce445d6879d8bc74443f4..cbf9f2c785cce362d821f5ad24f0e001066712e2 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
@@ -1,16 +1,20 @@
 package unipotsdam.gf.modules.assessment.controller.view;
 
-import unipotsdam.gf.core.management.Management;
-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.model.PeerRating;
+import unipotsdam.gf.modules.assessment.controller.model.Performance;
+import unipotsdam.gf.modules.assessment.controller.model.Quiz;
+import unipotsdam.gf.modules.assessment.controller.model.StudentAndQuiz;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.assessment.controller.service.PeerAssessment;
 
-import javax.inject.Inject;
-import javax.ws.rs.*;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
@@ -55,9 +59,8 @@ public class QuizView {
     @GET
     @Produces(MediaType.APPLICATION_JSON)
     @Path("/groupRate/project/{projectId}/student/{studentId}")
-    public Integer whichGroupToRate(@PathParam("projectId") String projectId, @PathParam("studentId") String studentId)
-    {
-        StudentIdentifier student = new StudentIdentifier(projectId,studentId);
+    public Integer whichGroupToRate(@PathParam("projectId") String projectId, @PathParam("studentId") String studentId) {
+        StudentIdentifier student = new StudentIdentifier(projectId, studentId);
         return peer.whichGroupToRate(student);
     }
 
@@ -93,9 +96,8 @@ public class QuizView {
     @GET
     @Produces(MediaType.TEXT_HTML)
     @Path("/whatToRate/project/{projectId}/student/{studentId}")
-    public String whatToRate(@PathParam("projectId") String projectId, @PathParam("studentId") String studentId)
-    {
-        StudentIdentifier student = new StudentIdentifier(projectId,studentId);
+    public String whatToRate(@PathParam("projectId") String projectId, @PathParam("studentId") String studentId) {
+        StudentIdentifier student = new StudentIdentifier(projectId, studentId);
         return peer.whatToRate(student);
     }
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/communication/ChatWindow.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/communication/ChatWindow.java
index 9fa51312f3f086cdacfd1dd25bc21612dccffbc8..366395cee07156c5b2f44fb22e56a449478afbaf 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/communication/ChatWindow.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/communication/ChatWindow.java
@@ -1,6 +1,5 @@
 package unipotsdam.gf.modules.communication;
 
-import unipotsdam.gf.core.management.ManagementImpl;
 import unipotsdam.gf.interfaces.ICommunication;
 import unipotsdam.gf.modules.communication.service.CommunicationDummyService;
 
@@ -18,16 +17,15 @@ public class ChatWindow extends SimpleTagSupport {
         PageContext pageContext = (PageContext) getJspContext();
         HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
         String token = request.getParameter("token");
-        ManagementImpl management = new ManagementImpl();
         //User user = management.getUserByToken(token);
         String groupToken = request.getParameter("groupToken");
         String projectToken = request.getParameter("projectToken");
         //get ProjetbyToken
         ICommunication communicationService = new CommunicationDummyService();
-        String chatRoomLink = communicationService.getChatRoomLink(token,projectToken,groupToken);
+        String chatRoomLink = communicationService.getChatRoomLink(token, projectToken, groupToken);
 
         JspWriter out = getJspContext().getOut();
-        out.println("<iframe width=\"30%\" height=\"100%\" src=\""+chatRoomLink+"\"/>");
+        out.println("<iframe width=\"30%\" height=\"100%\" src=\"" + chatRoomLink + "\"/>");
     }
 
     public void setOrientation(String orientation) {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/communication/service/CommunicationDummyService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/communication/service/CommunicationDummyService.java
index 1aa5c32fee0d669a6956d7822e9b084f294c264f..9fa183199162551aaa5d98d65ab6a3c6128d05ff 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/communication/service/CommunicationDummyService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/communication/service/CommunicationDummyService.java
@@ -1,12 +1,17 @@
 package unipotsdam.gf.modules.communication.service;
 
+import unipotsdam.gf.assignments.Assignee;
+import unipotsdam.gf.assignments.NotImplementedLogger;
 import unipotsdam.gf.config.Constants;
 import unipotsdam.gf.core.management.Management;
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
 import unipotsdam.gf.assignments.Assignee;
 import unipotsdam.gf.assignments.NotImplementedLogger;
+import unipotsdam.gf.core.states.model.Constraints;
+import unipotsdam.gf.core.states.model.ConstraintsMessages;
 import unipotsdam.gf.interfaces.ICommunication;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.communication.model.Message;
 import unipotsdam.gf.modules.communication.model.chat.ChatMessage;
 import unipotsdam.gf.modules.communication.model.chat.ChatRoom;
@@ -18,6 +23,7 @@ import javax.inject.Singleton;
 import java.time.Instant;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 
 @Resource
@@ -46,8 +52,8 @@ public class CommunicationDummyService implements ICommunication {
     }
 
     @Override
-    public String createChatRoom(String name, List<User> users) {
-        if (Objects.isNull(users)) {
+    public String createChatRoom(String name, List<User> userList) {
+        if (Objects.isNull(userList)) {
             return "2";
         }
 
@@ -115,6 +121,11 @@ public class CommunicationDummyService implements ICommunication {
         NotImplementedLogger.logAssignment(Assignee.MARTIN, CommunicationDummyService.class, message2);
     }
 
+    @Override
+    public void informAboutMissingTasks(Map<StudentIdentifier, ConstraintsMessages> tasks, Project project) {
+
+    }
+
     @Override
     public void sendMessageToUsers(Project project, String message) {
         // TODO implement as email or directed message, popup after login or whatever
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingImpl.java
index 78f8621f3d2b9ba1fbaffc207a8970e05b56cb17..0676fdc8c2c4d44f8445cd8d15ae15dad92dca82 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/GroupfindingImpl.java
@@ -4,13 +4,21 @@ import unipotsdam.gf.core.management.group.Group;
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.interfaces.IGroupFinding;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
-import unipotsdam.gf.modules.groupfinding.service.GroupCreationService;
 import unipotsdam.gf.modules.groupfinding.service.GroupDAO;
 
+import javax.inject.Inject;
 import java.util.ArrayList;
 import java.util.List;
 
 public class GroupfindingImpl implements IGroupFinding {
+
+    private GroupDAO groupDAO;
+
+    @Inject
+    public GroupfindingImpl(GroupDAO groupDAO) {
+        this.groupDAO = groupDAO;
+    }
+
     @Override
     public void selectGroupfindingCriteria(GroupfindingCriteria groupfindingCriteria) {
 
@@ -32,7 +40,7 @@ public class GroupfindingImpl implements IGroupFinding {
 
     }
 
-    public ArrayList<String> getStudentsInSameGroup(StudentIdentifier student){
-        return new GroupDAO().getStudentsInSameGroupAs(student);
+    public ArrayList<String> getStudentsInSameGroup(StudentIdentifier student) {
+        return groupDAO.getStudentsInSameGroupAs(student);
     }
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/dummy/service/DummyProjectCreationService.java
similarity index 62%
rename from gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java
rename to gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/dummy/service/DummyProjectCreationService.java
index 09fba126c48b52b04893ac4d08a4f207ffe478a5..4f1122f71f7761c8e52b9b567efde8b2545e017f 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/dummy/service/DummyProjectCreationService.java
@@ -1,11 +1,13 @@
-package unipotsdam.gf.modules.groupfinding.service;
+package unipotsdam.gf.modules.groupfinding.dummy.service;
 
 import unipotsdam.gf.core.management.Management;
 import unipotsdam.gf.core.management.group.Group;
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.management.user.UserDAO;
 import unipotsdam.gf.core.management.user.UserProfile;
 import unipotsdam.gf.interfaces.ICommunication;
+import unipotsdam.gf.modules.groupfinding.service.GroupDAO;
 
 import javax.annotation.ManagedBean;
 import javax.annotation.Resource;
@@ -19,41 +21,51 @@ import java.util.stream.Collectors;
 @ManagedBean
 @Resource
 @Singleton
-public class GroupCreationService {
+public class DummyProjectCreationService {
+
 
-    @Inject
     private ICommunication communicationService;
+    private Management management;
+    private GroupDAO groupDAO;
+    private UserDAO userDAO;
 
     @Inject
-    private Management management;
+    public DummyProjectCreationService(ICommunication communicationService, Management management, GroupDAO groupDAO, UserDAO userDAO) {
+        this.communicationService = communicationService;
+        this.management = management;
+        this.groupDAO = groupDAO;
+        this.userDAO = userDAO;
+    }
 
     public boolean createExampleProject() {
 
         User docentUser = getDocentUser();
-        Project project = new Project("1", "", true, docentUser.getEmail(), "admin");
-
-        List<Group> groups = createDummyGroups(project.getId());
+        if (!management.exists(docentUser)) {
+            management.create(docentUser, null);
+        }
 
+        Project project = new Project("1", "password", true, docentUser.getEmail(), "admin");
         if (!management.exists(project)) {
             management.create(project);
         }
 
-        groups.forEach(group -> management.create(group));
-        // TODO: read List<Group> of database to get Id for chatRoomName (Should be ProjectName - GroupId)
-        // TODO: implement sql service injection for, so connection is only done once in app
+        List<Group> groups = createDummyGroups(project.getId());
 
+        List<Group> nonCreatedGroups = groups.stream().filter(group -> !management.exists(group)).collect(Collectors.toList());
 
-        List<Group> nonEmptyGroups = groups.stream().filter(group -> group.getMembers().isEmpty())
-                .collect(Collectors.toList());
-        if (nonEmptyGroups.isEmpty()) {
-            return false;
-        }
+        nonCreatedGroups.forEach(group -> management.create(group));
 
+        List<Group> groupsWithId = groupDAO.getGroupsByProjectId(project.getId());
+        groupsWithId.forEach(group -> {
+            String chatRoomName = String.join(" - ", project.getId(), String.valueOf(group.getId()));
+            group.setChatRoomId(communicationService.createChatRoom(chatRoomName, group.getMembers()));
+            management.update(group);
+        });
 
         return true;
     }
 
-    private List<Group> createDummyGroups(String projectId) {
+    List<Group> createDummyGroups(String projectId) {
         Group group1 = new Group(new ArrayList<>(), projectId);
         Group group2 = new Group(new ArrayList<>(), projectId);
         Group group3 = new Group(new ArrayList<>(), projectId);
@@ -78,12 +90,12 @@ public class GroupCreationService {
         return groups;
     }
 
-    private User getDocentUser() {
+    User getDocentUser() {
         User docent = new User("Julian", "docent", "docent@docent.com", false);
         if (!management.exists(docent)) {
             saveUserToDatabase(docent);
         } else {
-            docent = management.getUserByEmail(docent.getEmail());
+            docent = userDAO.getUserByEmail(docent.getEmail());
         }
         return docent;
     }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/dummy/view/DummyProjectCreationView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/dummy/view/DummyProjectCreationView.java
new file mode 100644
index 0000000000000000000000000000000000000000..554ec84506879b189a2476e09ed49277d467a9af
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/dummy/view/DummyProjectCreationView.java
@@ -0,0 +1,36 @@
+package unipotsdam.gf.modules.groupfinding.dummy.view;
+
+import unipotsdam.gf.modules.groupfinding.dummy.service.DummyProjectCreationService;
+
+import javax.inject.Inject;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+@Path("/dummy/project/")
+public class DummyProjectCreationView {
+
+    @Inject
+    DummyProjectCreationService dummyProjectCreationService;
+
+    @GET
+    @Produces(MediaType.APPLICATION_JSON)
+    @Path("/create")
+    public Response createDummyProject() {
+
+        boolean success = dummyProjectCreationService.createExampleProject();
+
+        Response response;
+        if (success) {
+            response = Response.ok("Dummy-Project created").build();
+        } else {
+            response = Response.serverError().build();
+        }
+
+        return response;
+    }
+
+
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupDAO.java
index ffa94b4e83f1e00ff63e59692c956bc19e70403d..ed1198a195338360dbbd54b04b44a2356e46edcf 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupDAO.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupDAO.java
@@ -2,14 +2,34 @@ package unipotsdam.gf.modules.groupfinding.service;
 
 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.user.User;
+import unipotsdam.gf.core.management.util.ResultSetUtil;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 
+import javax.annotation.ManagedBean;
+import javax.annotation.Resource;
+import javax.inject.Inject;
+import javax.inject.Singleton;
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Objects;
 
+@ManagedBean
+@Resource
+@Singleton
 public class GroupDAO {
 
+    private MysqlConnect connect;
+
+    @Inject
+    public GroupDAO(MysqlConnect connect) {
+        this.connect = connect;
+    }
+
     public ArrayList<String> getStudentsInSameGroupAs(StudentIdentifier student) {
-        MysqlConnect connect = new MysqlConnect();
         connect.connect();
         ArrayList<String> result = new ArrayList<>();
         Integer groupId;
@@ -22,13 +42,101 @@ public class GroupDAO {
         VereinfachtesResultSet vereinfachtesResultSet2 =
                 connect.issueSelectStatement(mysqlRequest2, groupId);
         boolean next2 = vereinfachtesResultSet2.next();
-        while(next2){
+        while (next2) {
             String peer = vereinfachtesResultSet2.getString("studentId");
-            if (!peer.equals( student.getStudentId()))
+            if (!peer.equals(student.getStudentId()))
                 result.add(peer);
-            next2=vereinfachtesResultSet2.next();
+            next2 = vereinfachtesResultSet2.next();
         }
         connect.close();
         return result;
     }
+
+    public void persist(Group group) {
+        connect.connect();
+        List<Group> existingGroups = getExistingEntriesOfGroups(group.getProjectId());
+
+        String mysqlRequestGroup = "INSERT INTO groups (`projectId`,`chatRoomId`) values (?,?)";
+        connect.issueInsertOrDeleteStatement(mysqlRequestGroup, group.getProjectId(), group.getChatRoomId());
+
+        List<Group> existingGroupsWithNewEntry = getExistingEntriesOfGroups(group.getProjectId());
+        existingGroupsWithNewEntry.removeAll(existingGroups);
+        group.setId(existingGroupsWithNewEntry.get(0).getId());
+        for (User groupMember : group.getMembers()) {
+            String mysqlRequest2 = "INSERT INTO groupuser (`studentId`, `projectId`, `groupId`) values (?,?,?)";
+            connect.issueInsertOrDeleteStatement(mysqlRequest2, groupMember.getEmail(), group.getProjectId(), group.getId());
+        }
+        connect.close();
+
+    }
+
+    public void update(Group group) {
+        connect.connect();
+        String mysqlRequest = "UPDATE groups SET projectId = ?, chatRoomId = ? where id = ?";
+        connect.issueUpdateStatement(mysqlRequest, group.getProjectId(), group.getChatRoomId(), group.getId());
+        connect.close();
+        // TODO: implement update of groupuser if needed later (if member list need to be updated)
+    }
+
+
+    public Boolean exists(Group group) {
+        List<Group> existingGroups = getGroupsByProjectId(group.getProjectId());
+        return existingGroups.contains(group);
+    }
+
+    public void addGroupMember(User groupMember, int groupId) {
+        // TODO: implement
+    }
+
+    public void deleteGroupMember(User groupMember, int groupId) {
+        // TODO: implement
+    }
+
+    public List<Group> getGroupsByProjectId(String projectId) {
+        connect.connect();
+        String mysqlRequest = "SELECT * FROM groups g " +
+                "JOIN groupuser gu ON g.id=gu.groupId " + "JOIN users u ON gu.studentId=u.email " +
+                "where g.projectId = ?";
+        VereinfachtesResultSet vereinfachtesResultSet =
+                connect.issueSelectStatement(mysqlRequest, projectId);
+        if (Objects.isNull(vereinfachtesResultSet)) {
+            connect.close();
+            return Collections.emptyList();
+        }
+        HashMap<Integer, Group> groupHashMap = new HashMap<>();
+        while (vereinfachtesResultSet.next()) {
+            fillGroupFromResultSet(vereinfachtesResultSet, groupHashMap);
+        }
+        ArrayList<Group> groups = new ArrayList<>();
+        groupHashMap.forEach((key, group) -> groups.add(group));
+        connect.close();
+        return groups;
+    }
+
+    private void fillGroupFromResultSet(VereinfachtesResultSet vereinfachtesResultSet, HashMap<Integer, Group> existingGroups) {
+        int id = vereinfachtesResultSet.getInt("id");
+        if (existingGroups.containsKey(id)) {
+            existingGroups.get(id).addMember(ResultSetUtil.getUserFromResultSet(vereinfachtesResultSet));
+        } else {
+            String projectId = vereinfachtesResultSet.getString("projectId");
+            User user = ResultSetUtil.getUserFromResultSet(vereinfachtesResultSet);
+            String chatRoomId = vereinfachtesResultSet.getString("chatRoomId");
+            ArrayList<User> userList = new ArrayList<>(Collections.singletonList(user));
+            Group group = new Group(id, userList, projectId, chatRoomId);
+            existingGroups.put(id, group);
+        }
+    }
+
+    private List<Group> getExistingEntriesOfGroups(String projectId) {
+        String mysqlExistingGroup = "SELECT * FROM groups WHERE projectId = ?";
+        VereinfachtesResultSet resultSet = connect.issueSelectStatement(mysqlExistingGroup, projectId);
+        ArrayList<Group> existingGroups = new ArrayList<>();
+        while (resultSet.next()) {
+            int id = resultSet.getInt("id");
+            Group existingGroup = new Group(id, projectId);
+            existingGroups.add(existingGroup);
+        }
+        return existingGroups;
+    }
+
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/view/GroupView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/view/GroupView.java
index 0a9f8c6602e980ec97825126b7f322cad1bb9719..c55f53a85fad03f054c1d6f9ff9b0e6a4c93b66b 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/view/GroupView.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/view/GroupView.java
@@ -3,14 +3,20 @@ package unipotsdam.gf.modules.groupfinding.view;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.groupfinding.GroupfindingImpl;
 
-import javax.ws.rs.*;
+import javax.inject.Inject;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import java.io.IOException;
 import java.util.ArrayList;
 
 @Path("/group")
 public class GroupView {
-    private GroupfindingImpl groupfinding = new GroupfindingImpl();
+
+    @Inject
+    private GroupfindingImpl groupfinding;
 
     @GET
     @Produces(MediaType.APPLICATION_JSON)
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/EPortfolio.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/EPortfolio.java
index be23df134dd8e3f8f8c56d6c04f5e118fba3bf01..317b9b696b723f7a2adfd97dde34ffe9084b12dd 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/EPortfolio.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/EPortfolio.java
@@ -17,7 +17,6 @@ public class EPortfolio {
     private ResearchReport report;
 
 
-
     public EPortfolio() {
     }
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImpl.java
index a0561e81639ef40ef3d2394980c90c618680c381..f721812474ae2df9256dbc49e212319a61af6af6 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImpl.java
@@ -17,7 +17,7 @@ public class JournalDAOImpl implements JournalDAO {
     public void createJournal(Journal journal) {
         // create a new id if we found no id.
         String uuid = UUID.randomUUID().toString();
-        while (JournalUtils.existsId(uuid,"journals")) {
+        while (JournalUtils.existsId(uuid, "journals")) {
             uuid = UUID.randomUUID().toString();
         }
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/LinkDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/LinkDAO.java
index be43ba44bf7706b582fdfdd2f07d460ab94c13bd..8cbe3950240942d2393abf75add54e51e1848eba 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/LinkDAO.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/LinkDAO.java
@@ -7,8 +7,11 @@ import java.util.ArrayList;
 public interface LinkDAO {
 
     void addLink(Link link);
+
     void deleteLink(String linkId);
+
     Link getLink(String linkId);
+
     ArrayList<Link> getAllLinks(String descriptionID);
 
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/LinkDAOImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/LinkDAOImpl.java
index 3b7ff8613a52c7c616b82cc91be9ba514dba42e5..6b81361f1b92a27441f2ee22e43653cdf86acb3a 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/LinkDAOImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/LinkDAOImpl.java
@@ -8,13 +8,13 @@ import unipotsdam.gf.modules.journal.util.JournalUtils;
 import java.util.ArrayList;
 import java.util.UUID;
 
-public class LinkDAOImpl implements LinkDAO{
+public class LinkDAOImpl implements LinkDAO {
 
     @Override
     public void addLink(Link link) {
         // create a new id
         String uuid = UUID.randomUUID().toString();
-        while (JournalUtils.existsId(uuid,"links")) {
+        while (JournalUtils.existsId(uuid, "links")) {
             uuid = UUID.randomUUID().toString();
         }
 
@@ -24,7 +24,7 @@ public class LinkDAOImpl implements LinkDAO{
 
         // build and execute request
         String request = "INSERT INTO links (`id`, `projecdesription`, `name`, `link`) VALUES (?,?,?,?);";
-        connection.issueInsertOrDeleteStatement(request, uuid, link.getProjectDescription(),link.getName(),link.getLink());
+        connection.issueInsertOrDeleteStatement(request, uuid, link.getProjectDescription(), link.getName(), link.getLink());
 
         //close connection
         connection.close();
@@ -103,7 +103,7 @@ public class LinkDAOImpl implements LinkDAO{
         String project = rs.getString("projecdesription");
         String name = rs.getString("name");
         String link = rs.getString("link");
-        return new Link(id,project,name,link);
+        return new Link(id, project, name, link);
     }
 
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionDAO.java
index 0ebb749d4cf824e02a95646123595c3b2b0fc1b0..faa7591a1b1aa5b52b8442a2649fcc4704a704c0 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionDAO.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionDAO.java
@@ -9,11 +9,15 @@ import java.util.ArrayList;
 public interface ProjectDescriptionDAO {
 
     void createDescription(ProjectDescription projectDescription);
+
     void updateDescription(ProjectDescription projectDescription);
+
     ProjectDescription getDescription(StudentIdentifier projectDescription);
 
     ProjectDescription getDescription(String id);
+
     void deleteDescription(StudentIdentifier projectDescription);
+
     void closeDescription(String projectDescriptionId);
 
     ArrayList<String> getOpenDescriptions(Project project);
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionDAOImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionDAOImpl.java
index 6bd193c998db83cb1cf0a8d18d5c0703e5a24f51..d473afdc6435ebee06239e6f5a53bde5fb802aa4 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionDAOImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionDAOImpl.java
@@ -17,7 +17,7 @@ public class ProjectDescriptionDAOImpl implements ProjectDescriptionDAO {
     public void createDescription(ProjectDescription projectDescription) {
         // create a new id
         String uuid = UUID.randomUUID().toString();
-        while (JournalUtils.existsId(uuid,"projectdescription")) {
+        while (JournalUtils.existsId(uuid, "projectdescription")) {
             uuid = UUID.randomUUID().toString();
         }
 
@@ -27,7 +27,8 @@ public class ProjectDescriptionDAOImpl implements ProjectDescriptionDAO {
 
         // build and execute request
         String request = "INSERT INTO projectdescription(`id`, `studentId`, `projectId`, `text`, `open`) VALUES (?,?,?,?,?);";
-        connection.issueInsertOrDeleteStatement(request, uuid, projectDescription.getStudent().getStudentId(),projectDescription.getStudent().getProjectId(),projectDescription.getDescriptionMD(),true);
+        connection.issueInsertOrDeleteStatement(request, uuid, projectDescription.getStudent().getStudentId(),
+                projectDescription.getStudent().getProjectId(), projectDescription.getDescriptionMD(), true);
 
         //close connection
         connection.close();
@@ -56,7 +57,8 @@ public class ProjectDescriptionDAOImpl implements ProjectDescriptionDAO {
 
         // build and execute request
         String request = "SELECT * FROM projectdescription WHERE studentId = ? AND projectId = ?;";
-        VereinfachtesResultSet rs = connection.issueSelectStatement(request, studentIdentifier.getStudentId(),studentIdentifier.getProjectId());
+        VereinfachtesResultSet rs = connection.issueSelectStatement(request, studentIdentifier.getStudentId(),
+                studentIdentifier.getProjectId());
 
         if (rs != null && rs.next()) {
 
@@ -112,7 +114,7 @@ public class ProjectDescriptionDAOImpl implements ProjectDescriptionDAO {
 
         // build and execute request
         String request = "DELETE FROM projectdescription WHERE studentId = ? AND projectId = ?;";
-        connection.issueInsertOrDeleteStatement(request, studentIdentifier.getStudentId(),studentIdentifier.getProjectId());
+        connection.issueInsertOrDeleteStatement(request, studentIdentifier.getStudentId(), studentIdentifier.getProjectId());
 
         // close connection
         connection.close();
@@ -164,7 +166,7 @@ public class ProjectDescriptionDAOImpl implements ProjectDescriptionDAO {
         String text = rs.getString("text");
         boolean open = rs.getBoolean("open");
 
-        return new ProjectDescription(id,author,text,project,new ArrayList<>(), timestamp, open);
+        return new ProjectDescription(id, author, text, project, new ArrayList<>(), timestamp, open);
     }
 
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/IJournalImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/IJournalImpl.java
index 1ed2a87685fb252f1fcf5e8f79f7e0c6ae15b355..d4bd609495878594a8bae532202d5702a17e6a99 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/IJournalImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/IJournalImpl.java
@@ -1,25 +1,21 @@
 package unipotsdam.gf.modules.journal.service;
 
-import com.qkyrie.markdown2pdf.Markdown2PdfConverter;
-import com.qkyrie.markdown2pdf.internal.exceptions.ConversionException;
-import com.qkyrie.markdown2pdf.internal.exceptions.Markdown2PdfLogicException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.states.model.ConstraintsMessages;
 import unipotsdam.gf.interfaces.IJournal;
-import unipotsdam.gf.interfaces.ResearchReports;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.EPortfolio;
 import unipotsdam.gf.modules.journal.model.Journal;
-import unipotsdam.gf.modules.peer2peerfeedback.Category;
 import unipotsdam.gf.modules.researchreport.ResearchReport;
 
 import java.io.File;
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
-import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 public class IJournalImpl implements IJournal {
 
@@ -28,11 +24,13 @@ public class IJournalImpl implements IJournal {
     private final JournalService journalService = new JournalServiceImpl();
     private final ProjectDescriptionService descriptionService = new ProjectDescriptionImpl();
 
-    private final SimpleDateFormat jdf = new SimpleDateFormat("dd.MM.yyyy HH:mm");
 
     @Override
-    public Boolean getPortfoliosForEvaluationPrepared(Project project) {
-        return descriptionService.checkIfAllDescriptionsClosed(project) && journalService.checkIfAllJournalClosed(project);
+    public Map<StudentIdentifier, ConstraintsMessages> getPortfoliosForEvaluationPrepared(Project project) {
+        Map<StudentIdentifier, ConstraintsMessages> result =new HashMap<>();
+        result.putAll(descriptionService.checkIfAllDescriptionsClosed(project));
+        result.putAll(journalService.checkIfAllJournalClosed(project));
+        return result;
     }
 
 
@@ -62,162 +60,26 @@ public class IJournalImpl implements IJournal {
 
     @Override
     public void uploadJournalEntry(Journal journalEntry, User student) {
-        journalService.saveJournal("0",student.getId(),journalEntry.getStudentIdentifier().getProjectId(),journalEntry.getEntryMD(),journalEntry.getVisibility().toString(),journalEntry.getCategory().toString());
+        //TODO
     }
 
     @Override
     public void uploadFinalPortfolio(Project project, List<Journal> journalEntries, ResearchReport finalResearchReport, File presentation, User user) {
-        //TODO for version 2
+        //TODO
     }
 
     @Override
     public EPortfolio getFinalPortfolioForAssessment(Project project, User user) {
 
-        return getPortfolio(project.getId(), user.getId());
-    }
-
-    @Override
-    public EPortfolio getPortfolio(String project, String user) {
-
         EPortfolio result = new EPortfolio();
-        StudentIdentifier studentIdentifier = new StudentIdentifier(project, user);
-        ResearchReports researchReports /*TODO = ??*/;
+        StudentIdentifier studentIdentifier = new StudentIdentifier(project.getId(), user.getId());
 
         result.setDescription(descriptionService.getProjectByStudent(studentIdentifier));
-        result.setJournals(journalService.getAllJournals(user, project));
-        /*
-        TODO wenn von Quark implementiert
-        result.setReport(getReports(new StudentIdentifier(project,user));
-         */
+        result.setJournals(journalService.getAllJournals(user.getId(), project.getId()));
+        //TODO result.setReport(...);
 
         return result;
     }
 
-    @Override
-    public byte[] exportPortfolioToPdf(EPortfolio ePortfolio) {
-
-        //IntelliJs solution for lambda statement
-        final byte[][] res = new byte[1][1];
-
-        //Build String
-        String input = ePortfolioToString(ePortfolio);
-
-        //Convert
-        try {
-            Markdown2PdfConverter
-                    .newConverter()
-                    .readFrom(() -> input)
-                    .writeTo(out -> {
-                        res[0] = out;
-                    })
-                    .doIt();
-        } catch (ConversionException | Markdown2PdfLogicException e) {
-            e.printStackTrace();
-        }
-
-        return res[0];
-    }
-
-    //TODO Formatierung
-    private String ePortfolioToString(EPortfolio ePortfolio) {
-
-        StringBuilder result = new StringBuilder();
-
-        //If Description exists, add to pdf
-        if (ePortfolio.getDescription() != null) {
-            result.append("#Portfolio# \n\n");
-            result.append(ePortfolio.getDescription().getDescriptionMD()).append("\n");
-        }
-
-        //If Journals and Report exists combine
-        if (ePortfolio.getReport() != null && ePortfolio.getJournals() != null && !ePortfolio.getJournals().isEmpty()) {
-
-            ArrayList<Journal> journals = ePortfolio.getJournals();
-            ResearchReport researchReport = ePortfolio.getReport();
-
-            //TODO zuordnung Absprechen
-            result.append(researchReport.getTitle()).append("\n");
-            result.append(journalStringByCategory(journals, Category.TITEL));
-
-            result.append(researchReport.getResearchQuestion()).append("\n");
-            result.append(journalStringByCategory(journals, Category.FORSCHUNGSFRAGE));
-
-
-            for (String s : researchReport.getLearningGoals()) {
-                result.append(s).append("\n");
-            }
-
-            result.append(researchReport.getMethod()).append("\n");
-
-            //TODO zuordnung Absprechen
-            result.append(journalStringByCategory(journals, Category.UNTERSUCHUNGSKONZEPT));
-            result.append(journalStringByCategory(journals, Category.METHODIK));
-
-            result.append(researchReport.getResearch()).append("\n");
-            result.append(journalStringByCategory(journals, Category.RECHERCHE));
-
-            result.append(researchReport.getResearchResult()).append("\n");
-            result.append(journalStringByCategory(journals, Category.DURCHFUEHRUNG));
-
-
-            result.append(researchReport.getEvaluation()).append("\n");
-            result.append(journalStringByCategory(journals, Category.AUSWERTUNG));
 
-            //TODO Extract String when implemented
-            result.append(researchReport.getBibliography()).append("\n");
-            result.append(journalStringByCategory(journals, Category.LITERATURVERZEICHNIS));
-
-
-        }
-
-        //if Report but no Journals, add Report
-        else if (ePortfolio.getReport() != null) {
-            ResearchReport report = ePortfolio.getReport();
-
-            result.append(report.getTitle()).append("\n");
-
-            result.append(report.getResearchQuestion()).append("\n");
-
-            for (String s : report.getLearningGoals()) {
-                result.append(s).append("\n");
-            }
-
-            result.append(report.getMethod()).append("\n");
-
-            result.append(report.getResearch()).append("\n");
-
-            result.append(report.getResearchResult()).append("\n");
-
-            result.append(report.getEvaluation()).append("\n");
-
-            //TODO Extract String when implemented
-            result.append(report.getBibliography()).append("\n");
-
-        }
-
-        //If Journal but no Report
-        else if (ePortfolio.getJournals() != null) {
-            result.append("##Lerntagebuch## \n\n");
-
-            for (Journal j : ePortfolio.getJournals()) {
-                result.append(journalAsString(j));
-            }
-        }
-
-        return result.toString();
-    }
-
-    private String journalStringByCategory(ArrayList<Journal> journals, Category c) {
-        StringBuilder str = new StringBuilder();
-        for (Journal j : journals) {
-            if (j.getCategory().equals(c)) {
-                str.append(journalAsString(j));
-            }
-        }
-        return str.toString();
-    }
-
-    private String journalAsString(Journal j) {
-        return jdf.format(new Date(j.getTimestamp())) + " " + j.getCategory() + "\n" + j.getEntryMD() + "\n";
-    }
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalService.java
index be8dc781a90624f648196f0a74a55203ae053215..028ea0315d2862e76b3f4cea05fc9bb61fdeca6f 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalService.java
@@ -2,10 +2,13 @@ package unipotsdam.gf.modules.journal.service;
 
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.states.model.ConstraintsMessages;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.journal.model.JournalFilter;
 
 import java.util.ArrayList;
+import java.util.Map;
 
 /**
  * Service for learning Journal
@@ -57,7 +60,7 @@ public interface JournalService {
 
     void closeJournal(String journal);
 
-    boolean checkIfAllJournalClosed(Project project);
+    Map<StudentIdentifier, ConstraintsMessages> checkIfAllJournalClosed(Project project);
 
     ArrayList<User> getOpenUserByProject(Project project);
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalServiceImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalServiceImpl.java
index e6367199fb8ecea4fc583389ca7cef4b553027d1..d2107460b7435f4a0dafff9521947c31f3049f9e 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalServiceImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/JournalServiceImpl.java
@@ -2,9 +2,11 @@ package unipotsdam.gf.modules.journal.service;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-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.UserDAO;
+import unipotsdam.gf.core.states.model.Constraints;
+import unipotsdam.gf.core.states.model.ConstraintsMessages;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.journal.model.JournalFilter;
@@ -13,13 +15,19 @@ import unipotsdam.gf.modules.journal.model.dao.JournalDAO;
 import unipotsdam.gf.modules.journal.model.dao.JournalDAOImpl;
 import unipotsdam.gf.modules.journal.util.JournalUtils;
 
+import javax.inject.Inject;
 import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
 
 public class JournalServiceImpl implements JournalService {
 
     private final Logger log = LoggerFactory.getLogger(JournalServiceImpl.class);
     private final JournalDAO journalDAO = new JournalDAOImpl();
 
+    @Inject
+    private UserDAO userDAO;
+
     @Override
     public Journal getJournal(String id) {
         return journalDAO.getJournal(id);
@@ -99,20 +107,23 @@ public class JournalServiceImpl implements JournalService {
     }
 
     @Override
-    public boolean checkIfAllJournalClosed(Project project) {
-        return (journalDAO.getOpenJournals(project).size() == 0);
+    public Map<StudentIdentifier, ConstraintsMessages> checkIfAllJournalClosed(Project project) {
+        Map<StudentIdentifier, ConstraintsMessages> result = new HashMap<>();
+        for (String studentId: journalDAO.getOpenJournals(project)) {
+            StudentIdentifier student = new StudentIdentifier(project.getId(), studentId);
+            result.put(student, new ConstraintsMessages(Constraints.JournalOpen, student));
+        }
+        return result;
     }
 
     @Override
     public ArrayList<User> getOpenUserByProject(Project project) {
 
-        ManagementImpl management = new ManagementImpl();
-
         ArrayList<String> userId = journalDAO.getOpenJournals(project);
         ArrayList<User> users = new ArrayList<>();
 
-        for(String id : userId){
-            users.add(management.getUserByToken(id));
+        for (String id : userId) {
+            users.add(userDAO.getUserByToken(id));
         }
         return users;
     }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionImpl.java
index 22ca2a4b63429bdda422f3be7547439caa8c1f0d..312d664d20387986ac32c28c8b16b83d0bba8c43 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionImpl.java
@@ -1,8 +1,10 @@
 package unipotsdam.gf.modules.journal.service;
 
-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.UserDAO;
+import unipotsdam.gf.core.states.model.Constraints;
+import unipotsdam.gf.core.states.model.ConstraintsMessages;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.Link;
 import unipotsdam.gf.modules.journal.model.ProjectDescription;
@@ -11,18 +13,24 @@ import unipotsdam.gf.modules.journal.model.dao.LinkDAOImpl;
 import unipotsdam.gf.modules.journal.model.dao.ProjectDescriptionDAO;
 import unipotsdam.gf.modules.journal.model.dao.ProjectDescriptionDAOImpl;
 
+import javax.inject.Inject;
 import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
 
 public class ProjectDescriptionImpl implements ProjectDescriptionService {
 
     private final ProjectDescriptionDAO descriptionDAO = new ProjectDescriptionDAOImpl();
     private final LinkDAO linkDAO = new LinkDAOImpl();
 
+    @Inject
+    private UserDAO userDAO;
+
     @Override
     public ProjectDescription getProjectByStudent(StudentIdentifier studentIdentifier) {
 
         //if no description exists (when page is opened for the first time), create a new one
-        if(descriptionDAO.getDescription(studentIdentifier)==null){
+        if (descriptionDAO.getDescription(studentIdentifier) == null) {
             ProjectDescription description = new ProjectDescription("0", studentIdentifier.getStudentId(), "Hier soll ein Turtorialtext stehen", studentIdentifier.getProjectId(), null);
             descriptionDAO.createDescription(description);
         }
@@ -50,7 +58,7 @@ public class ProjectDescriptionImpl implements ProjectDescriptionService {
 
     @Override
     public void addLink(String project, String link, String name) {
-        Link newLink = new Link(project,project,name,link);
+        Link newLink = new Link(project, project, name, link);
         linkDAO.addLink(newLink);
     }
 
@@ -65,19 +73,24 @@ public class ProjectDescriptionImpl implements ProjectDescriptionService {
     }
 
     @Override
-    public boolean checkIfAllDescriptionsClosed(Project project) {
-        return (descriptionDAO.getOpenDescriptions(project).size() == 0);
+    public Map<StudentIdentifier, ConstraintsMessages> checkIfAllDescriptionsClosed(Project project) {
+        ArrayList<String> missingStudents = descriptionDAO.getOpenDescriptions(project);
+        Map<StudentIdentifier, ConstraintsMessages> result = new HashMap<>();
+        for (String studentId: missingStudents) {
+            StudentIdentifier student = new StudentIdentifier(project.getId(), studentId);
+            result.put(student, new ConstraintsMessages(Constraints.DescriptionsOpen, student));
+        }
+        return result;
     }
 
     @Override
     public ArrayList<User> getOpenUserByProject(Project project) {
-        ManagementImpl management = new ManagementImpl();
 
         ArrayList<String> userId = descriptionDAO.getOpenDescriptions(project);
         ArrayList<User> users = new ArrayList<>();
 
-        for(String id : userId){
-            users.add(management.getUserByToken(id));
+        for (String id : userId) {
+            users.add(userDAO.getUserByToken(id));
         }
         return users;
     }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionService.java
index a99aef7d96d10670e5e6b580481b5df727a543cf..b3f82feb121bf44082780ed81197ef08762fed69 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionService.java
@@ -2,10 +2,12 @@ package unipotsdam.gf.modules.journal.service;
 
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.states.model.ConstraintsMessages;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.ProjectDescription;
 
 import java.util.ArrayList;
+import java.util.Map;
 
 /**
  * Service for learning Journal
@@ -17,6 +19,7 @@ public interface ProjectDescriptionService {
     ProjectDescription getProjectByStudent(StudentIdentifier studentIdentifier);
 
     ProjectDescription getProjectById(String id);
+
     void saveProjectText(StudentIdentifier studentIdentifier, String text);
 
     void addLink(String project, String link, String name);
@@ -25,7 +28,7 @@ public interface ProjectDescriptionService {
 
     void closeDescription(String projectDescriptionId);
 
-    boolean checkIfAllDescriptionsClosed(Project project);
+    Map<StudentIdentifier, ConstraintsMessages> checkIfAllDescriptionsClosed(Project project);
 
     ArrayList<User> getOpenUserByProject(Project project);
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/util/JournalUtils.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/util/JournalUtils.java
index 696edc376fbc08b3ffdbda93e55ccc26e686918c..eac4fc69f0ec34351ac0fae892565852d0f5e5c7 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/util/JournalUtils.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/util/JournalUtils.java
@@ -66,8 +66,8 @@ public class JournalUtils {
         connection.connect();
 
         // build and execute request
-        String request = "SELECT COUNT(*) > 0 AS `exists` FROM " + table+ " WHERE id = ?;";
-        VereinfachtesResultSet rs = connection.issueSelectStatement(request,id);
+        String request = "SELECT COUNT(*) > 0 AS `exists` FROM " + table + " WHERE id = ?;";
+        VereinfachtesResultSet rs = connection.issueSelectStatement(request, id);
         JournalUtils.log.debug("query: " + rs.toString());
         if (rs.next()) {
             // save the response
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/JournalView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/JournalView.java
index 622af9dc3adf37727a837b95e38b64a2e69e64f7..10927a32b16166f8f2ffc54ecf3aff9f4ba1baef 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/JournalView.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/JournalView.java
@@ -8,7 +8,13 @@ import unipotsdam.gf.modules.journal.model.JournalFilter;
 import unipotsdam.gf.modules.journal.service.JournalService;
 import unipotsdam.gf.modules.journal.service.JournalServiceImpl;
 
-import javax.ws.rs.*;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.FormParam;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import java.net.URI;
@@ -60,8 +66,8 @@ public class JournalView {
 
         log.debug(">>> getJournals: student=" + student + " project=" + project +" filter="  + filter  );
 
-        JournalFilter journalFilter = (filter.equals("ALL")) ? JournalFilter.ALL:JournalFilter.OWN;
-        ArrayList<Journal> result = journalService.getAllJournals(student,project,journalFilter);
+        JournalFilter journalFilter = (filter.equals("ALL")) ? JournalFilter.ALL : JournalFilter.OWN;
+        ArrayList<Journal> result = journalService.getAllJournals(student, project, journalFilter);
 
         log.debug(">>> getJournals: size=" + result.size());
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/ProjectDescriptionView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/ProjectDescriptionView.java
index f106477e8c07760811a3b85d8cde21d8a1240489..bf9d1d94e89660199e114755707c82225c198734 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/ProjectDescriptionView.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/view/ProjectDescriptionView.java
@@ -7,7 +7,13 @@ import unipotsdam.gf.modules.journal.model.ProjectDescription;
 import unipotsdam.gf.modules.journal.service.ProjectDescriptionImpl;
 import unipotsdam.gf.modules.journal.service.ProjectDescriptionService;
 
-import javax.ws.rs.*;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.FormParam;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import java.net.URI;
@@ -28,7 +34,7 @@ public class ProjectDescriptionView {
     @GET
     @Produces(MediaType.APPLICATION_JSON)
     @Path("{project}/{student}")
-    public Response getProjectDescription(@PathParam("project") String project, @PathParam("student") String student){
+    public Response getProjectDescription(@PathParam("project") String project, @PathParam("student") String student) {
         log.debug(">>> getProjectDescription: " + project + "/" + student);
 
         ProjectDescription result = descriptionService.getProjectByStudent(new StudentIdentifier(project, student));
@@ -44,7 +50,7 @@ public class ProjectDescriptionView {
     @Path("/saveText")
     public Response saveProjectText(@FormParam("student") String student, @FormParam("project") String project, @FormParam("text") String text) {
         log.debug(">>> saveText: " + text);
-        descriptionService.saveProjectText(new StudentIdentifier(project,student),text);
+        descriptionService.saveProjectText(new StudentIdentifier(project, student), text);
 
         try {
             URI location = new URI("../pages/eportfolio.jsp?token=" + student + "&projectId=" + project);
@@ -66,15 +72,15 @@ public class ProjectDescriptionView {
     @POST
     @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
     @Path("/addLink")
-    public Response addLink(@FormParam("link") String link, @FormParam("name") String name, @FormParam("projectdescriptionId") String project){
+    public Response addLink(@FormParam("link") String link, @FormParam("name") String name, @FormParam("projectdescriptionId") String project) {
         log.debug(">>> addLink: " + name + ":" + link);
 
         ProjectDescription desc = descriptionService.getProjectById(project);
-        descriptionService.addLink(project,link, name );
+        descriptionService.addLink(project, link, name);
 
 
         try {
-            URI location = new URI("../pages/eportfolio.jsp?token="+ desc.getStudent().getStudentId()+"&projectId="+desc.getStudent().getProjectId());
+            URI location = new URI("../pages/eportfolio.jsp?token=" + desc.getStudent().getStudentId() + "&projectId=" + desc.getStudent().getProjectId());
             log.debug("<<< addLink: redirect to "  +location.toString());
             return Response.temporaryRedirect(location).build();
 
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 0bf9d071c9cdeed87676e3570771afc632324aca..17de8fdc1aff64ed9523f44f2fdf19b03bea0b64 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/DummyFeedback.java
@@ -6,12 +6,17 @@ import unipotsdam.gf.assignments.Assignee;
 import unipotsdam.gf.assignments.NotImplementedLogger;
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.states.model.Constraints;
+import unipotsdam.gf.core.states.model.ConstraintsMessages;
 import unipotsdam.gf.interfaces.Feedback;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.peer2peerfeedback.peerfeedback.Model.Peer2PeerFeedback;
 import unipotsdam.gf.modules.researchreport.ResearchReport;
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
 
 public class DummyFeedback implements Feedback {
 
@@ -21,7 +26,7 @@ public class DummyFeedback implements Feedback {
     PodamFactory factory = new PodamFactoryImpl();
 
     private static Boolean missingTaskAssigned = false;
-    private Boolean constraintsFulfilled = false;
+    private Map<StudentIdentifier, Constraints> openTasks;
 
 
     public DummyFeedback() {
@@ -34,7 +39,9 @@ public class DummyFeedback implements Feedback {
         return null;
     }
 
-    public Peer2PeerFeedback createPeer2PeerFeedback (Peer2PeerFeedback feedback){return null; }
+    public Peer2PeerFeedback createPeer2PeerFeedback(Peer2PeerFeedback feedback) {
+        return null;
+    }
 
     @Override
     public Boolean giveFeedback(Peer2PeerFeedback feedback, ResearchReport document) {
@@ -52,12 +59,12 @@ public class DummyFeedback implements Feedback {
     }
 
     @Override
-    public Boolean checkFeedbackConstraints(Project project) {
+    public Map<StudentIdentifier, ConstraintsMessages> checkFeedbackConstraints(Project project) {
         // TODO implement constraints
         NotImplementedLogger.logAssignment(Assignee.KATHARINA, Feedback.class, "check Feedback constraints",
                 "checking feedback constraints ");
-        constraintsFulfilled = true;
-        return constraintsFulfilled;
+        Map<StudentIdentifier, ConstraintsMessages> result = new HashMap<>();
+        return result;
     }
 
     @Override
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/peerfeedback/Controller/PeerFeedbackController.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/peerfeedback/Controller/PeerFeedbackController.java
index f7b899b487b07220779ccf5674bd0d1d8d259b23..6bb4d2aa957fa5d83eb5337700b503de7fb058e4 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/peerfeedback/Controller/PeerFeedbackController.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/peerfeedback/Controller/PeerFeedbackController.java
@@ -60,13 +60,13 @@ public class PeerFeedbackController {
             System.out.print(feedback);
 
             return feedback;
-       } else {
+        } else {
 
             // close connection
             connection.close();
-           System.out.print("null");
-           return null;
-       }
+            System.out.print("null");
+            return null;
+        }
 
     }
 
@@ -107,6 +107,6 @@ public class PeerFeedbackController {
         //AnnotationBody body = new AnnotationBody(title, comment, startCharacter, endCharacter);
 
         //return new Peer2PeerFeedback("id", 1234, Category.TITEL, "reciever", "sender", "test", "filename");
-        return new Peer2PeerFeedback(id,timestamp,Category.TITEL,reciever, sender, text, filename);
+        return new Peer2PeerFeedback(id, timestamp, Category.TITEL, reciever, sender, text, filename);
     }
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/peerfeedback/Model/Peer2PeerFeedback.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/peerfeedback/Model/Peer2PeerFeedback.java
index 3974138735cb7cba9b824310fcdad5b2eee9e079..4be64ce4e8435d110a7b733c79f63583bec36ea8 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/peerfeedback/Model/Peer2PeerFeedback.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/peerfeedback/Model/Peer2PeerFeedback.java
@@ -1,17 +1,15 @@
 package unipotsdam.gf.modules.peer2peerfeedback.peerfeedback.Model;
 
-import unipotsdam.gf.core.management.user.User;
 import unipotsdam.gf.modules.peer2peerfeedback.Category;
-import static unipotsdam.gf.view.MarkdownUtils.convertMarkdownToHtml;
 
-import java.io.File;
+import static unipotsdam.gf.view.MarkdownUtils.convertMarkdownToHtml;
 
 /**
- Peer2PeerFeedback Object
- created by Katharina
+ * Peer2PeerFeedback Object
+ * created by Katharina
  */
 
-public class Peer2PeerFeedback{
+public class Peer2PeerFeedback {
 
 
     private String id;
@@ -32,17 +30,25 @@ public class Peer2PeerFeedback{
         this.filename = filename;
     }
 
-    public Peer2PeerFeedback(){
+    public Peer2PeerFeedback() {
 
     }
 
-    public String getID() { return id; }
+    public String getID() {
+        return id;
+    }
 
-    public void setID(String id) { this.id = id; }
+    public void setID(String id) {
+        this.id = id;
+    }
 
-    public long getTimestamp() { return timestamp; }
+    public long getTimestamp() {
+        return timestamp;
+    }
 
-    public void setTimestamp(long timestamp) { this.timestamp = timestamp; }
+    public void setTimestamp(long timestamp) {
+        this.timestamp = timestamp;
+    }
 
     public Category getFeedbackcategory() {
         return category;
@@ -52,13 +58,21 @@ public class Peer2PeerFeedback{
         this.category = category;
     }
 
-    public String getText() { return text; }
+    public String getText() {
+        return text;
+    }
 
-    public void setText(String text) { this.text = text; }
+    public void setText(String text) {
+        this.text = text;
+    }
 
-    public String getFilename() { return filename; }
+    public String getFilename() {
+        return filename;
+    }
 
-    public void setFilename(String filename) { this.filename = filename; }
+    public void setFilename(String filename) {
+        this.filename = filename;
+    }
 
     public String getFeedbacksender() {
         return sender;
@@ -76,7 +90,7 @@ public class Peer2PeerFeedback{
         this.receiver = receiver;
     }
 
-    
+
     @Override
     public String toString() {
         return "Peer2PeerFeedback{" +
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/peerfeedback/View/PeerFeedbackView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/peerfeedback/View/PeerFeedbackView.java
index 90f0f0519bb334fce5818a3c1fd12220cdb96536..dd0c40444b40df66676016395324110f477ba542 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/peerfeedback/View/PeerFeedbackView.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/peer2peerfeedback/peerfeedback/View/PeerFeedbackView.java
@@ -1,13 +1,16 @@
 package unipotsdam.gf.modules.peer2peerfeedback.peerfeedback.View;
 
-import com.sun.tools.xjc.model.Model;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import unipotsdam.gf.modules.peer2peerfeedback.Category;
-import unipotsdam.gf.modules.peer2peerfeedback.peerfeedback.Model.Peer2PeerFeedback;
 import unipotsdam.gf.modules.peer2peerfeedback.peerfeedback.Controller.PeerFeedbackController;
+import unipotsdam.gf.modules.peer2peerfeedback.peerfeedback.Model.Peer2PeerFeedback;
 
-import javax.ws.rs.*;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.FormParam;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import java.util.ArrayList;
@@ -26,7 +29,7 @@ public class PeerFeedbackView {
     @POST
     @Path("/save")
     public Response createPeerfeedback(@FormParam("text") String text, @FormParam("student") String student, @FormParam("id") String id, @FormParam("reciever") String reciever,
-                                        @FormParam("sender") String sender, @FormParam("filename") String filename, @FormParam("category") Category category, @FormParam("timestamp") Long timestamp) {
+                                       @FormParam("sender") String sender, @FormParam("filename") String filename, @FormParam("category") Category category, @FormParam("timestamp") Long timestamp) {
 
         // save peerfeedback request in database and receive the new peerfeedback object
         //PeerFeedbackController controller = new PeerFeedbackController();
@@ -46,7 +49,7 @@ public class PeerFeedbackView {
     @GET
     @Produces(MediaType.APPLICATION_JSON)
     @Path("{sender}")
-    public Response getPeerfeedback(@PathParam("sender") String sender){
+    public Response getPeerfeedback(@PathParam("sender") String sender) {
 
         PeerFeedbackController controller = new PeerFeedbackController();
         ArrayList<Peer2PeerFeedback> fd = controller.getAllFeedbacks(sender);
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/controller/SubmissionController.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/controller/SubmissionController.java
index 7f5b6a30279d55b5157c0b31ee285e68c077f528..a71ab3a33775d836252b4cdb2327db9b26803131 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/controller/SubmissionController.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/controller/SubmissionController.java
@@ -5,9 +5,13 @@ import unipotsdam.gf.core.database.mysql.MysqlConnect;
 import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
 import unipotsdam.gf.interfaces.ISubmission;
 import unipotsdam.gf.modules.peer2peerfeedback.Category;
-import unipotsdam.gf.modules.submission.model.*;
+import unipotsdam.gf.modules.submission.model.FullSubmission;
+import unipotsdam.gf.modules.submission.model.FullSubmissionPostRequest;
+import unipotsdam.gf.modules.submission.model.SubmissionPart;
+import unipotsdam.gf.modules.submission.model.SubmissionPartBodyElement;
+import unipotsdam.gf.modules.submission.model.SubmissionPartPostRequest;
+import unipotsdam.gf.modules.submission.model.SubmissionProjectRepresentation;
 
-import java.sql.PreparedStatement;
 import java.util.ArrayList;
 import java.util.UUID;
 
@@ -62,8 +66,7 @@ public class SubmissionController implements ISubmission {
             connection.close();
 
             return fullSubmission;
-        }
-        else {
+        } else {
 
             // close connection
             connection.close();
@@ -94,8 +97,7 @@ public class SubmissionController implements ISubmission {
             // return true if we found the id
             if (count < 1) {
                 return false;
-            }
-            else {
+            } else {
                 return true;
             }
         }
@@ -211,8 +213,7 @@ public class SubmissionController implements ISubmission {
                 connection.close();
 
                 return submissionPart;
-            }
-            else {
+            } else {
                 // close connection
                 connection.close();
 
@@ -322,8 +323,7 @@ public class SubmissionController implements ISubmission {
             // return true if we found the id
             if (count < 1) {
                 return false;
-            }
-            else {
+            } else {
                 return true;
             }
         }
@@ -419,11 +419,11 @@ public class SubmissionController implements ISubmission {
 
                 // build submission part with empty body
                 tmpPart = new SubmissionPart(
-                    rs.getTimestamp("timestamp").getTime(),
-                    rs.getString("userId"),
-                    rs.getString("fullSubmissionId"),
-                    Category.valueOf(tmpCategory),
-                    new ArrayList<SubmissionPartBodyElement>()
+                        rs.getTimestamp("timestamp").getTime(),
+                        rs.getString("userId"),
+                        rs.getString("fullSubmissionId"),
+                        Category.valueOf(tmpCategory),
+                        new ArrayList<SubmissionPartBodyElement>()
                 );
             }
 
@@ -466,9 +466,9 @@ public class SubmissionController implements ISubmission {
      * Calculates how many similar body elements (based on start and end character) can be found in the database
      *
      * @param fullSubmissionId The id of the full submission
-     * @param category The category of the submission part
-     * @param startCharacter The start character of the new element
-     * @param endCharacter The end character of the old element
+     * @param category         The category of the submission part
+     * @param startCharacter   The start character of the new element
+     * @param endCharacter     The end character of the old element
      * @return Return 0 if there are no similar elements, 2 if we found two similar elements (right and left side),
      * 1 if we found a similar element on the right side and -1 if we found a similar element on the left side.
      */
@@ -501,14 +501,12 @@ public class SubmissionController implements ISubmission {
 
                     if (side == 1) {
                         return -1;
-                    }
-                    else {
+                    } else {
                         return 1;
                     }
 
                 }
-            }
-            else {
+            } else {
                 // close connection
                 connection.close();
 
@@ -524,8 +522,8 @@ public class SubmissionController implements ISubmission {
      * Checks if a new body element has overlapping boundaries with an already existing element
      *
      * @param fullSubmissionId The id of the full submission
-     * @param category The category
-     * @param element The new element
+     * @param category         The category
+     * @param element          The new element
      * @return Returns true if overlapping boundaries have been found
      */
     private boolean hasOverlappingBoundaries(String fullSubmissionId, Category category, SubmissionPartBodyElement element) {
@@ -554,8 +552,7 @@ public class SubmissionController implements ISubmission {
             // return true if we found the id
             if (count < 1) {
                 return false;
-            }
-            else {
+            } else {
                 return true;
             }
         }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/FullSubmissionPostRequest.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/FullSubmissionPostRequest.java
index 48a2dfe748498fcd1f672ac5eb6ed2bc126af227..5801eeadafbdf2ec701f0efe83bca59474e1b1ca 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/FullSubmissionPostRequest.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/FullSubmissionPostRequest.java
@@ -18,7 +18,8 @@ public class FullSubmissionPostRequest {
         this.projectId = projectId;
     }
 
-    public FullSubmissionPostRequest() {}
+    public FullSubmissionPostRequest() {
+    }
 
     // methods
     public String getUser() {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPart.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPart.java
index 1a0b7644d1f69f2c5490f1bc7ac9ab6111eb6daa..2b420ff9d07a7da0065b301329702180750264b1 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPart.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPart.java
@@ -26,7 +26,8 @@ public class SubmissionPart {
         this.body = body;
     }
 
-    public SubmissionPart(){}
+    public SubmissionPart() {
+    }
 
     // methods
     public long getTimestamp() {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPartBodyElement.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPartBodyElement.java
index 7448d70ab6c9704057c71b257482bf904c74ee0a..b78009ebb5d5b56de9b39f31a52c818f6fb34153 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPartBodyElement.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPartBodyElement.java
@@ -18,7 +18,8 @@ public class SubmissionPartBodyElement {
         this.endCharacter = endCharacter;
     }
 
-    public SubmissionPartBodyElement() {}
+    public SubmissionPartBodyElement() {
+    }
 
     // methods
     public String getText() {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPartPostRequest.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPartPostRequest.java
index 07ac839bb6ca8927c00e5b766d05e1f4a50e6763..20901ed5422229074ee73d1b9f704d1cca7fd994 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPartPostRequest.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionPartPostRequest.java
@@ -24,7 +24,8 @@ public class SubmissionPartPostRequest {
         this.body = body;
     }
 
-    public SubmissionPartPostRequest(){}
+    public SubmissionPartPostRequest() {
+    }
 
     // methods
     public String getUserId() {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionProjectRepresentation.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionProjectRepresentation.java
index 998bc1fb6c567e7d30fa0fa06cd91f3808afcdf6..1058b3ffd81b1d56155222a998eee30655fb6b6b 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionProjectRepresentation.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionProjectRepresentation.java
@@ -16,7 +16,8 @@ public class SubmissionProjectRepresentation {
         this.fullSubmissionId = fullSubmissionId;
     }
 
-    public SubmissionProjectRepresentation(){}
+    public SubmissionProjectRepresentation() {
+    }
 
     // methods
     public String getUser() {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionResponse.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionResponse.java
index 51990953829fab6fde864683722c758e9e5a7d98..0c124f17dcc8ce52fa6992dfca503a7c948d7c61 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionResponse.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/model/SubmissionResponse.java
@@ -14,7 +14,8 @@ public class SubmissionResponse {
         this.message = message;
     }
 
-    public SubmissionResponse(){}
+    public SubmissionResponse() {
+    }
 
     // methods
     public String getMessage() {
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/view/SubmissionService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/view/SubmissionService.java
index 6b6bfd25b9aa141526009e46153c799c87b0acea..f853dba4f30daddbeaaca8633ab344c8bbbeb8e7 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/view/SubmissionService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/submission/view/SubmissionService.java
@@ -2,9 +2,19 @@ package unipotsdam.gf.modules.submission.view;
 
 import unipotsdam.gf.modules.peer2peerfeedback.Category;
 import unipotsdam.gf.modules.submission.controller.SubmissionController;
-import unipotsdam.gf.modules.submission.model.*;
-
-import javax.ws.rs.*;
+import unipotsdam.gf.modules.submission.model.FullSubmission;
+import unipotsdam.gf.modules.submission.model.FullSubmissionPostRequest;
+import unipotsdam.gf.modules.submission.model.SubmissionPart;
+import unipotsdam.gf.modules.submission.model.SubmissionPartPostRequest;
+import unipotsdam.gf.modules.submission.model.SubmissionProjectRepresentation;
+import unipotsdam.gf.modules.submission.model.SubmissionResponse;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import java.util.ArrayList;
@@ -39,8 +49,7 @@ public class SubmissionService {
 
         if (fullSubmission != null) {
             return Response.ok(fullSubmission).build();
-        }
-        else {
+        } else {
             // declare response
             SubmissionResponse response = new SubmissionResponse();
             response.setMessage("Submission with the id '" + fullSubmissionId + "' can't be found");
@@ -68,9 +77,8 @@ public class SubmissionService {
         SubmissionPart submissionPart = controller.getSubmissionPart(fullSubmissionId, Category.valueOf(category.toUpperCase()));
 
         if (submissionPart != null) {
-            return  Response.ok(submissionPart).build();
-        }
-        else {
+            return Response.ok(submissionPart).build();
+        } else {
             // declare response
             SubmissionResponse response = new SubmissionResponse();
             response.setMessage("Submission part with the full submission id '" + fullSubmissionId + "' and the category '" + category.toUpperCase() + "' can't be found");
@@ -88,8 +96,7 @@ public class SubmissionService {
 
         if (parts.size() > 0) {
             return Response.ok(parts).build();
-        }
-        else {
+        } else {
             SubmissionResponse response = new SubmissionResponse();
             response.setMessage("No submission parts found for submission with the id '" + fullSubmissionId + "'");
 
@@ -106,8 +113,7 @@ public class SubmissionService {
 
         if (representations.size() > 0) {
             return Response.ok(representations).build();
-        }
-        else {
+        } else {
             SubmissionResponse response = new SubmissionResponse();
             response.setMessage("No submission parts found for project id '" + projectId + "'");
 
diff --git a/gemeinsamforschen/src/main/webapp/annotation/annotation-document.jsp b/gemeinsamforschen/src/main/webapp/annotation/annotation-document.jsp
index 0e876cb6f11fbe73434b153a6ccb834b0bf61ada..0fe9adc57154f030a6528a91a6cd577bf477c4d0 100644
--- a/gemeinsamforschen/src/main/webapp/annotation/annotation-document.jsp
+++ b/gemeinsamforschen/src/main/webapp/annotation/annotation-document.jsp
@@ -61,7 +61,8 @@
                             </div>
                         </div>
                         <div class="rightcolumn">
-                            <input type="text" id="annotation-search" onkeyup="searchAnnotation()" placeholder="Suchen...">
+                            <input type="text" id="annotation-search" onkeyup="searchAnnotation()"
+                                   placeholder="Suchen...">
                             <div class="rightcontent">
                                 <ol id="annotations">
                                 </ol>
diff --git a/gemeinsamforschen/src/main/webapp/annotation/create-unstructured-annotation.jsp b/gemeinsamforschen/src/main/webapp/annotation/create-unstructured-annotation.jsp
index 4d78a097050806769b7354d62dfb0e18fd2c7561..f544cbfa9fc1d0fed76e5c4149d7e844e57b12ef 100644
--- a/gemeinsamforschen/src/main/webapp/annotation/create-unstructured-annotation.jsp
+++ b/gemeinsamforschen/src/main/webapp/annotation/create-unstructured-annotation.jsp
@@ -1,4 +1,4 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ 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" %>
@@ -12,14 +12,17 @@
     <!-- css - unstructured-annotation -->
     <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" />
+    <link href="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.contextMenu.css" rel="stylesheet"
+          type="text/css"/>
 
     <!-- js - jQuery validation plugin -->
     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.min.js"></script>
     <!-- js - jQuery ui position -->
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js" type="text/javascript"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"
+            type="text/javascript"></script>
     <!-- js - contextMenu script -->
-    <script src="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.contextMenu.js" type="text/javascript"></script>
+    <script src="https://swisnl.github.io/jQuery-contextMenu/dist/jquery.contextMenu.js"
+            type="text/javascript"></script>
     <!-- js - rangy Core -->
     <script src="https://cdnjs.cloudflare.com/ajax/libs/rangy/1.3.0/rangy-core.js" type="text/javascript"></script>
     <!-- js - rangy TextRange Module -->
diff --git a/gemeinsamforschen/src/main/webapp/annotation/css/annotationStyle.css b/gemeinsamforschen/src/main/webapp/annotation/css/annotationStyle.css
index 9e618c7d558bef2e5e8c6e4adcfe93b92e8b7f54..56fe59aba7346e671cdeb28d4fd5d22c844bc1b7 100644
--- a/gemeinsamforschen/src/main/webapp/annotation/css/annotationStyle.css
+++ b/gemeinsamforschen/src/main/webapp/annotation/css/annotationStyle.css
@@ -54,7 +54,7 @@ ol {
     background-color: white;
 }
 .annotation-card:hover {
-    box-shadow: 0 8px 12px 0 rgba(0,0,0,0.2);
+    box-shadow: 0 8px 12px 0 rgba(0, 0, 0, 0.2);
 }
 .annotation-header {
     padding: 5px;
@@ -141,7 +141,8 @@ ol {
 .flex {
     display: flex;
 }
-.flex .container-fluid{
+
+.flex .container-fluid {
     flex: 1;
 }
 .full-height {
@@ -151,6 +152,7 @@ ol {
     float: right;
     margin: 20px;
 }
+
 .leftcontent-buttons-back {
     float: left;
     margin: 20px;
@@ -163,10 +165,12 @@ ol {
 .resize-vertical {
     resize: vertical;
 }
+
 .categoryText {
     color: black;
     font-weight: bold;
 }
+
 #annotation-search {
     width: 100%;
     padding: 5px;
diff --git a/gemeinsamforschen/src/main/webapp/annotation/css/unstructured-annotation.css b/gemeinsamforschen/src/main/webapp/annotation/css/unstructured-annotation.css
index 53ad932cba2ed091225f101c0e1a72c5be1dbc18..aad00e2a4143980c2b24855dc4693a84ff2f303d 100644
--- a/gemeinsamforschen/src/main/webapp/annotation/css/unstructured-annotation.css
+++ b/gemeinsamforschen/src/main/webapp/annotation/css/unstructured-annotation.css
@@ -2,6 +2,7 @@ body, html {
     height: 100vh;
     width: 100vw;
 }
+
 .content-mainpage {
     display: flex;
     box-sizing: border-box;
@@ -9,6 +10,7 @@ body, html {
     height: 100%;
     overflow-y: hidden;
 }
+
 .rightcolumn {
     float: right;
     width: 25%;
@@ -17,6 +19,7 @@ body, html {
     display: inline-block;
     overflow: scroll;
 }
+
 .leftcolumn {
     padding: 10px;
     float: left;
@@ -24,51 +27,63 @@ body, html {
     display: inline-block;
     /* background-color: yellow; */
 }
+
 .rightcontent {
     height: 100%;
 }
+
 .rightcontent ol {
     padding: 0px;
     margin: 0px;
     list-style-type: none;
     height: 100%;
 }
+
 .rightcontent li {
     height: calc((100% - 70px) / 8);
     min-height: 40px;
 }
+
 .leftcontent {
     max-height: 100%;
     display: flex;
     flex-flow: column;
     /* background-color: white; */
 }
+
 .spacing {
     margin-bottom: 10px;
     /* background-color: orange; */
 }
+
 .container-fluid-content {
     display: flex;
     flex-flow: column;
     height: 100%;
 }
+
 .flex {
     display: flex;
 }
-.flex .container-fluid{
+
+.flex .container-fluid {
     flex: 1;
 }
+
 .full-height {
     height: 100%;
 }
+
 .leftcontent-buttons-save {
     float: right;
     margin: 20px;
 }
+
 .leftcontent-text {
     overflow: scroll;
     white-space: pre-line;
 }
+
 .category-card {
     min-height: 30px;
     height: 100%;
@@ -78,6 +93,7 @@ body, html {
     font-size: large;
     overflow: hidden;
 }
+
 .category-card p {
     position: relative;
     float: left;
@@ -86,7 +102,8 @@ body, html {
     transform: translate(-50%, -50%);
     max-width: 100%;
 }
-.not-added{
+
+.not-added {
     border-style: dashed;
     border-color: lightgray;
     color: lightgray;
@@ -95,6 +112,7 @@ body, html {
 .titel {
     background-color: #ba68c8;
 }
+
 .added-titel {
     border-style: solid;
     border-color: #ba68c8;
@@ -104,6 +122,7 @@ body, html {
 .recherche {
     background-color: #7986cb;
 }
+
 .added-recherche {
     border-style: solid;
     border-color: #7986cb;
@@ -113,6 +132,7 @@ body, html {
 .literaturverzeichnis {
     background-color: #4dd0e1;
 }
+
 .added-literaturverzeichnis {
     border-style: solid;
     border-color: #4dd0e1;
@@ -122,6 +142,7 @@ body, html {
 .forschungsfrage {
     background-color: #81c784;
 }
+
 .added-forschungsfrage {
     border-style: solid;
     border-color: #81c784;
@@ -131,6 +152,7 @@ body, html {
 .untersuchungskonzept {
     background-color: #dce775;
 }
+
 .added-untersuchungskonzept {
     border-style: solid;
     border-color: #dce775;
@@ -140,6 +162,7 @@ body, html {
 .methodik {
     background-color: #ffd54f;
 }
+
 .added-methodik {
     border-style: solid;
     border-color: #ffd54f;
@@ -149,6 +172,7 @@ body, html {
 .durchfuehrung {
     background-color: #ff8a65;
 }
+
 .added-durchfuehrung {
     border-style: solid;
     border-color: #ff8a65;
@@ -158,6 +182,7 @@ body, html {
 .auswertung {
     background-color: #a1887f;
 }
+
 .added-auswertung {
     border-style: solid;
     border-color: #a1887f;
diff --git a/gemeinsamforschen/src/main/webapp/annotation/css/unstructured-upload.css b/gemeinsamforschen/src/main/webapp/annotation/css/unstructured-upload.css
index 9b1c11047b5335b7f030735c5730f38debfc1afb..bab0f5b6a075214092dc3f99ba1654da6eeb329e 100644
--- a/gemeinsamforschen/src/main/webapp/annotation/css/unstructured-upload.css
+++ b/gemeinsamforschen/src/main/webapp/annotation/css/unstructured-upload.css
@@ -2,6 +2,7 @@ body, html {
     height: 100vh;
     width: 100vw;
 }
+
 .content-mainpage {
     display: flex;
     box-sizing: border-box;
@@ -10,28 +11,35 @@ body, html {
     overflow-y: scroll;
     flex-flow: column nowrap;
 }
+
 .container-fluid-content {
     display: flex;
     flex-flow: column;
     height: 100%;
 }
+
 .full-height {
     height: 100%;
 }
+
 .flex {
     display: flex;
 }
+
 .document-text-buttons {
     margin-bottom: 15px;
     margin-top: 15px;
     display: inline;
 }
+
 .document-text-buttons-back {
     float: left;
 }
+
 .document-text-buttons-next {
     float: right;
 }
+
 .file-upload-area {
     height: 20%;
 }
@@ -41,18 +49,22 @@ body, html {
     flex-flow: column;
     height: 100%;
 }
+
 .upload-text-textarea {
     resize: none;
     flex: 1;
 }
+
 #upload-textarea-form {
     height: 100%;
     margin-bottom: 15px;
 }
+
 label.error {
     color: red;
 }
-.flex .container-fluid{
+
+.flex .container-fluid {
     flex: 1;
 }
 
diff --git a/gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js b/gemeinsamforschen/src/main/webapp/annotation/js/annotationScript.js
index 54470a0048359ab9324f489e4311aef213b834df..892ea941f27e556ff2878816d8055be647359c9e 100644
--- a/gemeinsamforschen/src/main/webapp/annotation/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="../feedback/give-feedback.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");
     });
 
     /**
diff --git a/gemeinsamforschen/src/main/webapp/annotation/js/annotationWebsocket.js b/gemeinsamforschen/src/main/webapp/annotation/js/annotationWebsocket.js
index 585b09c007d0a3a28bf8c9a802fec7397fbe9974..6d7d807e3f44cc504f211a55dd625debca695365 100644
--- a/gemeinsamforschen/src/main/webapp/annotation/js/annotationWebsocket.js
+++ b/gemeinsamforschen/src/main/webapp/annotation/js/annotationWebsocket.js
@@ -4,7 +4,7 @@ function connect(targetId, targetCategory) {
     var host = document.location.host;
     var pathname = document.location.pathname;
 
-    ws = new WebSocket("ws://" + host  + "/ws/annotation/" + targetId + "/" + targetCategory);
+    ws = new WebSocket("ws://" + host + "/ws/annotation/" + targetId + "/" + targetCategory);
 
     ws.onmessage = function (e) {
         var message = JSON.parse(e.data);
diff --git a/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredAnnotation.js b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredAnnotation.js
index a8ab85a55c8050287ac9228165ec1b0538659db7..49f9968ff114e42e47294230cd398f25e9565f76 100644
--- a/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredAnnotation.js
+++ b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredAnnotation.js
@@ -1,7 +1,7 @@
 /**
  * This function will fire when the DOM is ready
  */
-$(document).ready(function() {
+$(document).ready(function () {
 
     // fetch the document text of the given id
     getFullSubmission(getSubmissionIdFromUrl(), function (response) {
@@ -26,20 +26,20 @@ $(document).ready(function() {
 
     }, function () {
         // jump to upload page on error
-        location.href="upload-unstructured-annotation.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
+        location.href = "upload-unstructured-annotation.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
     });
 
     // set click listener to save button
     $('#btnSave').click(function () {
         saveButtonHandler();
     });
-    
+
     /**
      * Context menu handler
      */
     $.contextMenu({
         selector: '.context-menu-one',
-        callback: function(key, options) {
+        callback: function (key, options) {
 
             // handle the category click
             handleCategoryClick(key);
@@ -119,13 +119,13 @@ function handleCategorySelection(category, startCharacter, endCharacter) {
  * @returns {string} The text
  */
 function getSelectedText() {
-    if(window.getSelection){
+    if (window.getSelection) {
         return window.getSelection().toString();
     }
-    else if(document.getSelection){
+    else if (document.getSelection) {
         return document.getSelection();
     }
-    else if(document.selection){
+    else if (document.selection) {
         return document.selection.createRange().text;
     }
 }
@@ -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/annotation/js/unstructuredUpload.js b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js
index 2148e5cb04d95a8280dc4af60579aa8f6bdfa2e8..f1a8dea6af5538dd106f57e291f1df3a2b55a03c 100644
--- a/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js
+++ b/gemeinsamforschen/src/main/webapp/annotation/js/unstructuredUpload.js
@@ -1,7 +1,7 @@
 /**
  * This function will fire when the DOM is ready
  */
-$(document).ready(function() {
+$(document).ready(function () {
 
     $('#btnNext').click(function () {
         if ($('#upload-textarea-form').valid()) {
@@ -23,7 +23,7 @@ $(document).ready(function() {
                 $('#upload-textarea').val("");
 
                 // jump to next page
-                location.href="create-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;
             });
         }
     });
@@ -38,14 +38,14 @@ $(document).ready(function() {
 
                 // jump to previous page
                 //window.history.back();
-                location.href="../project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
+                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=" + getQueryVariable("projectId");
+            location.href = "../project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
         }
     });
 
diff --git a/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-annotation.jsp b/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-annotation.jsp
index 43f3340fe7137b2a0dc3ba7ee03609bb9db273b1..42baec9225aa2b53172ed5eda788621612e15cb2 100644
--- a/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-annotation.jsp
+++ b/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-annotation.jsp
@@ -1,4 +1,4 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ 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" %>
@@ -13,7 +13,8 @@
     <!-- js - jQuery validation plugin -->
     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.min.js"></script>
     <!-- js - jQuery ui position -->
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js" type="text/javascript"></script>
+    <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="css/unstructured-upload.css">
@@ -37,7 +38,8 @@
                     <form id="upload-textarea-form">
                         <div class="form-group upload-text" id="documentText">
                             <label for="upload-textarea">Texteingabe</label>
-                            <textarea class="upload-text-textarea form-control" placeholder="Text einfügen..." id="upload-textarea" name="uploadtextarea"></textarea>
+                            <textarea class="upload-text-textarea form-control" placeholder="Text einfügen..."
+                                      id="upload-textarea" name="uploadtextarea"></textarea>
                         </div>
                     </form>
 
@@ -46,8 +48,10 @@
                         <input type="file" id="file" name="file">
                     </div>
                     <div class="document-text-buttons">
-                        <button type="button" class="btn btn-secondary document-text-buttons-back" id="btnBack">Zurück</button>
-                        <button type="button" class="btn btn-primary document-text-buttons-next" id="btnNext">Weiter</button>
+                        <button type="button" class="btn btn-secondary document-text-buttons-back" id="btnBack">Zurück
+                        </button>
+                        <button type="button" class="btn btn-primary document-text-buttons-next" id="btnNext">Weiter
+                        </button>
                     </div>
                 </div>
             </div>
diff --git a/gemeinsamforschen/src/main/webapp/assessment/calculate-assessment.jsp b/gemeinsamforschen/src/main/webapp/assessment/calculate-assessment.jsp
index a8f39bfa961789996308eeddc58cae565ddbc82b..1451b1f81c24ba00fba64875bbb96989df1870a7 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/calculate-assessment.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/calculate-assessment.jsp
@@ -1,4 +1,4 @@
-<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ 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" %>
diff --git a/gemeinsamforschen/src/main/webapp/assessment/create-quiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/create-quiz.jsp
index 229b240942108f7e8fe8bf391bfa5272dba91395..d80dd66a57e6ade70d469254330fb3f73933355d 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/create-quiz.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/create-quiz.jsp
@@ -17,15 +17,18 @@
         <headLine:headLine/>
         <div style="margin-left:50px;">
             <div>
-            <label>Frage: <input placeholder="Ihre Frage" id="question"></label><!--todo: remember to cut out whitespace and signs (?.,;)-->
+                <label>Frage: <input placeholder="Ihre Frage" id="question"></label>
+                <!--todo: remember to cut out whitespace and signs (?.,;)-->
             </div>
             <div><label><input type="radio" name="type" checked="checked">multiple choice</label></div>
             <div><label><input type="radio" name="type" disabled>Freitext</label></div>
             <div><label><input type="radio" name="type" disabled>rhetorische Frage</label></div>
             <div id="correctAnswers"><input placeholder="korrekte Antwort" id="correctAnswer"></div>
-            <button id="addCorrectAnswer"> + </button><button id="deleteCorrectAnswer"> - </button>
+            <button id="addCorrectAnswer"> +</button>
+            <button id="deleteCorrectAnswer"> -</button>
             <div id="incorrectAnswers"><input placeholder="inkorrekte Antwort" id="incorrectAnswer"></div>
-            <button id="addIncorrectAnswer"> + </button><button id="deleteIncorrectAnswer"> - </button>
+            <button id="addIncorrectAnswer"> +</button>
+            <button id="deleteIncorrectAnswer"> -</button>
             <button id="save">speichern</button>
         </div>
     </div>
diff --git a/gemeinsamforschen/src/main/webapp/assessment/js/AlertAssessmentOutlier.js b/gemeinsamforschen/src/main/webapp/assessment/js/AlertAssessmentOutlier.js
index c839478e287cb4652039897471ab07afecdb92cd..adef75018f9b0f806907e52422d3551cb8ed2122 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/js/AlertAssessmentOutlier.js
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/AlertAssessmentOutlier.js
@@ -1,12 +1,11 @@
 $(document).ready(function () {
 
 
-    $('#DiaBlende').on('click',function () {
-
+    $('#DiaBlende').on('click', function () {
 
 
         $.ajax({
-            url: "../rest/assessments4/diagramm1/"+getQueryVariable("projectId"),
+            url: "../rest/assessments4/diagramm1/" + getQueryVariable("projectId"),
             type: 'POST',
             headers: {
                 "Content-Type": "application/json",
@@ -18,69 +17,70 @@ $(document).ready(function () {
                 var myChart = new Chart(ctx, response);
 
             },
-            error: function (a,b,c) {
+            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
+        /*
+             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
+                         },
+                         {
+                             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}}
-        });*/
+                 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") {
+    $('#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
-        });
+            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',
@@ -90,34 +90,35 @@ $(document).ready(function () {
                 },
                 data: dataP,
                 success: function (response) {
-                    document.getElementById('ProblemGrp1').innerHTML=response;
+                    document.getElementById('ProblemGrp1').innerHTML = response;
                 },
-                error: function (a,b,c) {
+                error: function (a, b, c) {
                     alert('some error' + b);
                 }
             })
         }
-        else{
+        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") {
+    $('#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": {
+            var dataP = JSON.stringify({
+                "adressat": true, "student": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": "fgnxnw"
-                }, "deadline":new Date(),
+                }, "deadline": new Date(),
                 "bewertender": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": document.getElementById("user").innerText
                 },
-                "projektId":getQueryVariable("projectId"),
-                "bewertung":alarm
+                "projektId": getQueryVariable("projectId"),
+                "bewertung": alarm
             });
             $.ajax({
                 url: "../rest/assessments2/calculate2",
@@ -128,33 +129,34 @@ $(document).ready(function () {
                 },
                 data: dataP,
                 success: function (response) {
-                    document.getElementById('ProblemGrp1S1').innerHTML=response;
+                    document.getElementById('ProblemGrp1S1').innerHTML = response;
                 },
-                error: function (a,b,c) {
+                error: function (a, b, c) {
                     alert('some error' + b);
                 }
             })
         }
-        else{
+        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") {
+    $('#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": {
+            var dataP = JSON.stringify({
+                "adressat": true, "student": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": "fgnxnw"
-                }, "deadline":new Date(),
+                }, "deadline": new Date(),
                 "bewertender": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": document.getElementById("user").innerText
                 },
-                "projektId":getQueryVariable("projectId"),
-                "bewertung":alarm
+                "projektId": getQueryVariable("projectId"),
+                "bewertung": alarm
             });
             $.ajax({
                 url: "../rest/assessments2/calculate2",
@@ -165,33 +167,34 @@ $(document).ready(function () {
                 },
                 data: dataP,
                 success: function (response) {
-                    document.getElementById('ProblemGrp1S2').innerHTML=response;
+                    document.getElementById('ProblemGrp1S2').innerHTML = response;
                 },
-                error: function (a,b,c) {
+                error: function (a, b, c) {
                     alert('some error' + b);
                 }
             })
         }
-        else{
+        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") {
+    $('#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": {
+            var dataP = JSON.stringify({
+                "adressat": true, "student": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": "fgnxnw"
-                }, "deadline":new Date(),
+                }, "deadline": new Date(),
                 "bewertender": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": document.getElementById("user").innerText
                 },
-                "projektId":getQueryVariable("projectId"),
-                "bewertung":alarm
+                "projektId": getQueryVariable("projectId"),
+                "bewertung": alarm
             });
             $.ajax({
                 url: "../rest/assessments2/calculate2",
@@ -202,33 +205,34 @@ $(document).ready(function () {
                 },
                 data: dataP,
                 success: function (response) {
-                    document.getElementById('ProblemGrp2').innerHTML=response;
+                    document.getElementById('ProblemGrp2').innerHTML = response;
                 },
-                error: function (a,b,c) {
+                error: function (a, b, c) {
                     alert('some error' + b);
                 }
             })
         }
-        else{
+        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") {
+    $('#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": {
+            var dataP = JSON.stringify({
+                "adressat": true, "student": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": "fgnxnw"
-                }, "deadline":new Date(),
+                }, "deadline": new Date(),
                 "bewertender": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": document.getElementById("user").innerText
                 },
-                "projektId":getQueryVariable("projectId"),
-                "bewertung":alarm
+                "projektId": getQueryVariable("projectId"),
+                "bewertung": alarm
             });
             $.ajax({
                 url: "../rest/assessments2/calculate2",
@@ -239,33 +243,34 @@ $(document).ready(function () {
                 },
                 data: dataP,
                 success: function (response) {
-                    document.getElementById('ProblemGrp2S3').innerHTML=response;
+                    document.getElementById('ProblemGrp2S3').innerHTML = response;
                 },
-                error: function (a,b,c) {
+                error: function (a, b, c) {
                     alert('some error' + b);
                 }
             })
         }
-        else{
+        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") {
+    $('#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": {
+            var dataP = JSON.stringify({
+                "adressat": true, "student": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": "fgnxnw"
-                }, "deadline":new Date(),
+                }, "deadline": new Date(),
                 "bewertender": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": document.getElementById("user").innerText
                 },
-                "projektId":getQueryVariable("projectId"),
-                "bewertung":alarm
+                "projektId": getQueryVariable("projectId"),
+                "bewertung": alarm
             });
             $.ajax({
                 url: "../rest/assessments2/calculate2",
@@ -276,33 +281,34 @@ $(document).ready(function () {
                 },
                 data: dataP,
                 success: function (response) {
-                    document.getElementById('ProblemGrp2S4').innerHTML=response;
+                    document.getElementById('ProblemGrp2S4').innerHTML = response;
                 },
-                error: function (a,b,c) {
+                error: function (a, b, c) {
                     alert('some error' + b);
                 }
             })
         }
-        else{
+        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") {
+    $('#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": {
+            var dataP = JSON.stringify({
+                "adressat": true, "student": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": "fgnxnw"
-                }, "deadline":new Date(),
+                }, "deadline": new Date(),
                 "bewertender": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": document.getElementById("user").innerText
                 },
-                "projektId":getQueryVariable("projectId"),
-                "bewertung":alarm
+                "projektId": getQueryVariable("projectId"),
+                "bewertung": alarm
             });
             $.ajax({
                 url: "../rest/assessments2/calculate2",
@@ -313,33 +319,34 @@ $(document).ready(function () {
                 },
                 data: dataP,
                 success: function (response) {
-                    document.getElementById('ProblemGrp3').innerHTML=response;
+                    document.getElementById('ProblemGrp3').innerHTML = response;
                 },
-                error: function (a,b,c) {
+                error: function (a, b, c) {
                     alert('some error' + b);
                 }
             })
         }
-        else{
+        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") {
+    $('#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": {
+            var dataP = JSON.stringify({
+                "adressat": true, "student": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": "fgnxnw"
-                }, "deadline":new Date(),
+                }, "deadline": new Date(),
                 "bewertender": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": document.getElementById("user").innerText
                 },
-                "projektId":getQueryVariable("projectId"),
-                "bewertung":alarm
+                "projektId": getQueryVariable("projectId"),
+                "bewertung": alarm
             });
             $.ajax({
                 url: "../rest/assessments2/calculate2",
@@ -350,33 +357,34 @@ $(document).ready(function () {
                 },
                 data: dataP,
                 success: function (response) {
-                    document.getElementById('ProblemGrp3S5').innerHTML=response;
+                    document.getElementById('ProblemGrp3S5').innerHTML = response;
                 },
-                error: function (a,b,c) {
+                error: function (a, b, c) {
                     alert('some error' + b);
                 }
             })
         }
-        else{
+        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") {
+    $('#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": {
+            var dataP = JSON.stringify({
+                "adressat": true, "student": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": "fgnxnw"
-                }, "deadline":new Date(),
+                }, "deadline": new Date(),
                 "bewertender": {
                     "projectId": getQueryVariable("projectId"),
                     "studentId": document.getElementById("user").innerText
                 },
-                "projektId":getQueryVariable("projectId"),
-                "bewertung":alarm
+                "projektId": getQueryVariable("projectId"),
+                "bewertung": alarm
             });
             $.ajax({
                 url: "../rest/assessments2/calculate2",
@@ -387,14 +395,14 @@ $(document).ready(function () {
                 },
                 data: dataP,
                 success: function (response) {
-                    document.getElementById('ProblemGrp3S6').innerHTML=response;
+                    document.getElementById('ProblemGrp3S6').innerHTML = response;
                 },
-                error: function (a,b,c) {
+                error: function (a, b, c) {
                     alert('some error' + b);
                 }
             })
         }
-        else{
+        else {
             window.alert("Bitte eine Zahl zwischen eins und 6 angeben")
         }
     });
diff --git a/gemeinsamforschen/src/main/webapp/assessment/js/Quiz-docent.js b/gemeinsamforschen/src/main/webapp/assessment/js/Quiz-docent.js
index 8ddea17c89cace4cdfe23ce433ea226da5cf64a3..52af2f86b99a66d2561edc917f1eaba42871d6b0 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/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="create-quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
+    $('#newQuiz').on('click', function () {
+        location.href = "create-quiz.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim();
     });
 
     let loading = $('#loadbar').hide();
@@ -11,12 +11,12 @@ $(document).ready(function () {
         loading.hide();
     });
 
-    $("label.btn").on('click',function () {
+    $("label.btn").on('click', function () {
         let choice = $(this).find('input:radio').val();
         $('#loadbar').show();
         $('#quiz').fadeOut();
-        setTimeout(function(){
-            $( "#answer" ).html(  $(this).checking(choice) );
+        setTimeout(function () {
+            $("#answer").html($(this).checking(choice));
             $('#quiz').show();
             $('#loadbar').fadeOut();
             /* something else */
@@ -27,26 +27,26 @@ $(document).ready(function () {
 
     let projectId = document.getElementById('projectId').innerText.trim();
     $.ajax({
-        url: '../rest/assessments/project/'+projectId+'/quiz/',
+        url: '../rest/assessments/project/' + projectId + '/quiz/',
         type: 'GET',
         success: function (data) {
             let table = document.getElementById('tableQuiz');
-            for (let quiz = 0; quiz < data.length; quiz++){
-                let question = data[quiz].question.replace(/ /g,"").replace("?","").replace(",","");
+            for (let quiz = 0; quiz < data.length; quiz++) {
+                let question = data[quiz].question.replace(/ /g, "").replace("?", "").replace(",", "");
                 let answers = data[quiz].correctAnswers.concat(data[quiz].incorrectAnswers);
                 let colspan = answers.length;
                 let trQuestion = document.createElement('TR');
                 let tdQuestion = '<td colspan="' + colspan + '"' +
-                    ' data-toggle="collapse" href="#'+question+'" aria-expanded="false" aria-controls="'+question+'">' +
+                    ' data-toggle="collapse" href="#' + question + '" aria-expanded="false" aria-controls="' + question + '">' +
                     '' + data[quiz].question + '</td>';
                 trQuestion.innerHTML = tdQuestion;
                 let trAnswers = document.createElement('TR');
-                let answersTd='<td style="display: block;">' +
+                let answersTd = '<td style="display: block;">' +
                     '<div ' +
                     'class="quiz collapse" ' +
-                    'id="'+question+'" ' +
+                    'id="' + question + '" ' +
                     'data-toggle="buttons">' +
-                    '<p hidden>'+data[quiz].question+'</p>';
+                    '<p hidden>' + data[quiz].question + '</p>';
                 for (let i = 0; i < answers.length; i++) {
                     answersTd = answersTd + '<div>' +
                         '<label class="element-animation1 btn btn-lg btn-primary btn-block">' +
@@ -54,17 +54,17 @@ $(document).ready(function () {
                         '<i class="glyphicon glyphicon-chevron-right">' +
                         '</i>' +
                         '</span>' +
-                        '<input type="checkbox" value="'+answers[i]+'">' + answers[i] + '' +
+                        '<input type="checkbox" value="' + answers[i] + '">' + answers[i] + '' +
                         '</label>' +
                         '</div>';
                 }
-                tdQuestion ="";
-                answers=[];
-                let deletebutton = '<button class="btn btn-danger" id="delete'+question+'">löschen</button>';
-                trAnswers.innerHTML = answersTd+deletebutton+'</div></td>';
+                tdQuestion = "";
+                answers = [];
+                let deletebutton = '<button class="btn btn-danger" id="delete' + question + '">löschen</button>';
+                trAnswers.innerHTML = answersTd + deletebutton + '</div></td>';
                 table.appendChild(trQuestion);
                 table.appendChild(trAnswers);
-                $("#delete"+question).click({quizId: data[quiz].question}, deleteQuiz);
+                $("#delete" + question).click({quizId: data[quiz].question}, deleteQuiz);
             }
         },
         error: function (a) {
@@ -72,14 +72,14 @@ $(document).ready(function () {
         }
     });
 
-    function deleteQuiz(event){
+    function deleteQuiz(event) {
         $.ajax({
             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){
+            error: function (a) {
                 alert(a)
             }
         });
diff --git a/gemeinsamforschen/src/main/webapp/assessment/js/Quiz.js b/gemeinsamforschen/src/main/webapp/assessment/js/Quiz.js
index f79b9de9519fdb8b78d10842685c12cd20cf54c7..97134fdb30366ac470be44bee84462f44406a162 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/js/Quiz.js
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/Quiz.js
@@ -1,22 +1,22 @@
-$(document).ready(function(){
+$(document).ready(function () {
     let projectId = document.getElementById('projectId').innerText.trim();
     $.ajax({
-        url: '../rest/assessments/project/'+projectId+'/quiz/',
+        url: '../rest/assessments/project/' + projectId + '/quiz/',
         projectId: projectId,
         type: 'GET',
         success: function (data) {
             let table = document.getElementById('myQuizzes');
-            for (let quiz = 0; quiz < data.length; quiz++){
+            for (let quiz = 0; quiz < data.length; quiz++) {
                 let answers = data[quiz].correctAnswers.concat(data[quiz].incorrectAnswers);
                 let colspan = answers.length;
                 let trQuestion = document.createElement('TR');
-                trQuestion.className="pageChanger";
+                trQuestion.className = "pageChanger";
                 trQuestion.innerHTML = '<td colspan="' + colspan + '"><h3>' +
                     '<a href="view-quiz.jsp' +
-                    '?token='+getUserTokenFromUrl()+
-                    '&projectId='+projectId+
-                    '&quizId='+ encodeURIComponent(data[quiz].question)+'"</a>' +
-                    data[quiz].question+'</h3></td>';
+                    '?token=' + getUserTokenFromUrl() +
+                    '&projectId=' + projectId +
+                    '&quizId=' + encodeURIComponent(data[quiz].question) + '"</a>' +
+                    data[quiz].question + '</h3></td>';
                 table.appendChild(trQuestion);
             }
         },
@@ -25,7 +25,7 @@ $(document).ready(function(){
         }
     });
 
-    $('#newQuiz').on('click', function(){
-        location.href="create-quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
+    $('#newQuiz').on('click', function () {
+        location.href = "create-quiz.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim();
     });
 });
diff --git a/gemeinsamforschen/src/main/webapp/assessment/js/assess-work.js b/gemeinsamforschen/src/main/webapp/assessment/js/assess-work.js
index 98a0a9765f2bf8bbecceddce58b99688b9260162..7315cef8a8d7aa665b76d8300a827ed46d14c73d 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/js/assess-work.js
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/assess-work.js
@@ -17,7 +17,7 @@ $(document).ready(function () {
 function buildTablesForPeers() {
     let studentId = $('#user').html().trim();
     let projectId = $('#projectId').html().trim();
-        $.ajax({
+    $.ajax({
             url: '../rest/group/project/' + projectId + '/student/' + studentId,
             type: 'GET',
             headers: {
diff --git a/gemeinsamforschen/src/main/webapp/assessment/js/create-quiz.js b/gemeinsamforschen/src/main/webapp/assessment/js/create-quiz.js
index 5353643dbcb0770b3aa7096c0011c6ac743c43f6..0005f90353bb2066aa69ed6dbeb4104558669b4b 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/js/create-quiz.js
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/create-quiz.js
@@ -1,41 +1,39 @@
 $(document).ready(function () {
-    $('#addCorrectAnswer').on('click', function(){
+    $('#addCorrectAnswer').on('click', function () {
         let divCorrectAnswer = document.getElementById('correctAnswers');
         let i = divCorrectAnswer.children.length;
         let inputCorrectAnswer = document.createElement('INPUT');
-        inputCorrectAnswer.id='correctAnswer'+i;
+        inputCorrectAnswer.id = 'correctAnswer' + i;
         divCorrectAnswer.appendChild(inputCorrectAnswer);
     });
 
-    $('#addIncorrectAnswer').on('click', function(){
+    $('#addIncorrectAnswer').on('click', function () {
         let divIncorrectAnswer = document.getElementById('incorrectAnswers');
         let i = divIncorrectAnswer.children.length;
         let inputIncorrectAnswer = document.createElement('INPUT');
-        inputIncorrectAnswer.id='incorrectAnswer'+i;
+        inputIncorrectAnswer.id = 'incorrectAnswer' + i;
         divIncorrectAnswer.appendChild(inputIncorrectAnswer);
     });
 
-    $('#deleteCorrectAnswer').on('click', function(){
+    $('#deleteCorrectAnswer').on('click', function () {
         let divCorrectAnswer = document.getElementById('correctAnswers');
         divCorrectAnswer.removeChild(divCorrectAnswer.lastChild);
     });
 
-    $('#deleteIncorrectAnswer').on('click', function(){
+    $('#deleteIncorrectAnswer').on('click', function () {
         let divIncorrectAnswer = document.getElementById('incorrectAnswers');
         divIncorrectAnswer.removeChild(divIncorrectAnswer.lastChild);
     });
 
     $("#save").on('click', function () {
-        let correctAnswers= [];
-        let incorrectAnswers= [];
+        let correctAnswers = [];
+        let incorrectAnswers = [];
         let shuttleList = document.getElementById('correctAnswers');
-        for (var i=0; i<shuttleList.children.length; i++)
-        {
+        for (var i = 0; i < shuttleList.children.length; i++) {
             correctAnswers.push(shuttleList.children[i].value.trim())
         }
         shuttleList = document.getElementById('incorrectAnswers');
-        for (i=0; i<shuttleList.children.length; i++)
-        {
+        for (i = 0; i < shuttleList.children.length; i++) {
             incorrectAnswers.push(shuttleList.children[i].value.trim())
         }
         let quiz = {
@@ -60,12 +58,12 @@ $(document).ready(function () {
                 "Cache-Control": "no-cache"
             },
             type: 'POST',
-            success: function(){
-                location.href="quiz.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
-        },
-        error: function(a){
+            success: function () {
+                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
index 5f6823dab004b402bdb5e4eccbb87a88c8541f53..4e894548551abb956d9e67ad2e39e0935bb8209a 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/js/grading.js
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/grading.js
@@ -1,7 +1,7 @@
 $(document).ready(function () {
-    $('#ProjektFinalisieren').on('click',function () {
+    $('#ProjektFinalisieren').on('click', function () {
 
-        document.getElementById("ProjektFinalisieren").style.color="magenta";
+        document.getElementById("ProjektFinalisieren").style.color = "magenta";
 
 
     });
diff --git a/gemeinsamforschen/src/main/webapp/assessment/js/rateContribution.js b/gemeinsamforschen/src/main/webapp/assessment/js/rateContribution.js
index 402b474a1d1d3f9816757b53e8d7b3fed725e750..028b0311016a066a7f6b86e06c4b13c43610318d 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/js/rateContribution.js
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/rateContribution.js
@@ -22,11 +22,11 @@ $(document).ready(function () {
     });
 });
 
-function whichGroupToRate(){
+function whichGroupToRate() {
     let projectId = $('#projectId').html().trim();
     let studentId = $('#user').html().trim();
     $.ajax({
-        url: '../rest/assessments/groupRate/project/'+projectId+'/student/'+studentId,
+        url: '../rest/assessments/groupRate/project/' + projectId + '/student/' + studentId,
         type: 'GET',
         headers: {
             "Content-Type": "application/json",
@@ -54,7 +54,7 @@ function safeContributionRating() {
     let fromPeer = $('#user').html().trim();
     let groupId = $('#groupId').html().trim();
     $.ajax({
-        url: '../rest/assessments/contributionRating/group/'+groupId+'/fromPeer/' + fromPeer,
+        url: '../rest/assessments/contributionRating/group/' + groupId + '/fromPeer/' + fromPeer,
         type: 'POST',
         headers: {
             "Content-Type": "application/json",
diff --git a/gemeinsamforschen/src/main/webapp/assessment/js/take-quiz.js b/gemeinsamforschen/src/main/webapp/assessment/js/take-quiz.js
index 75cf2fa1bd8b2abc54bfbd04d4246cb0beccd985..07c83920d732ed9ed9f72ad7c365f311b7cfad39 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/js/take-quiz.js
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/take-quiz.js
@@ -7,12 +7,12 @@ $(document).ready(function () {
         loading.hide();
     });
 
-    $("label.btn").on('click',function () {
+    $("label.btn").on('click', function () {
         let choice = $(this).find('input:radio').val();
         $('#loadbar').show();
         $('#quiz').fadeOut();
-        setTimeout(function(){
-            $( "#answer" ).html(  $(this).checking(choice) );
+        setTimeout(function () {
+            $("#answer").html($(this).checking(choice));
             $('#quiz').show();
             $('#loadbar').fadeOut();
             /* something else */
@@ -23,27 +23,27 @@ $(document).ready(function () {
 
     let projectId = document.getElementById('projectId').innerText.trim();
     $.ajax({
-        url: '../rest/assessments/project/'+projectId+'/quiz/',
+        url: '../rest/assessments/project/' + projectId + '/quiz/',
         type: 'GET',
         success: function (data) {
             let table = document.getElementById('tableQuiz');
-            for (let quiz = 0; quiz < data.length; quiz++){
-                let question = data[quiz].question.replace(/ /g,"").replace("?","").replace(",","");
+            for (let quiz = 0; quiz < data.length; quiz++) {
+                let question = data[quiz].question.replace(/ /g, "").replace("?", "").replace(",", "");
                 let answers = data[quiz].correctAnswers.concat(data[quiz].incorrectAnswers);
                 let colspan = answers.length;
                 let trQuestion = document.createElement('TR');
                 let tdQuestion = '<td colspan="' + colspan + '"' +
-                    ' data-toggle="collapse" href="#'+question+'" aria-expanded="false" aria-controls="'+question+'">' +
+                    ' data-toggle="collapse" href="#' + question + '" aria-expanded="false" aria-controls="' + question + '">' +
                     '' + data[quiz].question + '</td>';
                 trQuestion.innerHTML = tdQuestion;
                 let trAnswers = document.createElement('TR');
                 answers = shuffle(answers);
-                let answersTd='<td style="display: block;">' +
+                let answersTd = '<td style="display: block;">' +
                     '<div ' +
                     'class="quiz collapse" ' +
-                    'id="'+question+'" ' +
+                    'id="' + question + '" ' +
                     'data-toggle="buttons">' +
-                    '<p hidden>'+data[quiz].question+'</p>';
+                    '<p hidden>' + data[quiz].question + '</p>';
                 for (let i = 0; i < answers.length; i++) {
                     answersTd = answersTd + '<div>' +
                         '<label class="element-animation1 btn btn-lg btn-primary btn-block">' +
@@ -51,13 +51,13 @@ $(document).ready(function () {
                         '<i class="glyphicon glyphicon-chevron-right">' +
                         '</i>' +
                         '</span>' +
-                        '<input type="checkbox" value="'+answers[i]+'">' + answers[i] + '' +
+                        '<input type="checkbox" value="' + answers[i] + '">' + answers[i] + '' +
                         '</label>' +
                         '</div>';
                 }
-                tdQuestion ="";
-                answers=[];
-                trAnswers.innerHTML = answersTd+'</div></td>';
+                tdQuestion = "";
+                answers = [];
+                trAnswers.innerHTML = answersTd + '</div></td>';
                 table.appendChild(trQuestion);
                 table.appendChild(trAnswers);
             }
@@ -82,37 +82,37 @@ function shuffle(a) {
     return a;
 }
 
-function safeQuizAnswers(){
+function safeQuizAnswers() {
     let quizzes = $('.quiz');
     ///////initialize variables///////
     let dataP = {};
 
     ///////read values from html///////
-    for (let quiz=0; quiz<quizzes.length; quiz++){
+    for (let quiz = 0; quiz < quizzes.length; quiz++) {
         let answerList = [];
-        if (quizzes[quiz].id !== ""){
-            let checkedBoxes = $("#"+quizzes[quiz].id+" input:checked");
-            checkedBoxes.each(function(){
+        if (quizzes[quiz].id !== "") {
+            let checkedBoxes = $("#" + quizzes[quiz].id + " input:checked");
+            checkedBoxes.each(function () {
                 answerList.push($(this).val());
             });
-            let question = $("#"+quizzes[quiz].id+" p").html().trim();
-            dataP[question]= answerList;
+            let question = $("#" + quizzes[quiz].id + " p").html().trim();
+            dataP[question] = answerList;
         }
     }
-    let projectId=$('#projectId').html().trim();
-    let studentId=$('#user').html().trim();
+    let projectId = $('#projectId').html().trim();
+    let studentId = $('#user').html().trim();
     $.ajax({
-        url:'../rest/assessments/quizAnswer/projectId/'+projectId+'/studentId/'+studentId,
+        url: '../rest/assessments/quizAnswer/projectId/' + projectId + '/studentId/' + studentId,
         type: 'POST',
         headers: {
             "Content-Type": "application/json",
             "Cache-Control": "no-cache"
         },
         data: JSON.stringify(dataP),
-        success: function(){
-            location.href="rate-contribution.jsp?token="+getUserTokenFromUrl()+"&projectId="+$('#projectId').html().trim();
+        success: function () {
+            location.href = "rate-contribution.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim();
         },
-        error: function(a,b,c){
+        error: function (a, b, c) {
 
         }
     });
diff --git a/gemeinsamforschen/src/main/webapp/assessment/js/view-quiz.js b/gemeinsamforschen/src/main/webapp/assessment/js/view-quiz.js
index 8ebaac60bf99121d46d4fc6bc15bffb43b9e3ac7..6aaa6efd53b7db4e4ea1e6dba8c906f3d8ce1a6c 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/js/view-quiz.js
+++ b/gemeinsamforschen/src/main/webapp/assessment/js/view-quiz.js
@@ -37,7 +37,7 @@ $(document).ready(function () {
     var author = $('#user').html().trim();
     var projectId = document.getElementById('projectId').innerText.trim();
     $.ajax({
-        url: '../rest/assessments/project/'+projectId+'/quiz/'+quizId+'/author/'+author,
+        url: '../rest/assessments/project/' + projectId + '/quiz/' + quizId + '/author/' + author,
         type: 'GET',
         success: function (data) {
             var table = document.getElementById('tableQuiz');
@@ -67,9 +67,9 @@ $(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){
+            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
index f8ec92fc5cf46c3cc272ce6b6cca5fe12b0266ba..21eeddab2f2499e676bf7cfadf652fe617f03fca 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/project-docent_CG.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/project-docent_CG.jsp
@@ -15,7 +15,6 @@
 </head>
 
 
-
 <body>
 <div id="wrapper">
     <menu:menu hierarchy="1"/>
@@ -29,7 +28,9 @@
         </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>
+                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">
@@ -38,21 +39,27 @@
                             <table class="table">
                                 <thead>
                                 <tr>
-                                    <th id="testAjax">Gruppe1 </th>
-                                    <th>Beiträge </th>
-                                    <th> <button id="ProblemGrp1">!</button> </th>
+                                    <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>
+                                    <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>
+                                    <td>student2</td>
+                                    <td>Design</td>
+                                    <th>
+                                        <button id="ProblemGrp1S2">!</button>
+                                    </th>
                                 </tr>
                                 </tbody>
                             </table>
@@ -61,21 +68,27 @@
                             <table class="table">
                                 <thead>
                                 <tr>
-                                    <th>Gruppe2 </th>
-                                    <th>Beiträge </th>
-                                    <th> <button id="ProblemGrp2">!</button> </th>
+                                    <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>
+                                    <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>
+                                    <td>student4</td>
+                                    <td>Design</td>
+                                    <th>
+                                        <button id="ProblemGrp2S4">!</button>
+                                    </th>
                                 </tr>
                                 </tbody>
                             </table>
@@ -84,21 +97,27 @@
                             <table class="table">
                                 <thead>
                                 <tr>
-                                    <th>Gruppe3 </th>
-                                    <th>Beiträge </th>
-                                    <th> <button id="ProblemGrp3">!</button> </th>
+                                    <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>
+                                    <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>
+                                    <td>student6</td>
+                                    <td>Design</td>
+                                    <th>
+                                        <button id="ProblemGrp3S6">!</button>
+                                    </th>
                                 </tr>
                                 </tbody>
                             </table>
@@ -106,7 +125,7 @@
                     </div>
                     <div class="col-md-4">
                         <button id="DiaBlende">Zeitlicher Verlauf</button>
-                        <canvas height="480" width="480", id = "Diagramm" ></canvas>
+                        <canvas height="480" width="480" , id="Diagramm"></canvas>
                     </div>
                     <div class="col-md-4">
                         <div class="panel panel-default">
@@ -125,7 +144,9 @@
                                                         <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>
+                                                                    <small class="text-muted">August 6, 2016 @ 10:35am
+                                                                    </small>
+                                                                </p>
                                                             </div>
                                                         </div>
                                                     </div>
@@ -143,7 +164,9 @@
                                                         <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>
+                                                                    <small class="text-muted">August 6, 2016 @ 10:35am
+                                                                    </small>
+                                                                </p>
                                                             </div>
                                                         </div>
                                                     </div>
diff --git a/gemeinsamforschen/src/main/webapp/assessment/take-quiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/take-quiz.jsp
index 78e164752a1ec941a29236c3764412ee3969779b..8809591756b5e50e6d9b3d106e70f249d5db55e1 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/take-quiz.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/take-quiz.jsp
@@ -1,4 +1,4 @@
-<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ page 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" %>
@@ -20,12 +20,11 @@
         <div>
             <table>
                 <tr>
-                    <td  id="yourContent">
+                    <td id="yourContent">
                         <h1>Quiz for gemeinsamForschen </h1>
                         <!-- here will be all the content -->
 
 
-
                         <table class="table-striped">
                             <tbody id="tableQuiz">
 
diff --git a/gemeinsamforschen/src/main/webapp/assessment/view-quiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/view-quiz.jsp
index 4fc3d8b85736f8f2aea5b1bcb442acb85147094f..f141d1c728b1c7234f7e541422829e7c9c33102c 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/view-quiz.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/view-quiz.jsp
@@ -1,4 +1,4 @@
-<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ page 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" %>
@@ -22,7 +22,7 @@
         <div>
             <table>
                 <tr>
-                    <td  id="yourContent">
+                    <td id="yourContent">
                         <h1>Quiz for project1 </h1>
                         <!-- here will be all the content -->
                         <table class="table-striped">
diff --git a/gemeinsamforschen/src/main/webapp/core/footer.css b/gemeinsamforschen/src/main/webapp/core/footer.css
index beb5cbc6a2d2f0a9015b498d756e4a0531d77ca8..72997a2776eaea11fde130fbcebd46e5f4e592a2 100644
--- a/gemeinsamforschen/src/main/webapp/core/footer.css
+++ b/gemeinsamforschen/src/main/webapp/core/footer.css
@@ -24,12 +24,12 @@
 
 .pg-Execution {
     background: #77AAAA;
-    width:55%;
+    width: 55%;
 }
 
 .pg-Assessment {
     background: #AA5555;
-    width:75%;
+    width: 75%;
 }
 
 .pg-Projectfinished {
diff --git a/gemeinsamforschen/src/main/webapp/core/footer.js b/gemeinsamforschen/src/main/webapp/core/footer.js
index 6875866f0675741797ba62d75e5e2538556dfe19..6e3cfcbb57e97f5e90801bc6d61b4b0d359c96c0 100644
--- a/gemeinsamforschen/src/main/webapp/core/footer.js
+++ b/gemeinsamforschen/src/main/webapp/core/footer.js
@@ -1,6 +1,6 @@
-$(document).ready(function(){
+$(document).ready(function () {
     $('#btnUnstructuredUpload').click(function () {
-        location.href="annotation/upload-unstructured-annotation.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
+        location.href = "annotation/upload-unstructured-annotation.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
     });
 
 });
diff --git a/gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld b/gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld
index 75ee5e5eeb4c94f178e786d9b95ee3c079c21d34..ce6494c98aa34c6ea2489d02d7a8ffb6d7c4f018 100644
--- a/gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld
+++ b/gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld
@@ -48,7 +48,7 @@
         <tag-class>unipotsdam.gf.core.management.pageAppearance.Footer</tag-class>
         <body-content>empty</body-content>
     </tag>
-    
+
     <tag>
         <name>context</name>
         <tag-class>unipotsdam.gf.core.session.ContextTag</tag-class>
diff --git a/gemeinsamforschen/src/main/webapp/core/overview-docent.js b/gemeinsamforschen/src/main/webapp/core/overview-docent.js
index 77cd2693f2740cc2cb0a36e504271eecae90310e..511ef0f529b71729ca7d74a4c7f1585e5fb7b0b9 100644
--- a/gemeinsamforschen/src/main/webapp/core/overview-docent.js
+++ b/gemeinsamforschen/src/main/webapp/core/overview-docent.js
@@ -1,9 +1,9 @@
 $(document).ready(function(){
     $('#project1Link').on('click', function(){
-        location.href="project-docent.jsp?token="+getUserTokenFromUrl()+'&projectId='+'gemeinsamForschen';
+        location.href = "project-docent.jsp?token=" + getUserTokenFromUrl() + '&projectId=' + 'gemeinsamForschen';
     });
     $('#project2Link').on('click', function(){
-        location.href="project-docent.jsp?token="+getUserTokenFromUrl()+'&projectId='+'Kaleo';
+        location.href = "project-docent.jsp?token=" + getUserTokenFromUrl() + '&projectId=' + 'Kaleo';
     });
     $('#createProject').on('click', function(){
         location.href="createProject.jsp?token="+getUserTokenFromUrl();
diff --git a/gemeinsamforschen/src/main/webapp/core/overview-student.js b/gemeinsamforschen/src/main/webapp/core/overview-student.js
index 898f3f5e00183d9549a84cb5c3028be9aa7f5bd6..251cdab51ebf4f6087747ef639cbcff416550e53 100644
--- a/gemeinsamforschen/src/main/webapp/core/overview-student.js
+++ b/gemeinsamforschen/src/main/webapp/core/overview-student.js
@@ -1,9 +1,9 @@
 $(document).ready(function(){
     $('#project1Link').on('click', function(){
-        location.href="project-student.jsp?token="+getUserTokenFromUrl()+'&projectId='+'gemeinsamForschen';
+        location.href = "project-student.jsp?token=" + getUserTokenFromUrl() + '&projectId=' + 'gemeinsamForschen';
     });
-    $('#project2Link').on('click', function(){
-        location.href="project-student.jsp?token="+getUserTokenFromUrl()+'&projectId='+'Kaleo';
+    $('#project2Link').on('click', function () {
+        location.href = "project-student.jsp?token=" + getUserTokenFromUrl() + '&projectId=' + 'Kaleo';
     });
     $('#enrollProject').on('click', function(){
         location.href="enrollProject.jsp?token="+getUserTokenFromUrl();
diff --git a/gemeinsamforschen/src/main/webapp/core/project-student.js b/gemeinsamforschen/src/main/webapp/core/project-student.js
index 8c7642ebeff55680cc523f7e27005087a29082a6..81e54d1bc73d0f7ce9f00bf83c5992a1ac767eef 100644
--- a/gemeinsamforschen/src/main/webapp/core/project-student.js
+++ b/gemeinsamforschen/src/main/webapp/core/project-student.js
@@ -1,4 +1,4 @@
-$(document).ready(function(){
+$(document).ready(function () {
     // fetch all submission part project representations from database
     getSubmissionPartsByProjectId(getQueryVariable("projectId"), function (response) {
 
@@ -11,7 +11,7 @@ $(document).ready(function(){
         $('.annotationview').click(function () {
             let fullSubmissionId = $(this).closest("li").data("fullSubmissionId");
             let category = $(this).closest("li").data("category");
-            location.href="annotation/annotation-document.jsp?token=" + getUserTokenFromUrl() +
+            location.href = "annotation/annotation-document.jsp?token=" + getUserTokenFromUrl() +
                 "&projectId=" + getQueryVariable("projectId") +
                 "&fullSubmissionId=" + fullSubmissionId +
                 "&category=" + category;
@@ -30,18 +30,18 @@ $(document).ready(function(){
     });
     */
     $('.givefeedback').click(function () {
-        location.href="feedback/give-feedback.jsp?token="+getUserTokenFromUrl();
+        location.href = "feedback/give-feedback.jsp?token=" + getUserTokenFromUrl();
     });
     $('.viewfeedback').click(function () {
-        location.href="feedback/view-feedback.jsp?token="+getUserTokenFromUrl();
+        location.href = "feedback/view-feedback.jsp?token=" + getUserTokenFromUrl();
     });
 
     $('.annotationview').click(function () {
-        location.href="annotation/annotation-document.jsp?token="+getUserTokenFromUrl();
+        location.href = "annotation/annotation-document.jsp?token=" + getUserTokenFromUrl();
     });
 
     $('.viewprojectstudent').click(function () {
-        location.href="project-student.jsp?token="+getUserTokenFromUrl();
+        location.href = "project-student.jsp?token=" + getUserTokenFromUrl();
     })
 });
 
diff --git a/gemeinsamforschen/src/main/webapp/core/utility.js b/gemeinsamforschen/src/main/webapp/core/utility.js
index 334fdd7dbe9cace9e66a922b3e05773135a192d6..218e70cbda03a96d398743c49e6fc97cf1c85dbd 100644
--- a/gemeinsamforschen/src/main/webapp/core/utility.js
+++ b/gemeinsamforschen/src/main/webapp/core/utility.js
@@ -1,16 +1,16 @@
-$(document).ready(function(){
+$(document).ready(function () {
     $('#headLineProject').html($('#projectId').html());
-    $('#logout').click(function(){
+    $('#logout').click(function () {
         //todo: delete cookies / reset session
         let target = "index.jsp";
         let link = changeLocationTo(target);
-        document.location=link;
+        document.location = link;
     });
-    $('#assessment').click(function(){
-       checkAssessementPhase();
+    $('#assessment').click(function () {
+        checkAssessementPhase();
     });
-    $('#footerBack').click(function(){
-       goBack();
+    $('#footerBack').click(function () {
+        goBack();
     });
 });
 
@@ -25,37 +25,37 @@ function goBack() {
     window.history.back();
 }
 
-function checkAssessementPhase(){
+function checkAssessementPhase() {
     let studentId = $('#user').html().trim();
     let projectId = $('#projectId').html().trim();
     $.ajax({
-        url: '../rest/assessments/whatToRate/project/'+projectId+'/student/'+studentId,
+        url: '../rest/assessments/whatToRate/project/' + projectId + '/student/' + studentId,
         type: 'GET',
         headers: {
             "Content-Type": "application/json",
             "Cache-Control": "no-cache"
         },
         success: function (phase) {
-            switch (phase){
-                case "workRating":{
+            switch (phase) {
+                case "workRating": {
                     changeLocationTo("finalAssessment.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim());
                     break;
                 }
-                case "quiz":{
+                case "quiz": {
                     changeLocationTo("take-quiz.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim());
                     break;
                 }
-                case "contributionRating":{
+                case "contributionRating": {
                     changeLocationTo("rate-contribution.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim());
                     break;
                 }
-                case "done":{
+                case "done": {
                     changeLocationTo("project-student.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + $('#projectId').html().trim());
                     break;
                 }
             }
         },
-        error: function(a){
+        error: function (a) {
         }
     });
 }
@@ -84,7 +84,6 @@ function getQueryVariable(variable) {
 }
 
 
-
 function calculateHierachy(level) {
 
     if (level == 0) {
@@ -93,7 +92,7 @@ function calculateHierachy(level) {
 
     } else {
 
-        return calculateHierachy(level-1)+"../";
+        return calculateHierachy(level - 1) + "../";
 
     }
 
diff --git a/gemeinsamforschen/src/main/webapp/course/js/createProject.js b/gemeinsamforschen/src/main/webapp/course/js/createProject.js
index 696572480960c61746fcf08f4f70d407a9037d95..20389fcf55138826ed0a51917b0f6bcb384f201c 100644
--- a/gemeinsamforschen/src/main/webapp/course/js/createProject.js
+++ b/gemeinsamforschen/src/main/webapp/course/js/createProject.js
@@ -1,19 +1,19 @@
-$(document).ready(function(){
-    $('#submit').on('click', function(){
-        location.href="specificRequirement.jsp?token="+getUserTokenFromUrl();
+$(document).ready(function () {
+    $('#submit').on('click', function () {
+        location.href = "specificRequirement.jsp?token=" + getUserTokenFromUrl();
     });
     let projectId = $('#projectId').html().trim();
     $.ajax({
-        url: '../rest/phases/projects/'+projectId,
+        url: '../rest/phases/projects/' + projectId,
         headers: {
             "Content-Type": "application/json",
             "Cache-Control": "no-cache"
         },
         type: 'GET',
         success: function (response) {
-            let phaseDiv = $('#'+response);
-            if (phaseDiv !== null){
-                phaseDiv.toggleClass('alert','alert-info');
+            let phaseDiv = $('#' + response);
+            if (phaseDiv !== null) {
+                phaseDiv.toggleClass('alert', 'alert-info');
             } else {
                 $('#end').addClass('alert-info');
             }
diff --git a/gemeinsamforschen/src/main/webapp/course/js/showProjects.js b/gemeinsamforschen/src/main/webapp/course/js/showProjects.js
index ff687d3f310be2d92ae07cc89f27192ce1b194f5..e31045e77f438a1b57d3bf39db5d2c74c2db7541 100644
--- a/gemeinsamforschen/src/main/webapp/course/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="enter-preferences.jsp?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/feedback/css/viewfeedback.css b/gemeinsamforschen/src/main/webapp/feedback/css/viewfeedback.css
index 625f097619306e338664716c6fd15adac0e219c8..65f5d525908983d27cc2eee7df001a4817bbf372 100644
--- a/gemeinsamforschen/src/main/webapp/feedback/css/viewfeedback.css
+++ b/gemeinsamforschen/src/main/webapp/feedback/css/viewfeedback.css
@@ -28,7 +28,7 @@
 .feedback-container img.right {
     float: right;
     margin-left: 20px;
-    margin-right:0;
+    margin-right: 0;
 }
 
 .time-right {
diff --git a/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp b/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp
index 365f23b121e96b5df7443a4a4d105ef9e85cff92..9a36706c4c2af6e27eff4fd5505500578f3eb782 100644
--- a/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp
+++ b/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp
@@ -32,11 +32,11 @@
     <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="../journal/css/create-journal.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.css">
+    <script src="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.js"></script>
+    <link rel="stylesheet" type="text/css" href="../journal/css/create-journal.css">
     <script src="js/peerfeedback.js"></script>
-        <omniDependencies:omniDependencies hierarchy="1"/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
 </head>
 
 <body>
@@ -51,7 +51,7 @@
                     <div class="line-spacer"></div>
                     <p><span> Datei zum Feedback: SelectedFile.pdf </span></p>
                     <p class="text-primary"><span> Kategorie: Untersuchungskonzept </span></p>
-                    <hr />
+                    <hr/>
                     <div class="form-check">
                         <input class="form-check-input" type="checkbox" value="" id="defaultCheck1">
                         <label class="form-check-label" for="defaultCheck1">
@@ -76,15 +76,15 @@
                             Ich habe eine Idee
                         </label>
                     </div>
-                    <hr />
+                    <hr/>
 
                     <div>
                         <table>
                             <tr>
-                                <td  id="yourContent">
+                                <td id="yourContent">
                                     <h2> Schreibe dein Feedback! </h2>
 
-                                    <form  id= "form" method="POST" action="../rest/peerfeedback/save">
+                                    <form id="form" method="POST" action="../rest/peerfeedback/save">
                                         <%--id="journalform" class="form-journal"--%>
                                         <input type="hidden" id="student" name="student">
                                         <input type="hidden" id="project" name="project">
@@ -109,7 +109,7 @@
 
                                             <div>
                                                 <p id="as">Now what</p>
-                                                <input type="button" value="get txt" onclick="go()" />
+                                                <input type="button" value="get txt" onclick="go()"/>
                                             </div>
 
                                         </div>
@@ -122,20 +122,19 @@
                     </div>
 
 
-
-                        <script>
-                            function goBack() {
-                                window.history.back();
-                            }
-                        </script>
+                    <script>
+                        function goBack() {
+                            window.history.back();
+                        }
+                    </script>
                 </tr>
                 </td>
 
 
-</tr>
-</table>
-</div>
-</div>
+                </tr>
+            </table>
+        </div>
+    </div>
     <footer:footer/>
 </div>
 </body>
diff --git a/gemeinsamforschen/src/main/webapp/feedback/js/givepeerfeedback.js b/gemeinsamforschen/src/main/webapp/feedback/js/givepeerfeedback.js
index 58721539a34d8a5af868d09fd6d25c6e87d8061f..947720aba927f3c7a76bb3589b557cc30597dd25 100644
--- a/gemeinsamforschen/src/main/webapp/feedback/js/givepeerfeedback.js
+++ b/gemeinsamforschen/src/main/webapp/feedback/js/givepeerfeedback.js
@@ -1,8 +1,7 @@
-
 var student = getQueryVariable("token");
 var project = getQueryVariable("projectId");
 
-$(document).ready(function() {
+$(document).ready(function () {
     $('#student').val(student);
     $('#project').val(project);
 
@@ -13,59 +12,60 @@ $(document).ready(function() {
     var sender = "sender";
     console.log(peerfeedbackID);
     //if(peerfeedbackID) {
-        $.ajax({
-            url: "../rest/peerfeedback/"+sender              //peerfeedbackID     {id}
+    $.ajax({
+        url: "../rest/peerfeedback/" + sender              //peerfeedbackID     {id}
 
-        }).then(function (data) {
-            //$('#editor').append(data.descriptionMD);
-            console.log("function1");
-            loadFeedback(data);
-            console.log("function2");
+    }).then(function (data) {
+        //$('#editor').append(data.descriptionMD);
+        console.log("function1");
+        loadFeedback(data);
+        console.log("function2");
 
-            //document.getElementById("Peerfeedback").innerHTML = data.text +"text";
-            //document.write(data);
-            //console.log(data);
-            /**
-            var newDiv = document.createElement("div");
-            var newContent = document.createTextNode(data.text);
-            newDiv.appendChild(newContent); // füge den Textknoten zum neu erstellten div hinzu.
+        //document.getElementById("Peerfeedback").innerHTML = data.text +"text";
+        //document.write(data);
+        //console.log(data);
+        /**
+         var newDiv = document.createElement("div");
+         var newContent = document.createTextNode(data.text);
+         newDiv.appendChild(newContent); // füge den Textknoten zum neu erstellten div hinzu.
 
-            // füge das neu erstellte Element und seinen Inhalt ins DOM ein
-            var currentDiv = document.getElementById("div1");
-            currentDiv.appendChild(newDiv);
-            //document.body.insertBefore(newDiv, currentDiv);
-            */
-            //$('#peerfeedbackID').val(peerfeedbackID);
-            console.log(data);
-        });
-   // }
+         // füge das neu erstellte Element und seinen Inhalt ins DOM ein
+         var currentDiv = document.getElementById("div1");
+         currentDiv.appendChild(newDiv);
+         //document.body.insertBefore(newDiv, currentDiv);
+         */
+        //$('#peerfeedbackID').val(peerfeedbackID);
+        console.log(data);
+    });
+
+    // }
     function loadFeedback(data) {
         for (var feedback in data) {
             /**var feedbackString = '<div class="pf-container">' +
-                '<div class="journal-date"> ' +
-                data[feedback].timestamp +
-                '</div>' +
-                '<div class="journal-name">' +
-                // TODO id to name
-                data[feedback].text +
-                '</div>' +
-                '<div class="journal-category">' +
-                data[feedback].id +
-                '</div>' +
-                '<div class="journal-edit" align="right">';
+             '<div class="journal-date"> ' +
+             data[feedback].timestamp +
+             '</div>' +
+             '<div class="journal-name">' +
+             // TODO id to name
+             data[feedback].text +
+             '</div>' +
+             '<div class="journal-category">' +
+             data[feedback].id +
+             '</div>' +
+             '<div class="journal-edit" align="right">';
 
-            feedbackString = feedbackString + '</div>' +
-                '<div class="journal-text">' +
-                data[feedback].entryHTML +
-                '</div>' +
-                '</div><br><br>';*/
+             feedbackString = feedbackString + '</div>' +
+             '<div class="journal-text">' +
+             data[feedback].entryHTML +
+             '</div>' +
+             '</div><br><br>';*/
 
             var newdiv = document.createElement("div");
 
 
             //newdiv.innerHTML = data[feedback].text;
             //newdiv.append(data[feedback].text);
-            newdiv.insertAdjacentHTML('beforeend',data[feedback].text);
+            newdiv.insertAdjacentHTML('beforeend', data[feedback].text);
             newdiv.className = "feedback-container";
             //var text = convertMarkdownToHtml(data[feedback].text);
             //var newcontent = document.createTextNode(data[feedback].text);
@@ -78,5 +78,6 @@ $(document).ready(function() {
             //document.getElementById("div").innerHTML = data[feedback].text;
 
             //$('.Peerfeedback').append(feedbackString)
-        }};
+        }
+    };
 })
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/feedback/js/peerfeedback.js b/gemeinsamforschen/src/main/webapp/feedback/js/peerfeedback.js
index 05bf9979063190089e21d01a32965c6d9016fa71..ef25a9809d4419051e0217442b27a988a4f4ffbd 100644
--- a/gemeinsamforschen/src/main/webapp/feedback/js/peerfeedback.js
+++ b/gemeinsamforschen/src/main/webapp/feedback/js/peerfeedback.js
@@ -22,7 +22,7 @@
 var student = getQueryVariable("token");
 var project = getQueryVariable("projectId");
 
-function go(){
+function go() {
     var a = document.getElementById("editor").valueOf().toString();
     var b = document.getElementById("as");
     b.innerHTML = a.toString();
@@ -32,7 +32,7 @@ function go(){
 
 }
 
-$(document).ready(function() {
+$(document).ready(function () {
     $('#student').val(student);
     $('#project').val(project);
 
@@ -41,15 +41,15 @@ $(document).ready(function() {
     }).then(function (data) {
         $('#editor').append(data.descriptionMD);
 
-       /** //TODO preselet in select tags
-        new InscrybMDE({
+        /** //TODO preselet in select tags
+         new InscrybMDE({
             element: document.getElementById("editor"),
             spellChecker: false,
             forceSync: true,
         });*/
 
         //console.log(data);
-       location.href="give-feedback.jsp?token=" + getUserTokenFromUrl();
-       alert("Feedback wurde gesendet!");
+        location.href = "give-feedback.jsp?token=" + getUserTokenFromUrl();
+        alert("Feedback wurde gesendet!");
     });
 })
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp b/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp
index b50e9f8921415b4e5fa7a16715c054c34045166e..7e5df8436f0212ebfcedff64336fea9b896d85c5 100644
--- a/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp
+++ b/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp
@@ -42,52 +42,52 @@
         <div>
             <table>
                 <tr>
-                    <tr>
-                        <th>Feedback Nachrichten von Student X</th>
-                    </tr>
+                <tr>
+                    <th>Feedback Nachrichten von Student X</th>
+                </tr>
 
 
-                        <td  id="filter-feedbacks">
+                <td id="filter-feedbacks">
 
 
-                            <%--<iframe width="90%" height="200%" src="http://rocketchat.westeurope.cloudapp.azure.com/channel/general?layout=embedded"></iframe>
-                            --%>
-                            <%--<p id="view"></p>      type="hidden"--%>
-                            <input  type="hidden" name="peerfeedbackID" id="peerfeedbackID-input" value=""/>
-                                <div style="height: 100px; overflow: auto">
-                                <div class="feedback-container">
-                                    <p>Sender</p>
-                                    <span class="time-right">11:00</span>
-                                </div>
-                                </div>
+                    <%--<iframe width="90%" height="200%" src="http://rocketchat.westeurope.cloudapp.azure.com/channel/general?layout=embedded"></iframe>
+                    --%>
+                    <%--<p id="view"></p>      type="hidden"--%>
+                    <input type="hidden" name="peerfeedbackID" id="peerfeedbackID-input" value=""/>
+                    <div style="height: 100px; overflow: auto">
+                        <div class="feedback-container">
+                            <p>Sender</p>
+                            <span class="time-right">11:00</span>
+                        </div>
+                    </div>
 
 
-                        </td>
+                </td>
 
 
-                        <td id="view-feedbacks">
+                <td id="view-feedbacks">
 
-                            <div style="height: 300px; overflow: auto">
+                    <div style="height: 300px; overflow: auto">
 
-                            <div class="feedback-container">
-                                <p>Hello. How are you today?</p>
-                                <span class="time-right">11:00</span>
-                            </div>
+                        <div class="feedback-container">
+                            <p>Hello. How are you today?</p>
+                            <span class="time-right">11:00</span>
+                        </div>
 
-                            <div class="feedback-container">
-                                <p>Hey! I'm fine. Thanks for asking!</p>
-                                <span class="time-left">11:01</span>
-                            </div>
+                        <div class="feedback-container">
+                            <p>Hey! I'm fine. Thanks for asking!</p>
+                            <span class="time-left">11:01</span>
+                        </div>
 
-                            <div class="feedback-container">
-                                <p>Sweet! So, what do you wanna do today?</p>
-                                <span class="time-right">11:02</span>
-                            </div>
+                        <div class="feedback-container">
+                            <p>Sweet! So, what do you wanna do today?</p>
+                            <span class="time-right">11:02</span>
+                        </div>
 
-                            <div id="div1"></div>
+                        <div id="div1"></div>
 
-                            </div>
-                        </td>
+                    </div>
+                </td>
 
 
                 <button class="btn btn-secondary" onclick="goBack()">Zur&uuml;ck</button>
@@ -101,8 +101,7 @@
                     </td>
 
 
-
-                    <td  id="chat">
+                <td id="chat">
                         <div class="card">
                             <div class="card-header">
                                 <h6 class="mb-0">Gruppen+Projekt Chat</h6>
diff --git a/gemeinsamforschen/src/main/webapp/groupfinding/create-groups.jsp b/gemeinsamforschen/src/main/webapp/groupfinding/create-groups.jsp
index 2959e4b75e27810fe9d5a60dfcb722cb27916017..287c8a769d15d461270e638401f63e5ad1b44e6e 100644
--- a/gemeinsamforschen/src/main/webapp/groupfinding/create-groups.jsp
+++ b/gemeinsamforschen/src/main/webapp/groupfinding/create-groups.jsp
@@ -17,7 +17,7 @@
         student1<br>
         student2<br>
         <br>
-        in Gruppe 1    2     3
+        in Gruppe 1 2 3
     </div>
 </div>
 </body>
diff --git a/gemeinsamforschen/src/main/webapp/journal/css/eportfolio.css b/gemeinsamforschen/src/main/webapp/journal/css/eportfolio.css
index eaf72ed574d05d1b2f3f77784f42e01966a24803..6b37059d3a1806efffd145b305aa957a71197574 100644
--- a/gemeinsamforschen/src/main/webapp/journal/css/eportfolio.css
+++ b/gemeinsamforschen/src/main/webapp/journal/css/eportfolio.css
@@ -2,8 +2,7 @@
     display: grid;
     grid-gap: 10px;
     grid-template-columns: 2fr 1fr 15%;
-    grid-template-areas:
-            "edit edit group"
+    grid-template-areas: "edit edit group"
             "text text links"
             "text text ..."
 ;
diff --git a/gemeinsamforschen/src/main/webapp/management/edit-project.jsp b/gemeinsamforschen/src/main/webapp/journal/edit-description.jsp
similarity index 87%
rename from gemeinsamforschen/src/main/webapp/management/edit-project.jsp
rename to gemeinsamforschen/src/main/webapp/journal/edit-description.jsp
index 3e585224e3c6229b6c96f9f8a5172ac52dac98ea..c374cad536cfa764acdf402284678fe388c873c3 100644
--- a/gemeinsamforschen/src/main/webapp/management/edit-project.jsp
+++ b/gemeinsamforschen/src/main/webapp/journal/edit-description.jsp
@@ -8,8 +8,9 @@
 
     <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 hierarchy="1"/>
+    <script  src="js/edit-description.js"></script>
+
 
 </head>
 
@@ -34,7 +35,8 @@
                     <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">
@@ -42,7 +44,7 @@
                             <div class="description-form-container">
 
                                 <div class ="description-form-editor">
-                                    <textarea id = "editor" name="text" form="descriptionform"></textarea>
+                                    <textarea id="editor" name="text" form="descriptionform"></textarea>
                                 </div>
 
                                 <div class="description-form-buttons">
@@ -59,7 +61,7 @@
         </div>
     </div>
 </div>
-<script  src="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/journal/eportfolio.jsp b/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp
index 3ccb22263902e13f18ad21118ae530bece296ecd..0a075463793d7c03325a65edeb0add25ee4e1ba0 100644
--- a/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp
+++ b/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp
@@ -1,4 +1,4 @@
-<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 
 <!DOCTYPE html>
@@ -44,7 +44,7 @@
                               <div class="journal-description-container">
                                     <div class="journal-description-title">
                                     </div>
-                                    <div class="journal-description-edit" id="description-edit" align="right">
+                                  <div class="journal-description-edit" id="description-edit" align="right">
                                         <a id="editDescriptionLink" class="btn btn-default btn-sm">
                                             <i class="fa fa-pencil"></i> Bearbeiten</a>
                                         <a class="btn btn-default btn-sm" data-toggle="modal" data-target="#closeDescriptionModal"><i class="fa fa-check-square" aria-hidden="true"></i>Abschlie&szlig;en</a>
@@ -149,7 +149,9 @@
             </div>
             <div class="modal-footer">
                 <div class="btn-group">
-                    <button type="button" class="btn btn-primary mr-auto" data-dismiss="modal" onclick="closeDescription()">Ja</button>
+                    <button type="button" class="btn btn-primary mr-auto" data-dismiss="modal"
+                            onclick="closeDescription()">Ja
+                    </button>
                     <button type="button" class="btn btn-secondary" data-dismiss="modal">Nein</button>
 
                 </div>
diff --git a/gemeinsamforschen/src/main/webapp/journal/js/create-journal.js b/gemeinsamforschen/src/main/webapp/journal/js/create-journal.js
index c664f15fcd3b757da953215a19f3ed09f40fe49b..18fe4660327645544f3e206439e79e3d32857084 100644
--- a/gemeinsamforschen/src/main/webapp/journal/js/create-journal.js
+++ b/gemeinsamforschen/src/main/webapp/journal/js/create-journal.js
@@ -2,11 +2,11 @@ var student = getQueryVariable("token");
 var project = getQueryVariable("projectId");
 
 
-$(document).ready(function() {
+$(document).ready(function () {
     $('#student').val(student);
     $('#project').val(project);
 
-    $('#backLink').on('click', function(){
+    $('#backLink').on('click', function () {
         location.href = "eportfolio.jsp?token=" + student + "&projectId=" + project;
     });
 
diff --git a/gemeinsamforschen/src/main/webapp/journal/js/edit-description.js b/gemeinsamforschen/src/main/webapp/journal/js/edit-description.js
new file mode 100644
index 0000000000000000000000000000000000000000..c664f15fcd3b757da953215a19f3ed09f40fe49b
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/journal/js/edit-description.js
@@ -0,0 +1,28 @@
+var student = getQueryVariable("token");
+var project = getQueryVariable("projectId");
+
+
+$(document).ready(function() {
+    $('#student').val(student);
+    $('#project').val(project);
+
+    $('#backLink').on('click', function(){
+        location.href = "eportfolio.jsp?token=" + student + "&projectId=" + project;
+    });
+
+    $.ajax({
+        url: "../rest/projectdescription/" + student + "/" + project
+    }).then(function (data) {
+        $('#editor').append(data.descriptionMD);
+
+        //TODO preselet in select tags
+        new InscrybMDE({
+            element: document.getElementById("editor"),
+            spellChecker: false,
+            forceSync: true,
+        });
+
+        console.log(data);
+
+    });
+})
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/journal/js/eportfolio.js b/gemeinsamforschen/src/main/webapp/journal/js/eportfolio.js
index d01f00884d97114d88996f7f170f9f3445b869fe..f33ee9a152126b71705dcc9b401eb8b7170c5826 100644
--- a/gemeinsamforschen/src/main/webapp/journal/js/eportfolio.js
+++ b/gemeinsamforschen/src/main/webapp/journal/js/eportfolio.js
@@ -2,26 +2,26 @@ var student = getQueryVariable("token");
 var project = getQueryVariable("projectId");
 var description = 0;
 
-$(document).ready(function() {
+$(document).ready(function () {
     $.ajax({
         url: "../rest/projectdescription/" + project + "/" + student
-    }).then(function(data) {
+    }).then(function (data) {
         console.log("desc: " + data);
         description = data.id;
         $('#projectdescriptionId').val(description);
 
-        if (!data.open){
+        if (!data.open) {
             $("#description-edit").remove();
         }
         $('.journal-description-text').append(data.descriptionHTML);
-        for(var ii in data.links){
+        for (var ii in data.links) {
             console.log(data.links[ii])
-            $('.journal-description-links').append('<button class="btn btn-default btn-xs" onclick=\'linkLoeschen("'+data.links[ii].id +'")\'> <i class="fa fa-trash" aria-hidden="true" ></i></button><a href=' + data.links[ii].link + '>' + data.links[ii].name + '</a> <br/>');
+            $('.journal-description-links').append('<button class="btn btn-default btn-xs" onclick=\'linkLoeschen("' + data.links[ii].id + '")\'> <i class="fa fa-trash" aria-hidden="true" ></i></button><a href=' + data.links[ii].link + '>' + data.links[ii].name + '</a> <br/>');
         }
         $('.journal-description-links').append('<button type="button" class="btn btn-default btn-xs" data-toggle="modal" data-target="#addLinkModal"><i class="fa fa-plus" aria-hidden="true"></i></button>');
 
-        for(var g in data.group){
-            $('.journal-description-group').append(data.group[g]+ '<br/>');
+        for (var g in data.group) {
+            $('.journal-description-group').append(data.group[g] + '<br/>');
 
         }
 
@@ -32,13 +32,13 @@ $(document).ready(function() {
 
     $.ajax({
         url: "../rest/journal/journals/" + student + "/" + project + "/ALL"
-    }).then(function(data) {
+    }).then(function (data) {
         loadJournals(data);
         console.log(data);
     });
 
     $('#editDescriptionLink').on('click', function () {
-        location.href = "edit-project.jsp?project=" + project + "&token=" + student + "&projectId=" + project;
+        location.href = "edit-description.jsp?project=" + project + "&token=" + student + "&projectId=" + project;
     });
 
     $('#createJournalLink').on('click', function () {
@@ -60,13 +60,13 @@ function timestampToDateString(timestamp) {
 }
 
 function filterJournals() {
-    var filter = $( '#journalfilter option:selected' ).val();
+    var filter = $('#journalfilter option:selected').val();
     project = getQueryVariable("projectId");
     $('.journal').empty();
 
     $.ajax({
         url: "../rest/journal/journals/" + student + "/" + project + "/" + filter
-    }).then(function(data) {
+    }).then(function (data) {
         loadJournals(data);
         console.log(data);
 
@@ -108,7 +108,8 @@ function loadJournals(data) {
             '</div><br><br>';
 
         $('.journal').append(journalString)
-    }};
+    }
+};
 
 function linkLoeschen(id) {
     console.log("löschen" + id);
diff --git a/gemeinsamforschen/src/main/webapp/libs/img/arrow.png b/gemeinsamforschen/src/main/webapp/libs/img/arrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..ef700a4dad17e7889f1b73516670d46aea0a1fd3
Binary files /dev/null and b/gemeinsamforschen/src/main/webapp/libs/img/arrow.png differ
diff --git a/gemeinsamforschen/src/main/webapp/libs/img/fides-logo.svg b/gemeinsamforschen/src/main/webapp/libs/img/fides-logo.svg
index eeabb24f45f83da9fa51d7dc99c6733b1fbe0601..e27410a124eee7a40da6486fdc473616c0c6044f 100644
--- a/gemeinsamforschen/src/main/webapp/libs/img/fides-logo.svg
+++ b/gemeinsamforschen/src/main/webapp/libs/img/fides-logo.svg
@@ -6,7 +6,6 @@
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:cc="http://creativecommons.org/ns#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
diff --git a/gemeinsamforschen/src/main/webapp/management/change-phase.jsp b/gemeinsamforschen/src/main/webapp/management/change-phase.jsp
index 33d0d5a0b53caa9ce310020bd409c48771c49b0d..7611cd906edae79c0609b2dd5f9a56bdad421da1 100644
--- a/gemeinsamforschen/src/main/webapp/management/change-phase.jsp
+++ b/gemeinsamforschen/src/main/webapp/management/change-phase.jsp
@@ -9,6 +9,7 @@
 <head>
     <omniDependencies:omniDependencies hierarchy="1"/>
     <script src="js/changePhase.js"></script>
+    <link href="css/changePhase.css" rel="stylesheet">
 </head>
 
 <body>
@@ -16,23 +17,26 @@
     <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
         <headLine:headLine/>
-        <div class="alert" id="CourseCreation">
-            <button id="btnCourseCreation" class="btn btn-secondary">Projekterstellungsphase</button>
-        </div>
-        <div class="alert" id="GroupFormation">
-            <button id="btnGroupformation" class="btn btn-secondary">Gruppen erstellen</button>
-        </div>
-        <div class="alert" id="DossierFeedback">
-            <button id="btnDossierFeedback" class="btn btn-secondary">Feedbackphase</button>
-        </div>
-        <div class="alert" id="Execution">
-            <button id="btnExecution" class="btn btn-secondary">Durchführungsphase</button>
-        </div>
-        <div class="alert" id="Assessment">
-            <button id="btnAssessment" class="btn btn-secondary">Bewertungsphase</button>
-        </div>
-        <div class="alert" id="end">
-            <button id="btnProjectfinished" class="btn btn-secondary">Ende</button>
+        <div class="container-fluid">
+            <input type="image" src="../libs/img/arrow.png" class="arrow" id="changePhase"/>
+            <div class="alert" id="CourseCreation">
+                <p>Projekterstellungsphase</p>
+            </div>
+            <div class="alert" id="GroupFormation">
+                <p>Gruppen erstellen</p>
+            </div>
+            <div class="alert" id="DossierFeedback">
+                <p>Feedbackphase</p>
+            </div>
+            <div class="alert" id="Execution">
+                <p>Durchführungsphase</p>
+            </div>
+            <div class="alert" id="Assessment">
+                <p>Bewertungsphase</p>
+            </div>
+            <div class="alert" id="end">
+                <p>Ende</p>
+            </div>
         </div>
     </div>
     <footer:footer/>
diff --git a/gemeinsamforschen/src/main/webapp/management/css/changePhase.css b/gemeinsamforschen/src/main/webapp/management/css/changePhase.css
new file mode 100644
index 0000000000000000000000000000000000000000..ec554712ee45dae725c9e8c3ec1a4a3ffe3189cd
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/management/css/changePhase.css
@@ -0,0 +1,23 @@
+.arrow {
+    position:absolute;
+    margin-left:160px;
+    height:90px;
+}
+.arrowCourseCreation{
+    margin-top:20px;
+}
+.arrowGroupFormation{
+    margin-top:90px;
+}
+.arrowDossierFeedback{
+    margin-top:160px;
+}
+.arrowExecution{
+    margin-top:210px;
+}
+.arrowAssessment{
+    margin-top:280px;
+}
+.arrowDone{
+    visibility: hidden;
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/management/delete-project.jsp b/gemeinsamforschen/src/main/webapp/management/delete-project.jsp
index d3cdd4cd3007f94d77cd5e1fa913d67a1fb816f3..357e583544f5add6c0afc1760e5f0b3a216cc1a2 100644
--- a/gemeinsamforschen/src/main/webapp/management/delete-project.jsp
+++ b/gemeinsamforschen/src/main/webapp/management/delete-project.jsp
@@ -33,26 +33,26 @@
             </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>
+        <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>
+    </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>
diff --git a/gemeinsamforschen/src/main/webapp/management/enter-preferences.jsp b/gemeinsamforschen/src/main/webapp/management/enter-preferences.jsp
index f5aaa888d4c2664f520a8b6e8ce37ba7b45e41b4..c8190bcd6faf2d0deaeedc5ba7e8ec03a28c5442 100644
--- a/gemeinsamforschen/src/main/webapp/management/enter-preferences.jsp
+++ b/gemeinsamforschen/src/main/webapp/management/enter-preferences.jsp
@@ -73,7 +73,8 @@
     </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>
+        <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>
diff --git a/gemeinsamforschen/src/main/webapp/management/groups.jsp b/gemeinsamforschen/src/main/webapp/management/groups.jsp
index ce3bbf59c16fd39a6a6d79cfd832b21d600a2ecd..a2097cf6502ca6db28cd70e6506e195579f35516 100644
--- a/gemeinsamforschen/src/main/webapp/management/groups.jsp
+++ b/gemeinsamforschen/src/main/webapp/management/groups.jsp
@@ -21,7 +21,6 @@
     <script src="js/Sidebar-Menu.js"></script>
 
 
-
 </head>
 
 <body>
@@ -57,30 +56,30 @@
                 </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">
+            <!-- <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="student3">
 
-                </tr>
-                <tr id="student4">
+                 </tr>
+                 <tr id="student4">
 
-                </tr>
-                <tr id="student5">
+                 </tr>
+                 <tr id="student5">
 
-                </tr>
+                 </tr>
 
-                </tbody>
+                 </tbody>
 
-            </table>-->
+             </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>
diff --git a/gemeinsamforschen/src/main/webapp/management/join-project.jsp b/gemeinsamforschen/src/main/webapp/management/join-project.jsp
index 3dca2a077cdc5db5207f37e067e5b91d2d6a460e..0acaa5844f95826b75db1ba91b0481cbdb7a4a06 100644
--- a/gemeinsamforschen/src/main/webapp/management/join-project.jsp
+++ b/gemeinsamforschen/src/main/webapp/management/join-project.jsp
@@ -40,26 +40,26 @@
             </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>
+        <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>
+    </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>
 
diff --git a/gemeinsamforschen/src/main/webapp/management/js/changePhase.js b/gemeinsamforschen/src/main/webapp/management/js/changePhase.js
index d35d4ceb258534952e37a952450705f2c0f24b4d..5ef87fff4fc45379e7cec042e97dd68b9d92c36e 100644
--- a/gemeinsamforschen/src/main/webapp/management/js/changePhase.js
+++ b/gemeinsamforschen/src/main/webapp/management/js/changePhase.js
@@ -1,15 +1,17 @@
 $(document).ready(function () {
     let projectId = $('#projectId').html().trim();
     $.ajax({
-        url: '../rest/phases/projects/'+projectId,
+        url: '../rest/phases/projects/' + projectId,
         headers: {
             "Content-Type": "application/json",
             "Cache-Control": "no-cache"
         },
         type: 'GET',
         success: function (response) {
-            let phaseDiv = $('#'+response);
-            if (phaseDiv !== null){
+            let arrow = $('#changePhase');
+            arrow.toggleClass('arrow'+response);
+            let phaseDiv = $('#' + response);
+            if (phaseDiv !== null) {
                 phaseDiv.toggleClass('alert-info');
             } else {
                 $('#end').toggleClass('alert-info');
@@ -19,37 +21,36 @@ $(document).ready(function () {
 
         }
     });
-    $('#btnAssessment').on('click', function(){
-        changePhase('Assessment');
-    });
-    $('#btnExecution').on('click', function(){
-        changePhase('Execution');
-    });
-    $('#btnGroupformation').on('click', function(){
-        changePhase('GroupFormation');
-    });
-    $('#btnCourseCreation').on('click', function(){
-        changePhase('CourseCreation');
-    });
-    $('#btnDossierFeedback').on('click', function(){
-        changePhase('DossierFeedback');
-    });
-    $('#btnProjectfinished').on('click', function(){
-        changePhase('Projectfinished');
+    $('#changePhase').on('click', function () {
+        let projectId = $('#projectId').html().trim();
+        $.ajax({
+            url: '../rest/phases/projects/'+projectId,
+            headers: {
+                "Content-Type": "application/json",
+                "Cache-Control": "no-cache"
+            },
+            type: 'GET',
+            success: function (response) {
+        changePhase(response);
+            },
+            error: function (a) {
+
+            }
+        });
     });
 });
 
-function changePhase(toPhase){
+function changePhase(currentPhase) {
     let projectId = $('#projectId').html().trim();
     $.ajax({
-        url: '../rest/phases/'+toPhase+'/projects/'+projectId,
+        url: '../rest/phases/' + currentPhase + '/projects/' + projectId,
         headers: {
             "Content-Type": "application/json",
             "Cache-Control": "no-cache"
         },
         type: 'POST',
         success: function () {
-            location.href="#"
+            location.reload(1);
         },
         error: function (a) {
 
diff --git a/gemeinsamforschen/src/main/webapp/management/js/createPreferences.js b/gemeinsamforschen/src/main/webapp/management/js/createPreferences.js
index 90b4243fbcaf44130bdc34b880fa01bedde101e3..347f8b0b6b27d77a1f5c20d3cf729a5eb40917a0 100644
--- a/gemeinsamforschen/src/main/webapp/management/js/createPreferences.js
+++ b/gemeinsamforschen/src/main/webapp/management/js/createPreferences.js
@@ -4,7 +4,7 @@
 
 
 $(document).ready(function () {
-var projectName = getProjectByToken();
+    var projectName = getProjectByToken();
     getTags(projectName);
     $("#competencies0").focus();
     $("#studentFormSubmit").on("click", function () {
@@ -25,7 +25,7 @@ var projectName = getProjectByToken();
 
 });
 
-function getProjectByToken(){
+function getProjectByToken() {
     return $('#projectName').text().trim();
 }
 
@@ -65,8 +65,8 @@ function getTags(projectName) {
                 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>"
+                    + "<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);
@@ -97,7 +97,7 @@ function takesPartInProject() {
         if (document.getElementById("tag" + i).checked) {
             allTheTags.push(document.getElementById("tag" + i).value);
         }
-        if ($("#tag"+i).prop("checked"))
+        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) {
diff --git a/gemeinsamforschen/src/main/webapp/management/js/deleteProject.js b/gemeinsamforschen/src/main/webapp/management/js/deleteProject.js
index c3b488def69f02e9e13f1c3adfb79e43a5ea38d8..d930682fc823ccbdbbd56b5b3c9e7efb1df6bf94 100644
--- a/gemeinsamforschen/src/main/webapp/management/js/deleteProject.js
+++ b/gemeinsamforschen/src/main/webapp/management/js/deleteProject.js
@@ -27,7 +27,7 @@ function deleteProject(projectName) {
                 } else {
                     if (response !== "wrong password") {            //if response !== project missing and not wrong password, its the projectToken
                         $.ajax({
-                            url: compbaseUrl+"/api1/courses/"+projectName,
+                            url: compbaseUrl + "/api1/courses/" + projectName,
                             Accept: "text/plain; charset=utf-8",
                             type: 'DELETE',
                             contentType: "text/plain",
@@ -39,7 +39,7 @@ function deleteProject(projectName) {
                                 console.log(a);
                             }
                         });
-                        window.location.href = " ../pages/projects.php?token="+getUserTokenFromUrl();
+                        window.location.href = " ../pages/projects.php?token=" + getUserTokenFromUrl();
                     } else {
                         $("#projectIsMissing").hide();
                         $('#projectWrongPassword').show();
diff --git a/gemeinsamforschen/src/main/webapp/management/js/myGroupsInit.js b/gemeinsamforschen/src/main/webapp/management/js/myGroupsInit.js
index 11d871a4c901abf49866f35f480bf574c3606fa6..e4c364032e957885fc322d21c776b515218b781e 100644
--- a/gemeinsamforschen/src/main/webapp/management/js/myGroupsInit.js
+++ b/gemeinsamforschen/src/main/webapp/management/js/myGroupsInit.js
@@ -21,6 +21,7 @@ function printProjectDropdown(projects, numberOfProjectsPrinted) {
         menu.appendChild(option);
     }
 }
+
 function getProjects(user) {
     var url = compbaseUrl + "/api2/user/" + user + "/projects";
     $.ajax({
@@ -90,6 +91,7 @@ function printGroupTable(student1, student2, student3, student4) {
     });
     return innerurl;
 }
+
 function getMembers(project, user) {        //gets all Members in the chosen Project user is a part of with email adresses
 
     $("#tablesHolder").empty();
@@ -112,7 +114,7 @@ function getMembers(project, user) {        //gets all Members in the chosen Pro
                 printGroupTable(student1, student2, student3, student4);
             }
         },
-        error: function(data) {
+        error: function (data) {
             $("#tablesHolder").append("<p>Es wurden keine Gruppen gefunden. Das Projekt muss mehr als 5 Teilnehmer haben!</p>")
         }
 
diff --git a/gemeinsamforschen/src/main/webapp/management/js/overview-docent.js b/gemeinsamforschen/src/main/webapp/management/js/overview-docent.js
index 57444d11682ab734826fd91d6b29f3619847520a..e24bb7d35e3a65790e734e1b14601b554afd74bb 100644
--- a/gemeinsamforschen/src/main/webapp/management/js/overview-docent.js
+++ b/gemeinsamforschen/src/main/webapp/management/js/overview-docent.js
@@ -1,14 +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';
+$(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';
+    $('#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();
+    $('#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
index 898f3f5e00183d9549a84cb5c3028be9aa7f5bd6..bacf8adfc8feaf83fb00f0ce531de68ab9e45656 100644
--- a/gemeinsamforschen/src/main/webapp/management/js/overview-student.js
+++ b/gemeinsamforschen/src/main/webapp/management/js/overview-student.js
@@ -1,11 +1,11 @@
-$(document).ready(function(){
-    $('#project1Link').on('click', function(){
-        location.href="project-student.jsp?token="+getUserTokenFromUrl()+'&projectId='+'gemeinsamForschen';
+$(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';
+    $('#project2Link').on('click', function () {
+        location.href = "project-student.jsp?token=" + getUserTokenFromUrl() + '&projectId=' + 'Kaleo';
     });
-    $('#enrollProject').on('click', function(){
-        location.href="enrollProject.jsp?token="+getUserTokenFromUrl();
+    $('#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
index a78bb0cda5635640c87505b6e1e0e218a965bf96..3030448cf860c8360e54db0729f2764b71abd64e 100644
--- a/gemeinsamforschen/src/main/webapp/management/js/overview.js
+++ b/gemeinsamforschen/src/main/webapp/management/js/overview.js
@@ -23,7 +23,7 @@ function printProjects(projects, offset) {
             //'<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>' +
+                '<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>';
@@ -39,6 +39,7 @@ function printProjects(projects, offset) {
     //$('#deleteModal').modal('show');
 
 }
+
 function getProjectOverview(user) {
     var url = compbaseUrl + "/api2/user/" + user + "/projects";
     $.ajax({
@@ -85,8 +86,6 @@ function getTags(projectName, number) {
 }
 
 
-
-
 function getGroups(projectName) {
     var pathName = document.getElementsByName("pathProject");
     pathName[0].innerHTML = projectName;
diff --git a/gemeinsamforschen/src/main/webapp/management/js/project-student.js b/gemeinsamforschen/src/main/webapp/management/js/project-student.js
index 83f391e0292fd8826edcb26564892f71b496ca52..2c31980687d9d716aca1a779fdad50a14f99881b 100644
--- a/gemeinsamforschen/src/main/webapp/management/js/project-student.js
+++ b/gemeinsamforschen/src/main/webapp/management/js/project-student.js
@@ -1,7 +1,7 @@
-$(document).ready(function(){
+$(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-document.jsp?token=" + getUserTokenFromUrl() +
                 "&projectId=" + getQueryVariable("projectId") +
                 "&fullSubmissionId=" + fullSubmissionId +
                 "&category=" + category;
         });
-        
+
     }, function () {
         // display empty view
         displayEmptyView()
@@ -30,22 +30,22 @@ $(document).ready(function(){
     });
     */
     $('.givefeedback').click(function () {
-        location.href="give-feedback.jsp?token="+getUserTokenFromUrl();
+        location.href = "give-feedback.jsp?token=" + getUserTokenFromUrl();
     });
     $('.viewfeedback').click(function () {
-        location.href="view-feedback.jsp?token="+getUserTokenFromUrl();
+        location.href = "view-feedback.jsp?token=" + getUserTokenFromUrl();
     });
 
     $('.annotationview').click(function () {
-        location.href="annotation-document.jsp?token="+getUserTokenFromUrl();
+        location.href = "annotation-document.jsp?token=" + getUserTokenFromUrl();
     });
 
     $('#btnUnstructuredUpload').click(function () {
-        location.href="upload-unstructured-annotation.jsp?token="+getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
+        location.href = "upload-unstructured-annotation.jsp?token=" + getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
     })
 
     $('.viewprojectstudent').click(function () {
-        location.href="project-student.jsp?token="+getUserTokenFromUrl();
+        location.href = "project-student.jsp?token=" + getUserTokenFromUrl();
     })
 });
 
@@ -62,10 +62,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/management/js/showProjects.js b/gemeinsamforschen/src/main/webapp/management/js/showProjects.js
index ff687d3f310be2d92ae07cc89f27192ce1b194f5..e31045e77f438a1b57d3bf39db5d2c74c2db7541 100644
--- a/gemeinsamforschen/src/main/webapp/management/js/showProjects.js
+++ b/gemeinsamforschen/src/main/webapp/management/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="enter-preferences.jsp?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/overview-docent.jsp b/gemeinsamforschen/src/main/webapp/overview-docent.jsp
index b90362fcfb6f42c332b75cc2ad9f6957014ab30e..77214d7b826af4cfda4aee461691d3d4a4fdc3c7 100644
--- a/gemeinsamforschen/src/main/webapp/overview-docent.jsp
+++ b/gemeinsamforschen/src/main/webapp/overview-docent.jsp
@@ -1,4 +1,4 @@
-<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ page 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" %>
diff --git a/gemeinsamforschen/src/main/webapp/profile/js/profile.js b/gemeinsamforschen/src/main/webapp/profile/js/profile.js
index 63b2a09e747bacbc099f3f188ccc0d1222799881..cfe3e34ed13c68d25bb58a6d73b6e7b2f6f7185b 100644
--- a/gemeinsamforschen/src/main/webapp/profile/js/profile.js
+++ b/gemeinsamforschen/src/main/webapp/profile/js/profile.js
@@ -20,27 +20,26 @@ $(document).ready(function (e) {
     }));*/
 
 // Function to preview image after validation
-    $(function() {
-        $("#file").change(function() {
+    $(function () {
+        $("#file").change(function () {
             $("#message").empty(); // To remove the previous error message
             let file = this.files[0];
-            let match= ["image/jpeg","image/png","image/jpg"];
-            if(!((file.type===match[0]) || (file.type===match[1]) || (file.type===match[2])))
-            {
-                $('#previewing').attr('src','noimage.png');
-                $("#message").html("<p id='error'>Please Select A valid Image File</p>"+"<h4>Note</h4>"+"<span id='error_message'>Only jpeg, jpg and png Images type allowed</span>");
+            let match = ["image/jpeg", "image/png", "image/jpg"];
+            if (!((file.type === match[0]) || (file.type === match[1]) || (file.type === match[2]))) {
+                $('#previewing').attr('src', 'noimage.png');
+                $("#message").html("<p id='error'>Please Select A valid Image File</p>" + "<h4>Note</h4>" + "<span id='error_message'>Only jpeg, jpg and png Images type allowed</span>");
                 return false;
             }
-            else
-            {
+            else {
                 var reader = new FileReader();
                 reader.onload = imageIsLoaded;
                 reader.readAsDataURL(this.files[0]);
             }
         });
     });
+
     function imageIsLoaded(e) {
-        $("#file").css("color","green");
+        $("#file").css("color", "green");
         $('#image_preview').css("display", "block");
         $('#previewing').attr('src', e.target.result);
         $('#previewing').attr('width', '250px');
diff --git a/gemeinsamforschen/src/main/webapp/profile/profile.jsp b/gemeinsamforschen/src/main/webapp/profile/profile.jsp
index 3304224efeba919ade02152bac8df561c3cb530a..1edda82c2dd32081d525419978d44c2cfd9fab9e 100644
--- a/gemeinsamforschen/src/main/webapp/profile/profile.jsp
+++ b/gemeinsamforschen/src/main/webapp/profile/profile.jsp
@@ -1,6 +1,6 @@
 <%@ page import="unipotsdam.gf.core.management.ManagementImpl" %>
 <%@ page import="unipotsdam.gf.core.management.user.User" %>
-<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ 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,7 +11,8 @@
 
 <head>
     <omniDependencies:omniDependencies hierarchy="1"/>
-    <link href='http://fonts.googleapis.com/css?family=Roboto+Condensed|Open+Sans+Condensed:300' rel='stylesheet' type='text/css'>
+    <link href='http://fonts.googleapis.com/css?family=Roboto+Condensed|Open+Sans+Condensed:300' rel='stylesheet'
+          type='text/css'>
     <script src="js/profile.js"></script>
 </head>
 
@@ -42,12 +43,12 @@
                             <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="../libs/img/noImg.png" /></div>
+                                    <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/>
-                                        <input type="file" name="image" id="file" required />
-                                        <input type="submit" value="Upload" class="submit" />
+                                        <input type="file" name="image" id="file" required/>
+                                        <input type="submit" value="Upload" class="submit"/>
                                     </div>
                                 </form>
                                 <p id="message"></p>
diff --git a/gemeinsamforschen/src/main/webapp/project-docent.jsp b/gemeinsamforschen/src/main/webapp/project-docent.jsp
index 1533c0d4b5cd540f5c00cc006df3735b55d49b0e..6b85e644e071b59e5193b16032fbfa100a6f77d4 100644
--- a/gemeinsamforschen/src/main/webapp/project-docent.jsp
+++ b/gemeinsamforschen/src/main/webapp/project-docent.jsp
@@ -6,7 +6,6 @@
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
 
 
-
 <!DOCTYPE html>
 <html>
 
@@ -94,7 +93,7 @@
     </div>
     <footer:footer/>
 </div>
-<communication:chatWindow orientation="right" />
+<communication:chatWindow orientation="right"/>
 </body>
 
 </html>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/project-student.jsp b/gemeinsamforschen/src/main/webapp/project-student.jsp
index 63562e8b66fa2b753455eb8d8b703094a1687d89..d27e960d852250057d2b69873c2674d35ec9eff6 100644
--- a/gemeinsamforschen/src/main/webapp/project-student.jsp
+++ b/gemeinsamforschen/src/main/webapp/project-student.jsp
@@ -6,7 +6,6 @@
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="footer" %>
 
 
-
 <!--todo: E-mail an Studenten als Notifikation für Phasenwechsel -->
 
 
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-bibliography.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-bibliography.jsp
index c873d1f9dc3079141f0e1eac0ca9797c1f0faeed..5e788a308e671871138ca9f620845f615d07676b 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-bibliography.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-bibliography.jsp
@@ -1,5 +1,5 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 <!DOCTYPE html>
@@ -13,13 +13,13 @@ den Zustand ändert
 <head>
     <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-plugin-image-preview/dist/filepond-plugin-image-preview.css"
+          rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="css/researchReport.css">
 </head>
 <body>
 
 
-
 <div id="wrapper">
     <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
@@ -27,41 +27,45 @@ den Zustand ändert
         <div style="margin-left:50px;">
             <table>
                 <tr>
-                    <td  id="yourContent">
-                        <form id="researchReportform" class="researchReportForm" method="POST" action="../rest/researchReport/save">
+                    <td id="yourContent">
+                        <form id="researchReportform" class="researchReportForm" method="POST"
+                              action="../rest/researchReport/save">
 
 
-    <div class = "researchReportTitlebar">
-        <h1> Forschungsbericht erstellen 3/8</h1>
-    </div>
+                            <div class="researchReportTitlebar">
+                                <h1> Forschungsbericht erstellen 3/8</h1>
+                            </div>
 
-    <div class ="researchReportEditor">
-        <h2 class="editor-inhalt">Literaturverzeichnis eingeben:</h2>
-        <textarea id = "editor" name="text" form="researchReportForm" rows="20" cols="100">
+                            <div class="researchReportEditor">
+                                <h2 class="editor-inhalt">Literaturverzeichnis eingeben:</h2>
+                                <textarea id="editor" name="text" form="researchReportForm" rows="20" cols="100">
 				</textarea>
-    </div>
-    <div class="ResearchReportButtons">
-        <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>
-    </div>
+                            </div>
+                            <div class="ResearchReportButtons">
+                                <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>
+                            </div>
 
-    <div class="researchReportProgress">
-        <nav>
-            <menu>
-                <menuitem><a id="title">Titel</a> </menuitem>
-                <menuitem><a id="recherche">Recherche</a> </menuitem>
-                <menuitem><a id="bibo"><font color="#green">Literaturverzeichnis</font></a> </menuitem>
-                <menuitem><a id="question">Forschnugsfrage</a> </menuitem>
-                <menuitem><a id="concept">Konzept</a></menuitem>
-                <menuitem><a id="method">Methodik</a></menuitem>
-                <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
-                <menuitem><a id="evaluation">Evalution</a></menuitem>
-            </menu>
-        </nav>
-    </div>
+                            <div class="researchReportProgress">
+                                <nav>
+                                    <menu>
+                                        <menuitem><a id="title">Titel</a></menuitem>
+                                        <menuitem><a id="recherche">Recherche</a></menuitem>
+                                        <menuitem><a id="bibo"><font color="#green">Literaturverzeichnis</font></a>
+                                        </menuitem>
+                                        <menuitem><a id="question">Forschnugsfrage</a></menuitem>
+                                        <menuitem><a id="concept">Konzept</a></menuitem>
+                                        <menuitem><a id="method">Methodik</a></menuitem>
+                                        <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
+                                        <menuitem><a id="evaluation">Evalution</a></menuitem>
+                                    </menu>
+                                </nav>
+                            </div>
 
                         </form>
                     </td>
@@ -72,10 +76,11 @@ den Zustand ändert
 </div>
 
 
-<script  src="js/createReportBibo.js"></script>
-<script  src="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 src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script>
+<!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
 
 </body>
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-concept.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-concept.jsp
index 015039086e8b24597ff833aefc3293c2091270eb..b055bc51fa760e0e4a514c57a99c4bb8ed393313 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-concept.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-concept.jsp
@@ -1,5 +1,5 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 <!DOCTYPE html>
@@ -8,24 +8,23 @@
 <head>
     <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-plugin-image-preview/dist/filepond-plugin-image-preview.css"
+          rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="css/researchReport.css">
 </head>
 <body>
 
 
-
 <form id="researchReportform" class="researchReportForm" method="POST" action="../rest/researchReport/save">
 
 
-
-    <div class = "researchReportTitlebar">
+    <div class="researchReportTitlebar">
         <h1> Forschungsbericht erstellen 5/8</h1>
     </div>
 
-    <div class ="researchReportEditor">
+    <div class="researchReportEditor">
         <h2 class="editor-inhalt">Untersuchungskonzept eingeben:</h2>
-        <textarea id = "editor" name="text" form="researchReportForm" rows="20" cols="100">
+        <textarea id="editor" name="text" form="researchReportForm" rows="20" cols="100">
 				</textarea>
     </div>
     <div class="ResearchReportButtons">
@@ -39,10 +38,10 @@
     <div class="researchReportProgress">
         <nav>
             <menu>
-                <menuitem><a id="title">Titel</a> </menuitem>
-                <menuitem><a id="recherche">Recherche</a> </menuitem>
-                <menuitem><a id="bibo">Literaturverzeichnis</a> </menuitem>
-                <menuitem><a id="question">Forschnugsfrage</a> </menuitem>
+                <menuitem><a id="title">Titel</a></menuitem>
+                <menuitem><a id="recherche">Recherche</a></menuitem>
+                <menuitem><a id="bibo">Literaturverzeichnis</a></menuitem>
+                <menuitem><a id="question">Forschnugsfrage</a></menuitem>
                 <menuitem><a id="concept"><font color="#green">Konzept</font></a></menuitem>
                 <menuitem><a id="method">Methodik</a></menuitem>
                 <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
@@ -54,10 +53,11 @@
 </form>
 
 
-<script  src="js/createReportConcept.js"></script>
-<script  src="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 src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script>
+<!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
 
 </body>
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-evaluation.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-evaluation.jsp
index 51d848e9c4749257a603efb2ed67b09b90e912b7..582b905d1710d4f837555105ab6cd46b852f3192 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-evaluation.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-evaluation.jsp
@@ -1,5 +1,5 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 <!DOCTYPE html>
@@ -8,14 +8,14 @@
 <head>
     <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-plugin-image-preview/dist/filepond-plugin-image-preview.css"
+          rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="css/researchReport.css">
     <title>Forschungsbericht erstellen</title>
 </head>
 <body>
 
 
-
 <div id="wrapper">
     <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
@@ -23,40 +23,44 @@
         <div style="margin-left:50px;">
             <table>
                 <tr>
-                    <td  id="yourContent">
-                        <form id="researchReportform" class="researchReportForm" method="POST" action="../rest/researchReport/save">
+                    <td id="yourContent">
+                        <form id="researchReportform" class="researchReportForm" method="POST"
+                              action="../rest/researchReport/save">
 
-    <div class = "researchReportTitlebar">
-        <h1> Forschungsbericht erstellen 8/8</h1>
-    </div>
+                            <div class="researchReportTitlebar">
+                                <h1> Forschungsbericht erstellen 8/8</h1>
+                            </div>
 
-    <div class ="researchReportEditor">
-        <h2 class="editor-inhalt">Auswertung eingeben:</h2>
-        <textarea id = "editor" name="text" form="researchReportForm" rows="20" cols="100">
+                            <div class="researchReportEditor">
+                                <h2 class="editor-inhalt">Auswertung eingeben:</h2>
+                                <textarea id="editor" name="text" form="researchReportForm" rows="20" cols="100">
 				</textarea>
-    </div>
-    <div class="ResearchReportButtons">
-        <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>
-    </div>
+                            </div>
+                            <div class="ResearchReportButtons">
+                                <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>
+                            </div>
 
-    <div class="researchReportProgress">
-        <nav>
-            <menu>
-                <menuitem><a id="title">Titel</a> </menuitem>
-                <menuitem><a id="recherche">Recherche</a> </menuitem>
-                <menuitem><a id="bibo">Literaturverzeichnis</a> </menuitem>
-                <menuitem><a id="question">Forschnugsfrage</a> </menuitem>
-                <menuitem><a id="concept">Konzept</a></menuitem>
-                <menuitem><a id="method">Methodik</a></menuitem>
-                <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
-                <menuitem><a id="evaluation"><font color="#green">Evalution</font></a></menuitem>
-            </menu>
-        </nav>
-    </div>
+                            <div class="researchReportProgress">
+                                <nav>
+                                    <menu>
+                                        <menuitem><a id="title">Titel</a></menuitem>
+                                        <menuitem><a id="recherche">Recherche</a></menuitem>
+                                        <menuitem><a id="bibo">Literaturverzeichnis</a></menuitem>
+                                        <menuitem><a id="question">Forschnugsfrage</a></menuitem>
+                                        <menuitem><a id="concept">Konzept</a></menuitem>
+                                        <menuitem><a id="method">Methodik</a></menuitem>
+                                        <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
+                                        <menuitem><a id="evaluation"><font color="#green">Evalution</font></a>
+                                        </menuitem>
+                                    </menu>
+                                </nav>
+                            </div>
 
                         </form>
                     </td>
@@ -67,10 +71,11 @@
 </div>
 
 
-<script  src="js/createReportEvaluation.js"></script>
-<script  src="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 src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script>
+<!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
 
 </body>
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-method.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-method.jsp
index 1749e97343ff3c0c34fd7f7df96682c864f6a2ef..ece2341a689a1270f5e8c19e06a0a3fc37a73954 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-method.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-method.jsp
@@ -1,5 +1,5 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 <!DOCTYPE html>
@@ -8,14 +8,14 @@
 <head>
     <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-plugin-image-preview/dist/filepond-plugin-image-preview.css"
+          rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="css/researchReport.css">
     <title>Forschungsbericht erstellen</title>
 </head>
 <body>
 
 
-
 <div id="wrapper">
     <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
@@ -23,41 +23,44 @@
         <div style="margin-left:50px;">
             <table>
                 <tr>
-                    <td  id="yourContent">
-                        <form id="researchReportform" class="researchReportForm" method="POST" action="../rest/researchReport/save">
+                    <td id="yourContent">
+                        <form id="researchReportform" class="researchReportForm" method="POST"
+                              action="../rest/researchReport/save">
 
 
-    <div class = "researchReportTitlebar">
-        <h1> Forschungsbericht erstellen 6/8</h1>
-    </div>
+                            <div class="researchReportTitlebar">
+                                <h1> Forschungsbericht erstellen 6/8</h1>
+                            </div>
 
-    <div class ="researchReportEditor">
-        <h2 class="editor-inhalt">Methodik eingeben:</h2>
-        <textarea id = "editor" name="text" form="researchReportForm" rows="20" cols="100">
+                            <div class="researchReportEditor">
+                                <h2 class="editor-inhalt">Methodik eingeben:</h2>
+                                <textarea id="editor" name="text" form="researchReportForm" rows="20" cols="100">
 				</textarea>
-    </div>
-    <div class="ResearchReportButtons">
-        <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>
-    </div>
+                            </div>
+                            <div class="ResearchReportButtons">
+                                <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>
+                            </div>
 
-    <div class="researchReportProgress">
-        <nav>
-            <menu>
-                <menuitem><a id="title">Titel</a> </menuitem>
-                <menuitem><a id="recherche">Recherche</a> </menuitem>
-                <menuitem><a id="bibo">Literaturverzeichnis</a> </menuitem>
-                <menuitem><a id="question">Forschnugsfrage</a> </menuitem>
-                <menuitem><a id="concept">Konzept</a></menuitem>
-                <menuitem><a id="method"><font color="#green">Methodik</font></a></menuitem>
-                <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
-                <menuitem><a id="evaluation">Evalution</a></menuitem>
-            </menu>
-        </nav>
-    </div>
+                            <div class="researchReportProgress">
+                                <nav>
+                                    <menu>
+                                        <menuitem><a id="title">Titel</a></menuitem>
+                                        <menuitem><a id="recherche">Recherche</a></menuitem>
+                                        <menuitem><a id="bibo">Literaturverzeichnis</a></menuitem>
+                                        <menuitem><a id="question">Forschnugsfrage</a></menuitem>
+                                        <menuitem><a id="concept">Konzept</a></menuitem>
+                                        <menuitem><a id="method"><font color="#green">Methodik</font></a></menuitem>
+                                        <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
+                                        <menuitem><a id="evaluation">Evalution</a></menuitem>
+                                    </menu>
+                                </nav>
+                            </div>
 
                         </form>
                     </td>
@@ -68,10 +71,11 @@
 </div>
 
 
-<script  src="js/createReportMethod.js"></script>
-<script  src="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 src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script>
+<!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
 
 </body>
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-overview.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-overview.jsp
index 46f297f0a22681a3cb96257c4cb12cbe7e51a00b..4c388312f715e5d69603c88edb68b3a8e93508e0 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-overview.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-overview.jsp
@@ -1,15 +1,17 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ 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">
+    <meta name="viewport" content="width=device-width, initial-scale=1" , charset="utf-8">
     <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-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 href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css"
+          rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="css/researchReportOverview.css">
     <script src="js/createReportOverview.js"></script>
     <title>Forschungsbericht Ãœbersicht</title>
@@ -26,84 +28,84 @@
         <div style="margin-left:50px;">
             <table>
                 <tr>
-                    <td  id="yourContent">
+                    <td id="yourContent">
                         <form id="researchReportOverview" class="researchReportOverview">
-                            <div class = "researchReportTitlebar">
+                            <div class="researchReportTitlebar">
                                 <h1> Forschungsbericht Ãœbersicht</h1>
                             </div>
 
 
-            <div class="reports">
-                <h2>Forschungberichte</h2>
-                <table>
-                    <thead>
-                    <tr>
-                        <th>Titel</th>
-                        <th>Autor</th>
-                        <th>Placeholder</th>
-                    </tr>
-                    </thead>
-                    <tbody>
-                    <tr>
-                        <td>Titel1</td>
-                        <td>Autor1</td>
-                        <td>1</td>
-                    </tr>
-                    <tr>
-                        <td>Titel2</td>
-                        <td>Autor2</td>
-                        <td>2</td>
-                    </tr>
-                    <tr>
-                        <td>Titel3</td>
-                        <td>Autor3</td>
-                        <td>3</td>
-                    </tr>
-                    </tbody>
-                </table>
-            </div>
-
-  <!--  <div class="ResearchReportUpload">
-        <h3>Gesamten Forschungsbericht hochladen </h3>
-        <input type="file" class="filepond" name="filepond">
-    </div> -->
+                            <div class="reports">
+                                <h2>Forschungberichte</h2>
+                                <table>
+                                    <thead>
+                                    <tr>
+                                        <th>Titel</th>
+                                        <th>Autor</th>
+                                        <th>Placeholder</th>
+                                    </tr>
+                                    </thead>
+                                    <tbody>
+                                    <tr>
+                                        <td>Titel1</td>
+                                        <td>Autor1</td>
+                                        <td>1</td>
+                                    </tr>
+                                    <tr>
+                                        <td>Titel2</td>
+                                        <td>Autor2</td>
+                                        <td>2</td>
+                                    </tr>
+                                    <tr>
+                                        <td>Titel3</td>
+                                        <td>Autor3</td>
+                                        <td>3</td>
+                                    </tr>
+                                    </tbody>
+                                </table>
+                            </div>
 
-    <div class="feedbacks">
-        <h2>Feedbacks</h2>
-        <table>
-            <thead>
-            <tr>
-                <th>Titel</th>
-                <th>Autor</th>
-                <th>Placeholder</th>
-            </tr>
-            </thead>
-            <tbody>
-            <tr>
-                <td>Titel1</td>
-                <td>Autor1</td>
-                <td>1</td>
-            </tr>
-            <tr>
-                <td>Titel2</td>
-                <td>Autor2</td>
-                <td>2</td>
-            </tr>
-            <tr>
-                <td>Titel3</td>
-                <td>Autor3</td>
-                <td>3</td>
-            </tr>
-            </tbody>
-        </table>
-    </div>
+                            <!--  <div class="ResearchReportUpload">
+                                  <h3>Gesamten Forschungsbericht hochladen </h3>
+                                  <input type="file" class="filepond" name="filepond">
+                              </div> -->
+
+                            <div class="feedbacks">
+                                <h2>Feedbacks</h2>
+                                <table>
+                                    <thead>
+                                    <tr>
+                                        <th>Titel</th>
+                                        <th>Autor</th>
+                                        <th>Placeholder</th>
+                                    </tr>
+                                    </thead>
+                                    <tbody>
+                                    <tr>
+                                        <td>Titel1</td>
+                                        <td>Autor1</td>
+                                        <td>1</td>
+                                    </tr>
+                                    <tr>
+                                        <td>Titel2</td>
+                                        <td>Autor2</td>
+                                        <td>2</td>
+                                    </tr>
+                                    <tr>
+                                        <td>Titel3</td>
+                                        <td>Autor3</td>
+                                        <td>3</td>
+                                    </tr>
+                                    </tbody>
+                                </table>
+                            </div>
 
 
-     <div class="ResearchReportButtons">
-         <button class="researchReportButtons"><a id="uploader">Upload File</a></button>
-         <button class="researchReportButtons"><a id="forwardLink">Bericht erstellen</a></button>
-         <button class="researchReportButtons"><a id="backLink">Zur&uuml;ck</a></button>
-     </div>
+                            <div class="ResearchReportButtons">
+                                <button class="researchReportButtons"><a id="uploader">Upload File</a></button>
+                                <button class="researchReportButtons"><a id="forwardLink">Bericht erstellen</a></button>
+                                <button class="researchReportButtons"><a id="backLink">Zur&uuml;ck</a></button>
+                            </div>
 
                         </form>
                     </td>
@@ -114,10 +116,9 @@
 </div>
 
 
-
-
 <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 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/researchReport/create-process-description.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-process-description.jsp
index 1e8d3e7d149d57276b63cb66bd21073a8dd1d948..cfa478c22e7c787e43adfde6b9f74cfd64d770b9 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-process-description.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-process-description.jsp
@@ -1,5 +1,5 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 <!DOCTYPE html>
@@ -8,14 +8,14 @@
 <head>
     <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-plugin-image-preview/dist/filepond-plugin-image-preview.css"
+          rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="css/researchReport.css">
     <title>Forschungsbericht erstellen</title>
 </head>
 <body>
 
 
-
 <div id="wrapper">
     <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
@@ -23,40 +23,43 @@
         <div style="margin-left:50px;">
             <table>
                 <tr>
-                    <td  id="yourContent">
-                        <form id="researchReportform" class="researchReportForm" method="POST" action="../rest/researchReport/save">
+                    <td id="yourContent">
+                        <form id="researchReportform" class="researchReportForm" method="POST"
+                              action="../rest/researchReport/save">
 
-    <div class = "researchReportTitlebar">
-        <h1> Forschungsbericht erstellen 7/8</h1>
-    </div>
+                            <div class="researchReportTitlebar">
+                                <h1> Forschungsbericht erstellen 7/8</h1>
+                            </div>
 
-    <div class ="researchReportEditor">
-        <h2 class="editor-inhalt">Durchf&uuml;hrung eingeben:</h2>
-        <textarea id = "editor" name="text" form="researchReportForm" rows="20" cols="100">
+                            <div class="researchReportEditor">
+                                <h2 class="editor-inhalt">Durchf&uuml;hrung eingeben:</h2>
+                                <textarea id="editor" name="text" form="researchReportForm" rows="20" cols="100">
 				</textarea>
-    </div>
-    <div class="ResearchReportButtons">
-        <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>
-    </div>
+                            </div>
+                            <div class="ResearchReportButtons">
+                                <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>
+                            </div>
 
-    <div class="researchReportProgress">
-        <nav>
-            <menu>
-                <menuitem><a id="title">Titel</a> </menuitem>
-                <menuitem><a id="recherche">Recherche</a> </menuitem>
-                <menuitem><a id="bibo">Literaturverzeichnis</a> </menuitem>
-                <menuitem><a id="question">Forschnugsfrage</a> </menuitem>
-                <menuitem><a id="concept">Konzept</a></menuitem>
-                <menuitem><a id="method"><font color="#green">Methodik</font></a></menuitem>
-                <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
-                <menuitem><a id="evaluation">Evalution</a></menuitem>
-            </menu>
-        </nav>
-    </div>
+                            <div class="researchReportProgress">
+                                <nav>
+                                    <menu>
+                                        <menuitem><a id="title">Titel</a></menuitem>
+                                        <menuitem><a id="recherche">Recherche</a></menuitem>
+                                        <menuitem><a id="bibo">Literaturverzeichnis</a></menuitem>
+                                        <menuitem><a id="question">Forschnugsfrage</a></menuitem>
+                                        <menuitem><a id="concept">Konzept</a></menuitem>
+                                        <menuitem><a id="method"><font color="#green">Methodik</font></a></menuitem>
+                                        <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
+                                        <menuitem><a id="evaluation">Evalution</a></menuitem>
+                                    </menu>
+                                </nav>
+                            </div>
 
                         </form>
                     </td>
@@ -67,10 +70,11 @@
 </div>
 
 
-<script  src="js/createReportDo.js"></script>
-<script  src="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 src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script>
+<!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
 
 </body>
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-question.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-question.jsp
index f70436ce9d8fe57fe4d2d390f8469e67d5d7805d..86fef01fc55a685c6a915e019ebeb0a69c320a7d 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-question.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-question.jsp
@@ -1,5 +1,5 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 
@@ -9,15 +9,14 @@
 <head>
     <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-plugin-image-preview/dist/filepond-plugin-image-preview.css"
+          rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="css/researchReport.css">
     <title>Forschungsbericht erstellen</title>
 </head>
 <body>
 
 
-
-
 <div id="wrapper">
     <menu:menu hierarchy="1"/>
     <div class="page-content-wrapper">
@@ -25,40 +24,44 @@
         <div style="margin-left:50px;">
             <table>
                 <tr>
-                    <td  id="yourContent">
-                        <form id="researchReportform" class="researchReportForm" method="POST" action="../rest/researchReport/save">
+                    <td id="yourContent">
+                        <form id="researchReportform" class="researchReportForm" method="POST"
+                              action="../rest/researchReport/save">
 
 
-    <div class = "researchReportTitlebar">
-        <h1> Forschungsbericht erstellen 4/8</h1>
-    </div>
+                            <div class="researchReportTitlebar">
+                                <h1> Forschungsbericht erstellen 4/8</h1>
+                            </div>
 
-    <div class ="researchReportEditor">
-        <h2 class="editor-inhalt">Forschungsfrage eingeben:</h2>
-        <textarea id = "editor" name="text" form="researchReportForm" rows="10" cols="100">
+                            <div class="researchReportEditor">
+                                <h2 class="editor-inhalt">Forschungsfrage eingeben:</h2>
+                                <textarea id="editor" name="text" form="researchReportForm" rows="10" cols="100">
 				</textarea>
-    </div>
-    <div class="ResearchReportButtons">
-        <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>
-    </div>
-    <div class="researchReportProgress">
-        <nav>
-            <menu>
-                <menuitem><a id="title">Titel</a> </menuitem>
-                <menuitem><a id="recherche">Recherche</a> </menuitem>
-                <menuitem><a id="bibo">Literaturverzeichnis</a> </menuitem>
-                <menuitem><a id="question"><font color="#green">Forschnugsfrage</font></a> </menuitem>
-                <menuitem><a id="concept">Konzept</a></menuitem>
-                <menuitem><a id="method">Methodik</a></menuitem>
-                <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
-                <menuitem><a id="evaluation">Evalution</a></menuitem>
-            </menu>
-        </nav>
-    </div>
+                            </div>
+                            <div class="ResearchReportButtons">
+                                <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>
+                            </div>
+                            <div class="researchReportProgress">
+                                <nav>
+                                    <menu>
+                                        <menuitem><a id="title">Titel</a></menuitem>
+                                        <menuitem><a id="recherche">Recherche</a></menuitem>
+                                        <menuitem><a id="bibo">Literaturverzeichnis</a></menuitem>
+                                        <menuitem><a id="question"><font color="#green">Forschnugsfrage</font></a>
+                                        </menuitem>
+                                        <menuitem><a id="concept">Konzept</a></menuitem>
+                                        <menuitem><a id="method">Methodik</a></menuitem>
+                                        <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
+                                        <menuitem><a id="evaluation">Evalution</a></menuitem>
+                                    </menu>
+                                </nav>
+                            </div>
 
                         </form>
                     </td>
@@ -69,10 +72,11 @@
 </div>
 
 
-<script  src="js/createReportQuestion.js"></script>
-<script  src="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 src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script>
+<!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
 
 </body>
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-research.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-research.jsp
index ce4f3d40be427955726ed528c12cd4dc15bcaf1d..ddc43b4b0c0569a53637318d483d1686db5fa573 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-research.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-research.jsp
@@ -1,5 +1,5 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu"%>
+<%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="headLine" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 <!DOCTYPE html>
@@ -8,7 +8,8 @@
 <head>
     <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-plugin-image-preview/dist/filepond-plugin-image-preview.css"
+          rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="css/researchReport.css">
     <title>Forschungsbericht erstellen</title>
 </head>
@@ -22,43 +23,45 @@
         <div style="margin-left:50px;">
             <table>
                 <tr>
-                    <td  id="yourContent">
-                        <form id="researchReportform" class="researchReportForm" method="POST" action="../rest/researchReport/save">
+                    <td id="yourContent">
+                        <form id="researchReportform" class="researchReportForm" method="POST"
+                              action="../rest/researchReport/save">
 
 
+                            <div class="researchReportTitlebar">
+                                <h1> Forschungsbericht erstellen 2/8</h1>
+                            </div>
 
-    <div class = "researchReportTitlebar">
-        <h1> Forschungsbericht erstellen 2/8</h1>
-    </div>
-
-    <div class ="researchReportEditor">
-        <h2 class="editor-inhalt">Recherche eingeben:</h2>
-        <textarea id = "editor" name="text" form="researchReportForm" rows="20" cols="100">
+                            <div class="researchReportEditor">
+                                <h2 class="editor-inhalt">Recherche eingeben:</h2>
+                                <textarea id="editor" name="text" form="researchReportForm" rows="20" cols="100">
 				</textarea>
-    </div>
-    <div class="ResearchReportButtons">
-        <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>
+                            <div class="ResearchReportButtons">
+                                <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">
-        <input type="file" class="filepond" name="filepond" />
-    </div>
+                            <div class="ResearchReportUpload">
+                                <input type="file" class="filepond" name="filepond"/>
+                            </div>
 
-    <div class="researchReportProgress">
-        <nav>
-            <menu>
-                <menuitem><a id="title">Titel</a> </menuitem>
-                <menuitem><a id="recherche"><font color="#green">Recherche</font></a> </menuitem>
-                <menuitem><a id="bibo">Literaturverzeichnis</a> </menuitem>
-                <menuitem><a id="question">Forschnugsfrage</a> </menuitem>
-                <menuitem><a id="concept">Konzept</a></menuitem>
-                <menuitem><a id="method">Methodik</a></menuitem>
-                <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
-                <menuitem><a id="evaluation">Evalution</a></menuitem>
-            </menu>
-        </nav>
-    </div>
+                            <div class="researchReportProgress">
+                                <nav>
+                                    <menu>
+                                        <menuitem><a id="title">Titel</a></menuitem>
+                                        <menuitem><a id="recherche"><font color="#green">Recherche</font></a></menuitem>
+                                        <menuitem><a id="bibo">Literaturverzeichnis</a></menuitem>
+                                        <menuitem><a id="question">Forschnugsfrage</a></menuitem>
+                                        <menuitem><a id="concept">Konzept</a></menuitem>
+                                        <menuitem><a id="method">Methodik</a></menuitem>
+                                        <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
+                                        <menuitem><a id="evaluation">Evalution</a></menuitem>
+                                    </menu>
+                                </nav>
+                            </div>
 
                         </form>
                     </td>
@@ -69,12 +72,11 @@
 </div>
 
 
-
-
-<script  src="js/createReportRecherche.js"></script>
-<script  src="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 src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script>
+<!--FilePond -->
 <script>FilePond.parse(document.body);</script> <!--FilePond -->
 
 </body>
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-title.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-title.jsp
index d2b1a0a5ebe444fbf6f4b569352fb3398b577089..e302aec6c983e70ce393d884c7db725783b2d57b 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-title.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-title.jsp
@@ -9,7 +9,8 @@
 <head>
     <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-plugin-image-preview/dist/filepond-plugin-image-preview.css"
+          rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="css/researchReport.css">
     <title>Forschungsbericht erstellen</title>
 </head>
@@ -17,73 +18,76 @@
 
 <div id="wrapper">
     <menu:menu hierarchy="1"/>
-        <div class="page-content-wrapper">
-            <headLine:headLine/>
-            <div style="margin-left:50px;">
-                <table>
-                    <tr>
-                        <td  id="yourContent">
-                            <form id="researchReportform" class="researchReportForm" method="POST" action="../rest/researchReport/save">
+    <div class="page-content-wrapper">
+        <headLine:headLine/>
+        <div style="margin-left:50px;">
+            <table>
+                <tr>
+                    <td id="yourContent">
+                        <form id="researchReportform" class="researchReportForm" method="POST"
+                              action="../rest/researchReport/save">
 
- <!-- <div class = "researchReportMenu">
-        <nav>
-            <menu>
-                <menuitem><p><a href="">Gruppe</a></p> </menuitem>
-                <menuitem><p><a href="">Projekt erstellen</a> </p></menuitem>
-                <menuitem><p><a href="">Forschungsbericht erstellen</a></p></menuitem>
-                <menuitem><p><a href="">Review</a></p></menuitem>
-                <menuitem><p><a href="">User</a></p></menuitem>
-            </menu>
-        </nav>
-    </div> -->
+                            <!-- <div class = "researchReportMenu">
+                                   <nav>
+                                       <menu>
+                                           <menuitem><p><a href="">Gruppe</a></p> </menuitem>
+                                           <menuitem><p><a href="">Projekt erstellen</a> </p></menuitem>
+                                           <menuitem><p><a href="">Forschungsbericht erstellen</a></p></menuitem>
+                                           <menuitem><p><a href="">Review</a></p></menuitem>
+                                           <menuitem><p><a href="">User</a></p></menuitem>
+                                       </menu>
+                                   </nav>
+                               </div> -->
 
-    <div class = "researchReportTitlebar">
-        <h1> Forschungsbericht erstellen 1/8</h1>
-    </div>
+                            <div class="researchReportTitlebar">
+                                <h1> Forschungsbericht erstellen 1/8</h1>
+                            </div>
 
-    <div class ="researchReportEditor">
-        <h2 class="editor-inhalt">Titel eingeben:</h2>
-        <textarea id = "editor" name="text" form="researchReportForm" rows="20" cols="100">
+                            <div class="researchReportEditor">
+                                <h2 class="editor-inhalt">Titel eingeben:</h2>
+                                <textarea id="editor" name="text" form="researchReportForm" rows="20" cols="100">
 				</textarea>
-    </div>
-    <div class="ResearchReportButtons">
-        <button class="researchReportButtons"><a id="forwardLink">Speichern & weiter</a></button>
-        <button class="researchReportButtons"><a id="backLink"> Zur&uuml;ck </a></button>
-    </div>
+                            </div>
+                            <div class="ResearchReportButtons">
+                                <button class="researchReportButtons"><a id="forwardLink">Speichern & weiter</a>
+                                </button>
+                                <button class="researchReportButtons"><a id="backLink"> Zur&uuml;ck </a></button>
+                            </div>
 
-    <div class="ResearchReportUpload">
-        <input type="file" class="filepond" name="filepond"> </input>
-    </div>
+                            <div class="ResearchReportUpload">
+                                <input type="file" class="filepond" name="filepond"> </input>
+                            </div>
 
 
-    <div class="researchReportProgress">
-        <nav>
-            <menu>
-                <menuitem><a id="title"><font color="#green">Titel</font></a> </menuitem>
-                <menuitem><a id="recherche">Recherche</a> </menuitem>
-                <menuitem><a id="bibo">Literaturverzeichnis</a> </menuitem>
-                <menuitem><a id="question">Forschnugsfrage</a> </menuitem>
-                <menuitem><a id="concept">Konzept</a></menuitem>
-                <menuitem><a id="method">Methodik</a></menuitem>
-                <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
-                <menuitem><a id="evaluation">Evalution</a></menuitem>
-            </menu>
-        </nav>
-    </div>
+                            <div class="researchReportProgress">
+                                <nav>
+                                    <menu>
+                                        <menuitem><a id="title"><font color="#green">Titel</font></a></menuitem>
+                                        <menuitem><a id="recherche">Recherche</a></menuitem>
+                                        <menuitem><a id="bibo">Literaturverzeichnis</a></menuitem>
+                                        <menuitem><a id="question">Forschnugsfrage</a></menuitem>
+                                        <menuitem><a id="concept">Konzept</a></menuitem>
+                                        <menuitem><a id="method">Methodik</a></menuitem>
+                                        <menuitem><a id="reportDo">Durchf&uuml;hrung</a></menuitem>
+                                        <menuitem><a id="evaluation">Evalution</a></menuitem>
+                                    </menu>
+                                </nav>
+                            </div>
 
-</form>
-                        </td>
-                    </tr>
-                </table>
-            </div>
+                        </form>
+                    </td>
+                </tr>
+            </table>
         </div>
+    </div>
 </div>
 
 
-<script  src="js/createReportTitle.js"></script>
-<script  src="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 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/researchReport/css/researchReport.css b/gemeinsamforschen/src/main/webapp/researchReport/css/researchReport.css
index d9074aad2960cacb3b11921b1aefbdede8bad780..d0fd1ff178536c283ce55d3e4ea197abe12b7f0c 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/css/researchReport.css
+++ b/gemeinsamforschen/src/main/webapp/researchReport/css/researchReport.css
@@ -72,73 +72,81 @@ body, html
  */
 
 body, html {
-  width: 100%;
-  height: 100%;
-  margin: 0;
-  padding: 0;
-  font-size: 10px;
-  font-family: "Roboto", sans-serif;
-  background-color: gray;
+    width: 100%;
+    height: 100%;
+    margin: 0;
+    padding: 0;
+    font-size: 10px;
+    font-family: "Roboto", sans-serif;
+    background-color: gray;
 }
 
 .researchReportForm {
-  width: 100%;
-  display: grid;
-  grid-template-rows: 5rem 100vh 7rem 5rem;
-  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
-  grid-template-areas: "header header header header header" "editor editor editor editor editor" ". . buttons upload ." "progress progress progress progress progress";
+    width: 100%;
+    display: grid;
+    grid-template-rows: 5rem 100vh 7rem 5rem;
+    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
+    grid-template-areas: "header header header header header" "editor editor editor editor editor" ". . buttons upload ." "progress progress progress progress progress";
 }
+
 .researchReportForm .researchReportTitlebar {
-  grid-area: header;
-  background-color: #003f60;
-  color: white;
-  display: flex;
-  justify-content: center;
-  align-items: center;
+    grid-area: header;
+    background-color: #003f60;
+    color: white;
+    display: flex;
+    justify-content: center;
+    align-items: center;
 }
+
 .researchReportForm .researchReportEditor {
-  grid-area: editor;
-  background: gray;
-  color: black;
-  display: flex;
-  justify-content: Center;
-  align-items: Center;
+    grid-area: editor;
+    background: gray;
+    color: black;
+    display: flex;
+    justify-content: Center;
+    align-items: Center;
 }
+
 .researchReportForm .researchReportEditor .editor-inhalt {
-  margin: 10rem;
-  padding: 6rem;
-  font-size: 2rem;
-  color: #fff;
-  text-align: Left;
-  width: 10%;
+    margin: 10rem;
+    padding: 6rem;
+    font-size: 2rem;
+    color: #fff;
+    text-align: Left;
+    width: 10%;
 }
+
 .researchReportForm .researchReportButtons {
-  background-color: #4CAF50;
-  border: 1.8px solid black;
-  color: gray;
-  grid-area: buttons;
-  padding: 15px 25px;
-  text-align: Center;
-  font-size: 16px;
-  cursor: pointer;
+    background-color: #4CAF50;
+    border: 1.8px solid black;
+    color: gray;
+    grid-area: buttons;
+    padding: 15px 25px;
+    text-align: Center;
+    font-size: 16px;
+    cursor: pointer;
 }
+
 .researchReportForm .researchReportUpload {
-  grid-area: upload;
+    grid-area: upload;
 }
+
 .researchReportForm .researchReportProgress {
-  background: #003f60;
-  color: red;
-  grid-area: progress;
-  display: flex;
-  justify-content: center;
-  align-items: center;
+    background: #003f60;
+    color: red;
+    grid-area: progress;
+    display: flex;
+    justify-content: center;
+    align-items: center;
 }
+
 .researchReportForm .researchReportProgress nav {
-  font-size: 1.5rem;
+    font-size: 1.5rem;
 }
+
 .researchReportForm .researchReportProgress nav menu menuitem a {
-  color: White;
-  text-decoration: none;
-  margin: 0 0 0 1rem;
-  cursor: pointer;
+    color: White;
+    text-decoration: none;
+    margin: 0 0 0 1rem;
+    cursor: pointer;
 }
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/css/researchReportOverview.css b/gemeinsamforschen/src/main/webapp/researchReport/css/researchReportOverview.css
index b4fbd6ef76562af9044476a5994be84fcff8e3dd..c0d01e666333c79f67aa877a58bc07adf6698b49 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/css/researchReportOverview.css
+++ b/gemeinsamforschen/src/main/webapp/researchReport/css/researchReportOverview.css
@@ -88,6 +88,7 @@ body, html {
     grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
     grid-template-areas: "header header header header header" "report report report report report" ". . buttons . ." "feed feed feed feed feed";
 }
+
 .researchReportOverview .researchReportTitlebar {
     grid-area: header;
     background-color: #003f60;
@@ -96,22 +97,26 @@ body, html {
     justify-content: center;
     align-items: center;
 }
+
 .researchReportOverview table {
     table-layout: auto;
     width: 100%;
     border-collapse: collapse;
     overflow: scroll;
 }
+
 .researchReportOverview th {
     border: 1px solid #999;
     padding: 0.5rem;
     text-align: center;
 }
+
 .researchReportOverview td {
     border: 1px solid #999;
     padding: 0.5rem;
     text-align: left;
 }
+
 .researchReportOverview .reports {
     grid-area: report;
     margin: auto;
@@ -120,9 +125,11 @@ body, html {
     padding: 10px;
     background-color: white;
 }
+
 .researchReportOverview tr:hover {
     background-color: #c0eef1;
 }
+
 .researchReportOverview .feedbacks {
     grid-area: feed;
     margin: auto;
@@ -131,10 +138,10 @@ body, html {
     padding: 10px;
     background-color: white;
 }
+
 .researchReportOverview .researchReportUpload {
     grid-area: upload;
 
-
 }
 
 .researchReportOverview .researchReportButtons {
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportBibo.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportBibo.js
index f081bae605541728a5ca619aa6b5a8b792133d20..e7f063bf52fc9400f5450c9da1fd13cf93ab7cdb 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportBibo.js
+++ b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportBibo.js
@@ -1,15 +1,15 @@
 var student = getQueryVariable("token");
 var project = getQueryVariable("projectId");
 
-$(document).ready(function() {
+$(document).ready(function () {
     $('#student').val(student);
     $('#project').val(project);
-    $('#backLink').on('click', function(){
+    $('#backLink').on('click', function () {
         location.href = "createReportOverview.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
 
-    $('#forwardLink').on('click', function(){
+    $('#forwardLink').on('click', function () {
         location.href = "researchReportResearch.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportConcept.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportConcept.js
index f081bae605541728a5ca619aa6b5a8b792133d20..e7f063bf52fc9400f5450c9da1fd13cf93ab7cdb 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportConcept.js
+++ b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportConcept.js
@@ -1,15 +1,15 @@
 var student = getQueryVariable("token");
 var project = getQueryVariable("projectId");
 
-$(document).ready(function() {
+$(document).ready(function () {
     $('#student').val(student);
     $('#project').val(project);
-    $('#backLink').on('click', function(){
+    $('#backLink').on('click', function () {
         location.href = "createReportOverview.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
 
-    $('#forwardLink').on('click', function(){
+    $('#forwardLink').on('click', function () {
         location.href = "researchReportResearch.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportDo.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportDo.js
index f081bae605541728a5ca619aa6b5a8b792133d20..e7f063bf52fc9400f5450c9da1fd13cf93ab7cdb 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportDo.js
+++ b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportDo.js
@@ -1,15 +1,15 @@
 var student = getQueryVariable("token");
 var project = getQueryVariable("projectId");
 
-$(document).ready(function() {
+$(document).ready(function () {
     $('#student').val(student);
     $('#project').val(project);
-    $('#backLink').on('click', function(){
+    $('#backLink').on('click', function () {
         location.href = "createReportOverview.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
 
-    $('#forwardLink').on('click', function(){
+    $('#forwardLink').on('click', function () {
         location.href = "researchReportResearch.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportEvaluation.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportEvaluation.js
index f081bae605541728a5ca619aa6b5a8b792133d20..e7f063bf52fc9400f5450c9da1fd13cf93ab7cdb 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportEvaluation.js
+++ b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportEvaluation.js
@@ -1,15 +1,15 @@
 var student = getQueryVariable("token");
 var project = getQueryVariable("projectId");
 
-$(document).ready(function() {
+$(document).ready(function () {
     $('#student').val(student);
     $('#project').val(project);
-    $('#backLink').on('click', function(){
+    $('#backLink').on('click', function () {
         location.href = "createReportOverview.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
 
-    $('#forwardLink').on('click', function(){
+    $('#forwardLink').on('click', function () {
         location.href = "researchReportResearch.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportMethod.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportMethod.js
index f081bae605541728a5ca619aa6b5a8b792133d20..e7f063bf52fc9400f5450c9da1fd13cf93ab7cdb 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportMethod.js
+++ b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportMethod.js
@@ -1,15 +1,15 @@
 var student = getQueryVariable("token");
 var project = getQueryVariable("projectId");
 
-$(document).ready(function() {
+$(document).ready(function () {
     $('#student').val(student);
     $('#project').val(project);
-    $('#backLink').on('click', function(){
+    $('#backLink').on('click', function () {
         location.href = "createReportOverview.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
 
-    $('#forwardLink').on('click', function(){
+    $('#forwardLink').on('click', function () {
         location.href = "researchReportResearch.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportOverview.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportOverview.js
index 46d02dfecb3a3a02f7c83a92611f50696339229e..2eda3629b6afb198356a833020fd56dfe2a32e60 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportOverview.js
+++ b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportOverview.js
@@ -1,19 +1,19 @@
 var student = getQueryVariable("token");
 var project = getQueryVariable("projectId");
 
-$(document).ready(function() {
+$(document).ready(function () {
     $('#student').val(student);
     $('#project').val(project);
-        $('#uploader').on('click', function(){
-                //location.href="create-title.jsp?token="+getUserTokenFromUrl();
-            //boolean uploaded=true;
-            });
-    $('#backLink').on('click', function(){
+    $('#uploader').on('click', function () {
+        //location.href="create-title.jsp?token="+getUserTokenFromUrl();
+        //boolean uploaded=true;
+    });
+    $('#backLink').on('click', function () {
         location.href = "overview-student.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
 
-    $('#forwardLink').on('click', function(){
+    $('#forwardLink').on('click', function () {
         location.href = "create-title.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportProgress.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportProgress.js
index b578bcfe01c1988fa1eb4db9653bc2eaf94ebe2f..ea147dc826ef6cd06230c4ca635571600faa092f 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportProgress.js
+++ b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportProgress.js
@@ -1,39 +1,39 @@
 var student = getQueryVariable("token");
 var project = getQueryVariable("projectId");
 
-$(document).ready(function() {
+$(document).ready(function () {
     $('#student').val(student);
     $('#project').val(project);
 
-    $('#title').on('click', function(){
+    $('#title').on('click', function () {
         location.href = "create-title.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
-    $('#recherche').on('click', function(){
+    $('#recherche').on('click', function () {
         location.href = "create-research.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
-    $('#bibo').on('click', function(){
+    $('#bibo').on('click', function () {
         location.href = "create-bibliography.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
-    $('#question').on('click', function(){
+    $('#question').on('click', function () {
         location.href = "create-question.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
-    $('#concept').on('click', function(){
+    $('#concept').on('click', function () {
         location.href = "create-concept.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
-    $('#method').on('click', function(){
+    $('#method').on('click', function () {
         location.href = "create-method.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
-    $('#reportDo').on('click', function(){
+    $('#reportDo').on('click', function () {
         location.href = "create-process-description.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
-    $('#evaluation').on('click', function(){
+    $('#evaluation').on('click', function () {
         location.href = "create-evaluation.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportQuestion.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportQuestion.js
index f081bae605541728a5ca619aa6b5a8b792133d20..e7f063bf52fc9400f5450c9da1fd13cf93ab7cdb 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportQuestion.js
+++ b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportQuestion.js
@@ -1,15 +1,15 @@
 var student = getQueryVariable("token");
 var project = getQueryVariable("projectId");
 
-$(document).ready(function() {
+$(document).ready(function () {
     $('#student').val(student);
     $('#project').val(project);
-    $('#backLink').on('click', function(){
+    $('#backLink').on('click', function () {
         location.href = "createReportOverview.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
 
-    $('#forwardLink').on('click', function(){
+    $('#forwardLink').on('click', function () {
         location.href = "researchReportResearch.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportRecherche.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportRecherche.js
index f081bae605541728a5ca619aa6b5a8b792133d20..e7f063bf52fc9400f5450c9da1fd13cf93ab7cdb 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportRecherche.js
+++ b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportRecherche.js
@@ -1,15 +1,15 @@
 var student = getQueryVariable("token");
 var project = getQueryVariable("projectId");
 
-$(document).ready(function() {
+$(document).ready(function () {
     $('#student').val(student);
     $('#project').val(project);
-    $('#backLink').on('click', function(){
+    $('#backLink').on('click', function () {
         location.href = "createReportOverview.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
 
-    $('#forwardLink').on('click', function(){
+    $('#forwardLink').on('click', function () {
         location.href = "researchReportResearch.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportTitle.js b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportTitle.js
index d158a2933ed6cd848caecf9035cc2c037050a207..8412428fa91696f805fc22edb1fe516601efc078 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/js/createReportTitle.js
+++ b/gemeinsamforschen/src/main/webapp/researchReport/js/createReportTitle.js
@@ -1,15 +1,15 @@
 var student = getQueryVariable("token");
 var project = getQueryVariable("projectId");
 
-$(document).ready(function() {
+$(document).ready(function () {
     $('#student').val(student);
     $('#project').val(project);
-    $('#backLink').on('click', function(){
+    $('#backLink').on('click', function () {
         location.href = "createReportOverview.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
 
-    $('#forwardLink').on('click', function(){
+    $('#forwardLink').on('click', function () {
         location.href = "researchReportResearch.jsp?token=" + student + "&projectId=" + project;
         return false;
     });
diff --git a/gemeinsamforschen/src/main/webapp/session/session_example_1.jsp b/gemeinsamforschen/src/main/webapp/session/session_example_1.jsp
index e1b81b465b971d6f33be838634b9a1f0a484f192..632037d5dfd78166df97af6395a39c1e357b3ac7 100644
--- a/gemeinsamforschen/src/main/webapp/session/session_example_1.jsp
+++ b/gemeinsamforschen/src/main/webapp/session/session_example_1.jsp
@@ -12,7 +12,7 @@
     <title>Title</title>
 </head>
 <body>
-    <gf:session></gf:session>
-    <a href="session_example_2.jsp">click mich</a>
+<gf:session></gf:session>
+<a href="session_example_2.jsp">click mich</a>
 </body>
 </html>
diff --git a/gemeinsamforschen/src/main/webapp/session/session_example_2.jsp b/gemeinsamforschen/src/main/webapp/session/session_example_2.jsp
index 4e58d95d9b1c81aa9c3345c323c39e0f5f82d01e..01edb289c77cf5e803c81db26d9db57c14e7efc7 100644
--- a/gemeinsamforschen/src/main/webapp/session/session_example_2.jsp
+++ b/gemeinsamforschen/src/main/webapp/session/session_example_2.jsp
@@ -12,6 +12,6 @@
     <title>Big Deal</title>
 </head>
 <body>
-    <gf:context/>
+<gf:context/>
 </body>
 </html>
diff --git a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql.orig b/gemeinsamforschen/src/scripts/dbschema/fltrail.sql.orig
deleted file mode 100644
index 503b1b82eada5064c0b20cb238f5b9ee6540cdfc..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql.orig
+++ /dev/null
@@ -1,260 +0,0 @@
-SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
-SET AUTOCOMMIT = 0;
-START TRANSACTION;
-SET time_zone = "+00:00";
-
-/*!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 */;
-
-
-<<<<<<< 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;
-
-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;
-
-CREATE TABLE if not exists groupuser (
-  userEmail varchar(400) NOT NULL,
-  groupId   int          NOT NULL
-) ENGINE = InnoDB DEFAULT CHARSET = utf8;
-
-CREATE TABLE if not exists `tags` (
-  `projectId` varchar(100) NOT NULL,
-  `tag`       varchar(400) 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,
-  `isStudent`           TINYINT(1),
-  UNIQUE (email)
-
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-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,
-  PRIMARY KEY (`id`)
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-alter table users
-  add isStudent tinyint(1) default '1' null;
-
-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 (
-  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,
-  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
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
-
-CREATE TABLE if not exists groupfindingMechanismSelected (
-  `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
-)
-  ENGINE = InnoDB
-  DEFAULT CHARSET = utf8;
->>>>>>> origin/#40_dummyProjectCreation
-
-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/core/database/InMemoryMySqlConnect.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/core/database/InMemoryMySqlConnect.java
new file mode 100644
index 0000000000000000000000000000000000000000..5d9a0488f2ef4a602f29cc11757f83a35375cf28
--- /dev/null
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/core/database/InMemoryMySqlConnect.java
@@ -0,0 +1,52 @@
+package unipotsdam.gf.core.database;
+
+import ch.vorburger.exec.ManagedProcessException;
+import ch.vorburger.mariadb4j.DB;
+import ch.vorburger.mariadb4j.DBConfigurationBuilder;
+import org.apache.commons.dbutils.DbUtils;
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.Objects;
+
+public class InMemoryMySqlConnect extends MysqlConnect {
+
+    public InMemoryMySqlConnect() {
+        connect();
+    }
+
+    private Connection getDatabaseConnection() throws ManagedProcessException, SQLException {
+        DBConfigurationBuilder config = DBConfigurationBuilder.newBuilder();
+        // set port for testing statically
+        config.setPort(0);
+        DB db = DB.newEmbeddedDB(config.build());
+
+        db.start();
+        db.source("database/fltrail.sql");
+
+        return DriverManager.getConnection(config.getURL("fltrail"));
+
+    }
+
+    @Override
+    public void connect() {
+        try {
+            if (Objects.isNull(conn)) {
+                conn = getDatabaseConnection();
+            }
+        } catch (SQLException | ManagedProcessException e) {
+            DbUtils.closeQuietly(conn);
+        }
+    }
+
+    @Override
+    public void close() {
+        // do nothing, because close shouldn't close inMemoryDatabase while tests are running, tearDown() replaces close in tests
+    }
+
+    public void tearDown() {
+        super.close();
+    }
+}
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/core/management/group/GroupDAOTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/core/management/group/GroupDAOTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..6eacdade0a3b813f65b62aec8abd6bf5ddb4e870
--- /dev/null
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/core/management/group/GroupDAOTest.java
@@ -0,0 +1,75 @@
+package unipotsdam.gf.core.management.group;
+
+import org.junit.Before;
+import org.junit.Test;
+import uk.co.jemos.podam.api.PodamFactory;
+import uk.co.jemos.podam.api.PodamFactoryImpl;
+import unipotsdam.gf.core.database.InMemoryMySqlConnect;
+import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.management.user.UserDAO;
+import unipotsdam.gf.modules.groupfinding.service.GroupDAO;
+
+import java.util.Arrays;
+import java.util.List;
+
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.hasSize;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
+
+public class GroupDAOTest {
+
+    private InMemoryMySqlConnect inMemoryMySqlConnect;
+    private GroupDAO groupDAO;
+    private UserDAO userDAO;
+    private Group group;
+
+    private PodamFactory factory = new PodamFactoryImpl();
+
+    @Before
+    public void setUp() {
+        inMemoryMySqlConnect = new InMemoryMySqlConnect();
+        groupDAO = new GroupDAO(inMemoryMySqlConnect);
+        userDAO = new UserDAO(inMemoryMySqlConnect);
+
+        User userStudent = new User("Student", "password", "testStudent@mail.com", "1",
+                "1", "1", true);
+        User userDocent = new User("Docent", "password", "testDocent@mail.com",
+                "1", "1", "1", false);
+        userDAO.persist(userStudent, null);
+        userDAO.persist(userDocent, null);
+
+        group = new Group(Arrays.asList(userStudent, userDocent), "1", "1");
+    }
+
+    @Test
+    public void testExist() {
+        groupDAO.persist(group);
+        assertThat(groupDAO.exists(group), is(true));
+    }
+
+    @Test
+    public void testPersist() {
+        assertThat(groupDAO.exists(group), is(false));
+        groupDAO.persist(group);
+        assertThat(groupDAO.exists(group), is(true));
+    }
+
+    @Test
+    public void testUpdate() {
+        groupDAO.persist(group);
+        assertThat(groupDAO.exists(group), is(true));
+        Group groupWithId = groupDAO.getGroupsByProjectId(group.getProjectId()).get(0);
+        groupWithId.setChatRoomId("neu");
+        groupDAO.update(groupWithId);
+        assertThat(groupDAO.exists(groupWithId), is(true));
+    }
+
+    @Test
+    public void testGetGroupsByProjectId() {
+        groupDAO.persist(group);
+        List<Group> groups = groupDAO.getGroupsByProjectId(group.getProjectId());
+        assertThat(groups, hasSize(1));
+        assertThat(groups.get(0), equalTo(group));
+    }
+}
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/core/management/project/ProjectDAOTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/core/management/project/ProjectDAOTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..7f1c57fd97e892e8c9fb7b00330efc67c6746298
--- /dev/null
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/core/management/project/ProjectDAOTest.java
@@ -0,0 +1,64 @@
+package unipotsdam.gf.core.management.project;
+
+import org.junit.Before;
+import org.junit.Test;
+import unipotsdam.gf.core.database.InMemoryMySqlConnect;
+import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
+
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+
+public class ProjectDAOTest {
+
+    private InMemoryMySqlConnect inMemoryMySqlConnect;
+    private ProjectDAO projectDAO;
+    private Project project;
+
+    @Before
+    public void setUp() {
+        inMemoryMySqlConnect = new InMemoryMySqlConnect();
+        projectDAO = new ProjectDAO(inMemoryMySqlConnect);
+        project = new Project("Gemeinsam Forschen", "1235", true, "me",
+                "keins");
+    }
+
+    @Test
+    public void testPersist() {
+        projectDAO.persist(project);
+        inMemoryMySqlConnect.connect();
+        String mysqlRequest = "SELECT * FROM projects where id = ? and adminPassword = ?";
+        VereinfachtesResultSet vereinfachtesResultSet =
+                inMemoryMySqlConnect.issueSelectStatement(mysqlRequest, project.getId(), project.getAdminPassword());
+        boolean result = vereinfachtesResultSet.next();
+        assertThat(result, is(true));
+    }
+
+    @Test
+    public void testExists() {
+        projectDAO.persist(project);
+        assertThat(projectDAO.exists(project), is(true));
+    }
+
+    @Test
+    public void testDelete() {
+        projectDAO.persist(project);
+        assertThat(projectDAO.exists(project), is(true));
+
+        projectDAO.delete(project);
+        assertThat(projectDAO.exists(project), is(false));
+    }
+
+    @Test
+    public void testGetProjectById() {
+        projectDAO.persist(project);
+        Project projectActual = projectDAO.getProjectById(project.getId());
+
+        assertEquals(project.getAdminPassword(), projectActual.getAdminPassword());
+        assertEquals(project.getAuthor(), projectActual.getAuthor());
+        assertEquals(project.getId(), projectActual.getId());
+        assertEquals(project.getPassword(), projectActual.getPassword());
+        assertEquals(project.getPhase(), projectActual.getPhase());
+        assertEquals(project.isActive(), projectActual.isActive());
+    }
+}
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/core/management/user/UserDAOTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/core/management/user/UserDAOTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..be817dfdec142fc0cf008da588e1f51d49e74afb
--- /dev/null
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/core/management/user/UserDAOTest.java
@@ -0,0 +1,95 @@
+package unipotsdam.gf.core.management.user;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import unipotsdam.gf.core.database.InMemoryMySqlConnect;
+import unipotsdam.gf.core.management.ManagementImpl;
+import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.util.TestHelper;
+
+import java.util.List;
+
+import static org.hamcrest.Matchers.hasSize;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+
+public class UserDAOTest {
+
+    private InMemoryMySqlConnect inMemoryMySqlConnect;
+
+    @Before
+    public void setUp() {
+        inMemoryMySqlConnect = new InMemoryMySqlConnect();
+    }
+
+    @After
+    public void tearDown() {
+        inMemoryMySqlConnect.tearDown();
+    }
+
+    @Test
+    public void testGetUsersByProjectId() {
+        ManagementImpl management = TestHelper.getManagementImpl(inMemoryMySqlConnect);
+
+        User user = new User("julian", "1234", "from@stuff.com", false);
+        management.create(user, new UserProfile());
+        assert management.exists(user);
+
+
+        Project project = new Project("Gemeinsam Forschen", "1235", true, "me", "keins");
+        management.create(project);
+        management.register(user, project, null);
+
+        assertTrue(management.exists(project));
+
+        User user2 = new User("julian2", "12345", "from2@stuff.com", true);
+        management.create(user2, new UserProfile());
+        management.register(user2, project, null);
+        assert management.exists(user2);
+
+        UserDAO userDAO = new UserDAO(inMemoryMySqlConnect);
+        List<User> users = userDAO.getUsersByProjectId(project.getId());
+        assert users != null;
+        assert !users.isEmpty();
+        assertThat(users, hasSize(2));
+    }
+
+    @Test
+    public void testExists() {
+        UserDAO userDAO = new UserDAO(inMemoryMySqlConnect);
+        User user = new User("julian", "1234", "from1123123123@stuff.com", true);
+        assert !userDAO.exists(user);
+    }
+
+    @Test
+    public void testPersist() {
+        UserDAO userDAO = new UserDAO(inMemoryMySqlConnect);
+        User user = new User("julian", "1234", "from@stuff.com", false);
+        userDAO.persist(user, new UserProfile());
+        assert userDAO.exists(user);
+    }
+
+    @Test
+    public void testUpdateUser() {
+        UserDAO userDAO = new UserDAO(inMemoryMySqlConnect);
+        User user = new User("julian", "1234", "testUpdateUser@stuff.com", true);
+        user.setToken("abc");
+        userDAO.persist(user, new UserProfile());
+        assertTrue(userDAO.exists(user));
+
+        user.setStudent(false);
+        userDAO.update(user);
+        assertTrue(userDAO.exists(user));
+        User managementUser = userDAO.getUserByToken(user.getToken());
+        assertEquals(user.getStudent(), managementUser.getStudent());
+    }
+
+    @Test
+    public void testDelete() {
+
+    }
+
+
+}
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
index 284258c144cf54efabc89250533c0573edcd4e43..0fd6c42292d14a1b16f7aff2d1e8f4c103dec7db 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ActivityFlowTest.java
@@ -25,14 +25,14 @@ import unipotsdam.gf.modules.peer2peerfeedback.Category;
 import unipotsdam.gf.modules.peer2peerfeedback.peerfeedback.Model.Peer2PeerFeedback;
 import unipotsdam.gf.modules.researchreport.ResearchReport;
 import unipotsdam.gf.modules.researchreport.ResearchReportManagement;
+
 import javax.inject.Inject;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
 import static org.mockito.Mockito.verify;
 
 
@@ -232,7 +232,7 @@ public class ActivityFlowTest {
         verify(feedback).assigningMissingFeedbackTasks(project);
 
         // assert that everybody has given and received mockfeedback
-        assertTrue(feedback.checkFeedbackConstraints(project));
+        assertEquals(0, feedback.checkFeedbackConstraints(project).size());
 
         // docent finishes phase
         phases.endPhase(ProjectPhase.DossierFeedback, project);
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ManagementTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ManagementTest.java
index 9fbce54234111c240d671b9fb5e6ea7443201dda..ff18fe4cf81220c5c3ca847c522314328e4e58d2 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ManagementTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ManagementTest.java
@@ -1,26 +1,17 @@
 package unipotsdam.gf.interfaces;
 
-import javafx.application.Application;
-import org.glassfish.hk2.api.ServiceLocator;
-import org.glassfish.hk2.utilities.Binder;
-import org.glassfish.hk2.utilities.ServiceLocatorUtilities;
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.test.JerseyTest;
 import org.junit.Before;
 import org.junit.Test;
 import uk.co.jemos.podam.api.PodamFactory;
 import uk.co.jemos.podam.api.PodamFactoryImpl;
-import unipotsdam.gf.config.GFApplicationBinder;
-import unipotsdam.gf.config.GFResourceConfig;
 import unipotsdam.gf.core.management.ManagementImpl;
 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.management.user.UserProfile;
+import unipotsdam.gf.util.TestHelper;
 
-import java.util.List;
-
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertNotNull;
 
 /**
  * Created by dehne on 01.06.2018.
@@ -29,52 +20,19 @@ import static org.junit.Assert.*;
 
 public class ManagementTest  {
 
-
     /**
      * Utility to creaty dummy data for students
      */
-    PodamFactory factory = new PodamFactoryImpl();
-
-
-    @Test
-    public void testDelete() {
-
-    }
-
-    /**
-     *  CREATE a user in the DB using the
-     */
-    @Test
-    public void testExists() {
-        ManagementImpl management = new ManagementImpl();
-        User user = new User("julian", "1234", "from1123123123@stuff.com", true);
-        assert !management.exists(user);
-    }
-
-    /**
-     *  CREATE a user in the DB using the
-     */
-    @Test
-    public void testCreate() {
-        ManagementImpl management = new ManagementImpl();
-        User user = new User("julian", "1234", "from@stuff.com", false);
-        management.create(user, new UserProfile());
-        assert management.exists(user);
-    }
-
-    /**
-     * Test creating a user in the DB
-     */
-    @Test
-    public void testCreate1() {
-        ManagementImpl management = new ManagementImpl();
-        management.create(new Project("Gemainsam Forschen", "1235", true, "me", "keins"));
+    private PodamFactory factory = new PodamFactoryImpl();
+    private ManagementImpl management;
 
+    @Before
+    public void setUp() throws Exception {
+        management = TestHelper.getManagementImpl();
     }
 
     @Test
     public void testRegister() {
-        ManagementImpl management = new ManagementImpl();
         User user = new User("julian", "1234", "from@stuff.com", true);
         management.create(user, new UserProfile());
         assert management.exists(user);
@@ -84,50 +42,11 @@ public class ManagementTest  {
         management.register(user, project, null);
     }
 
-    @Test
-    public void testUpdateUser() {
-        ManagementImpl management = new ManagementImpl();
-        User user = new User("julian", "1234", "testUpdateUser@stuff.com", true);
-        user.setToken("abc");
-        management.create(user, new UserProfile());
-        assertTrue(management.exists(user));
-
-        user.setStudent(false);
-        management.update(user);
-        assertTrue(management.exists(user));
-        User managementUser = management.getUserByToken(user.getToken());
-        assertEquals(user.getStudent(), managementUser.getStudent());
-    }
-
-    @Test
-    public void testGetUsers() {
-        ManagementImpl management = new ManagementImpl();
-        User user = new User("julian", "1234", "from@stuff.com", false);
-        management.create(user, new UserProfile());
-        assert management.exists(user);
-
-        Project project = new Project("Gemainsam Forschen", "1235", true, "me", "keins");
-        management.create(project);
-        management.register(user, project, null);
-
-        assertTrue(management.exists(project));
-
-        User user2 = new User("julian2", "12345", "from2@stuff.com", true);
-        management.create(user2, new UserProfile());
-        assert management.exists(user2);
-
-        List<User> users = management.getUsers(project);
-        assert users != null;
-        assert !users.isEmpty();
-
-    }
-
     @Test
     public void testProjectConfiguration() {
         ProjectConfiguration projectConfiguration = factory.manufacturePojo(ProjectConfiguration.class);
         Project project = factory.manufacturePojo(Project.class);
 
-        ManagementImpl management = new ManagementImpl();
         management.create(projectConfiguration, project);
 
         ProjectConfiguration projectConfiguration1 = management.getProjectConfiguration(project);
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java
index fa948cc8054747957ec225561db6bcf8e2ecea1e..b70df0f1ce8dc2aa7dfd6b44c72af4392f0ed0c2 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java
@@ -11,6 +11,8 @@ 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.model.ProjectPhase;
+import unipotsdam.gf.util.TestHelper;
+
 import javax.inject.Inject;
 
 public class PhaseTest {
@@ -27,7 +29,7 @@ public class PhaseTest {
 
     @BeforeClass
     public static void prepareProject() {
-        ManagementImpl management = new ManagementImpl();
+        ManagementImpl management = TestHelper.getManagementImpl();
         User user = new User("julian", "1234", "from@stuff.com", false);
         management.create(user, new UserProfile());
         assert management.exists(user);
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 1b13a03bcf124f3a2edb682104bce1e56a19bd7b..04ee86cb1815e127f48ad94af326e36805513b13 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java
@@ -4,15 +4,17 @@ 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.model.GroupEvalDataDatasets;
+import unipotsdam.gf.modules.assessment.controller.model.GroupEvalDataList;
+import unipotsdam.gf.modules.assessment.controller.model.Quiz;
+import unipotsdam.gf.modules.assessment.controller.model.StudentAndQuiz;
+import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.assessment.controller.service.FBAssessement;
 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 {
@@ -23,7 +25,7 @@ public class TestAddAssessment {
     private String quizId = "Whats a good Test?";
 
     @Test
-    public void createQuiz(){
+    public void createQuiz() {
         StudentAndQuiz studentAndQuiz = new StudentAndQuiz();
         StudentIdentifier student = new StudentIdentifier(projectId, studentId);
         studentAndQuiz.setStudentIdentifier(student);
@@ -45,17 +47,17 @@ public class TestAddAssessment {
     }
 
     @Test
-    public void getAllQuizzesInProject(){
+    public void getAllQuizzesInProject() {
         peer.getQuiz(projectId);
     }
 
     @Test
-    public void getQuiz(){
+    public void getQuiz() {
         peer.getQuiz(projectId, quizId, studentId);
     }
 
     @Test
-    public void answerQuiz(){
+    public void answerQuiz() {
         Map<String, List<String>> questions = new HashMap<>();
         StudentIdentifier student = new StudentIdentifier(projectId, studentId);
         List<String> answers = new ArrayList<>();
@@ -67,7 +69,7 @@ public class TestAddAssessment {
     }
 
     @Test
-    public void deleteQuiz(){
+    public void deleteQuiz() {
         peer.deleteQuiz(quizId);
     }
 
@@ -90,11 +92,12 @@ 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;
+    public void meanOfAssessments() {
+        double Ergebnis = 0.0;
+        double zwischenErgebnis = 0.0;
+        double counter = 0.0;
         List<Double> results = new ArrayList<>();
         MysqlConnect connect = new MysqlConnect();
 
@@ -102,47 +105,48 @@ public class TestAddAssessment {
         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()){
+        VereinfachtesResultSet ausgabe = connect.issueSelectStatement(mysqlRequest, test, test2);
+        while (ausgabe.next()) {
             counter++;
-            zwischenErgebnis=zwischenErgebnis+ausgabe.getInt("bewertung");
+            zwischenErgebnis = zwischenErgebnis + ausgabe.getInt("bewertung");
             results.add((double) ausgabe.getInt("bewertung"));
         }
-        results.add(zwischenErgebnis/counter);
+        results.add(zwischenErgebnis / counter);
         System.out.println(results);
         //Integer bewertung = ausgabe.getInt("bewertung");
         connect.close();
     }
+
     @Test
-    public void groupDatafromDB(){
+    public void groupDatafromDB() {
         MysqlConnect connect = new MysqlConnect();
-        List<String> userNamen=new ArrayList<>();
+        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()){
+        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++){
+        for (int i = 0; i < userNamen.size(); i++) {
             String mysqlRequestAssessment = "SELECT * FROM `assessments` WHERE `empfaengerId`=?";
-            VereinfachtesResultSet bewertungDerUser = connect.issueSelectStatement(mysqlRequestAssessment,userNamen.get(i));
+            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
deleted file mode 100644
index 9551fecdd8a1ff851d2613269ab51347f7b791cc..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java.orig
+++ /dev/null
@@ -1,156 +0,0 @@
-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/groupfinding/dummy/service/DummyProjectCreationServiceTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/groupfinding/dummy/service/DummyProjectCreationServiceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..07b517ef6fd8ec65eb742b9b5cda97277a32b629
--- /dev/null
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/groupfinding/dummy/service/DummyProjectCreationServiceTest.java
@@ -0,0 +1,48 @@
+package unipotsdam.gf.modules.groupfinding.dummy.service;
+
+import org.junit.Test;
+import unipotsdam.gf.core.database.InMemoryMySqlConnect;
+import unipotsdam.gf.core.management.Management;
+import unipotsdam.gf.core.management.group.Group;
+import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.core.management.project.ProjectDAO;
+import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.management.user.UserDAO;
+import unipotsdam.gf.interfaces.ICommunication;
+import unipotsdam.gf.modules.communication.service.CommunicationDummyService;
+import unipotsdam.gf.modules.groupfinding.service.GroupDAO;
+import unipotsdam.gf.util.TestHelper;
+
+import java.util.List;
+
+import static org.junit.Assert.assertTrue;
+
+public class DummyProjectCreationServiceTest {
+
+    @Test
+    public void testCreateExampleProject() {
+        ICommunication communication = new CommunicationDummyService();
+        InMemoryMySqlConnect inMemoryMySqlConnect = new InMemoryMySqlConnect();
+        Management management = TestHelper.getManagementImpl(inMemoryMySqlConnect);
+        GroupDAO groupDAO = new GroupDAO(inMemoryMySqlConnect);
+        UserDAO userDAO = new UserDAO(inMemoryMySqlConnect);
+
+        DummyProjectCreationService dummyProjectCreationService = new DummyProjectCreationService(communication, management, groupDAO, userDAO);
+
+        dummyProjectCreationService.createExampleProject();
+
+        User docentUser = dummyProjectCreationService.getDocentUser();
+        assertTrue(userDAO.exists(docentUser));
+
+        ProjectDAO projectDAO = new ProjectDAO(inMemoryMySqlConnect);
+        Project project = new Project("1", "password", true, docentUser.getEmail(), "admin");
+        assertTrue(projectDAO.exists(project));
+
+        List<Group> dummyGroups = dummyProjectCreationService.createDummyGroups(project.getId());
+        dummyGroups.forEach(group -> group.setChatRoomId("1"));
+        dummyGroups.forEach(group -> {
+            assertTrue(groupDAO.exists(group));
+            group.getMembers().forEach(user -> assertTrue(userDAO.exists(user)));
+        });
+    }
+}
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImplTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImplTest.java
index d7d201f69c8a72f99538b3ba56cf9a3c32947891..e429d35fe73afde493debb0311b96949538b12b2 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImplTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/JournalDAOImplTest.java
@@ -13,7 +13,9 @@ import unipotsdam.gf.modules.peer2peerfeedback.Category;
 
 import java.util.ArrayList;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 public class JournalDAOImplTest {
 
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionImplDAOTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionImplDAOTest.java
index bcc98003103ad7c5d13e95336266e32b67657595..601245c3b77e470a3edcb45c428cf60e97b1c947 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionImplDAOTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/model/dao/ProjectDescriptionImplDAOTest.java
@@ -9,7 +9,9 @@ import unipotsdam.gf.modules.journal.model.ProjectDescription;
 
 import java.util.ArrayList;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 public class ProjectDescriptionImplDAOTest {
 
@@ -172,7 +174,7 @@ public class ProjectDescriptionImplDAOTest {
         ArrayList<String> resultDescriptions = descriptionDAO.getOpenDescriptions(project);
         assertEquals(2, resultDescriptions.size());
 
-        cleanup("-1","-2","-3");
+        cleanup("-1", "-2", "-3");
         connection.close();
     }
 
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/service/JournalServiceImplTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/service/JournalServiceImplTest.java
index 05ce97fb48f7880edf0b40c40b79be515661bc81..936830acb3b6f4bfb1e1c70a2f7279291306fcc8 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/service/JournalServiceImplTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/service/JournalServiceImplTest.java
@@ -2,10 +2,10 @@ package unipotsdam.gf.modules.journal.service;
 
 import org.junit.After;
 import org.junit.Test;
-import unipotsdam.gf.core.management.Management;
-import unipotsdam.gf.core.management.ManagementImpl;
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.management.user.UserDAO;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.journal.model.Visibility;
@@ -15,7 +15,10 @@ import unipotsdam.gf.modules.peer2peerfeedback.Category;
 
 import java.util.ArrayList;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 public class JournalServiceImplTest {
 
@@ -28,7 +31,7 @@ public class JournalServiceImplTest {
     private final Journal testJournal = new Journal(testId, new StudentIdentifier(testProject, testStudent), testEntry, testVisibility, testCategory);
     private JournalService journalService = new JournalServiceImpl();
     private JournalDAO journalDAO = new JournalDAOImpl();
-    private Management management = new ManagementImpl();
+    private UserDAO userDAO = new UserDAO(new MysqlConnect());
 
     @After
     public void cleanUp() {
@@ -104,7 +107,7 @@ public class JournalServiceImplTest {
     public void saveJournal() {
         //Create new
 
-        journalService.saveJournal("0",testStudent,testProject,testEntry,testVisibility.toString(),testVisibility.toString());
+        journalService.saveJournal("0", testStudent, testProject, testEntry, testVisibility.toString(), testVisibility.toString());
 
         String journalID = journalDAO.getAllByProject(testProject, testStudent).get(0).getId();
 
@@ -122,7 +125,7 @@ public class JournalServiceImplTest {
 
         //Update
 
-        journalService.saveJournal(journalID,testStudent,testProject,testEntry+testEntry,Visibility.MINE.toString(),Category.AUSWERTUNG.toString());
+        journalService.saveJournal(journalID, testStudent, testProject, testEntry + testEntry, Visibility.MINE.toString(), Category.AUSWERTUNG.toString());
 
         resultJournal = journalDAO.getJournal(journalID);
 
@@ -130,7 +133,7 @@ public class JournalServiceImplTest {
 
         assertEquals(resultJournal.getStudentIdentifier().getStudentId(), testStudent);
         assertEquals(resultJournal.getStudentIdentifier().getProjectId(), testProject);
-        assertEquals(resultJournal.getEntryMD(), testEntry+testEntry);
+        assertEquals(resultJournal.getEntryMD(), testEntry + testEntry);
         assertEquals(resultJournal.getId(), journalID);
         assertEquals(resultJournal.getVisibility(), Visibility.MINE);
         assertEquals(resultJournal.getCategory(), Category.AUSWERTUNG);
@@ -179,15 +182,15 @@ public class JournalServiceImplTest {
         journalDAO.createJournal(testJournal);
         journalDAO.createJournal(testJournal);
 
-        ArrayList<Journal> resultJournals = journalDAO.getAllByProject(testProject,testStudent);
+        ArrayList<Journal> resultJournals = journalDAO.getAllByProject(testProject, testStudent);
 
-        assertFalse(journalService.checkIfAllJournalClosed(project));
+        assertEquals(0, journalService.checkIfAllJournalClosed(project).size());
 
-        for(Journal j : resultJournals){
+        for (Journal j : resultJournals) {
             journalDAO.closeJournal(j.getId());
         }
 
-        assertTrue(journalService.checkIfAllJournalClosed(project));
+        assertEquals(0, journalService.checkIfAllJournalClosed(project).size());
 
     }
 
@@ -195,7 +198,7 @@ public class JournalServiceImplTest {
     public void getOpenUserByProject() {
 
         User user = new User("Test", "Test", "test@test.de", true);
-        String token = management.getUserToken(user);
+        String token = userDAO.getUserToken(user);
 
         Project project = new Project();
 
@@ -206,7 +209,7 @@ public class JournalServiceImplTest {
 
         ArrayList<User> resultUsers = journalService.getOpenUserByProject(project);
 
-        assertEquals(1,resultUsers.size());
-        assertEquals(user.getEmail(),resultUsers.get(0).getId());
+        assertEquals(1, resultUsers.size());
+        assertEquals(user.getEmail(), resultUsers.get(0).getId());
     }
 }
\ No newline at end of file
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionImplTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionImplTest.java
index 66b84406055c680e3c314354ec6897e9126eff5e..4669f793a824701a66aa759b4c12b54ac47e45e9 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionImplTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/journal/service/ProjectDescriptionImplTest.java
@@ -2,10 +2,10 @@ package unipotsdam.gf.modules.journal.service;
 
 import org.junit.After;
 import org.junit.Test;
-import unipotsdam.gf.core.management.Management;
-import unipotsdam.gf.core.management.ManagementImpl;
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
 import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.core.management.user.UserDAO;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.Link;
 import unipotsdam.gf.modules.journal.model.ProjectDescription;
@@ -16,7 +16,10 @@ import unipotsdam.gf.modules.journal.model.dao.ProjectDescriptionDAOImpl;
 
 import java.util.ArrayList;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 public class ProjectDescriptionImplTest {
 
@@ -24,7 +27,7 @@ public class ProjectDescriptionImplTest {
 
     private ProjectDescriptionDAO descriptionDAO = new ProjectDescriptionDAOImpl();
     private LinkDAO linkDAO = new LinkDAOImpl();
-    private Management management = new ManagementImpl();
+    private UserDAO userDAO = new UserDAO(new MysqlConnect());
 
     private String testId = "-1";
     private String testStudent = "testStudent";
@@ -172,20 +175,20 @@ public class ProjectDescriptionImplTest {
 
         Project project = new Project();
         project.setId(testProject);
-        assertFalse(projectDescriptionService.checkIfAllDescriptionsClosed(project));
+        assertEquals(0, projectDescriptionService.checkIfAllDescriptionsClosed(project).size());
 
         ProjectDescription resDescription = descriptionDAO.getDescription(new StudentIdentifier(testProject, testStudent));
 
         descriptionDAO.closeDescription(resDescription.getId());
 
-        assertTrue(projectDescriptionService.checkIfAllDescriptionsClosed(project));
+        assertEquals(0,projectDescriptionService.checkIfAllDescriptionsClosed(project).size());
 
     }
 
     @Test
     public void getOpenUserByProject() {
         User user = new User("Test", "Test", "test@test.de", true);
-        String token = management.getUserToken(user);
+        String token = userDAO.getUserToken(user);
 
         Project project = new Project();
         project.setId(testProject);
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/peerassessment/HashMapTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/peerassessment/HashMapTest.java
index 1252c6ae0db6e157e1808d3a697f212fda240bfc..55ed9428338e0f5c7be89b8bb4e785f8da313c1d 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/peerassessment/HashMapTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/peerassessment/HashMapTest.java
@@ -4,7 +4,12 @@ import org.junit.Test;
 import unipotsdam.gf.modules.assessment.controller.model.Performance;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
 
 public class HashMapTest {
 
@@ -61,23 +66,23 @@ public class HashMapTest {
             }
             Map<String, Double> meanWorkRating = new HashMap<>(meanOfWorkRatings(oneExcludedMeans));
             ArrayList<Map<String, Double>> elementwiseDeviation = new ArrayList<>();
-            for (Map<String, Double> rating: oneExcludedMeans){
+            for (Map<String, Double> rating : oneExcludedMeans) {
                 HashMap<String, Double> shuttle = new HashMap<>();
-                for (String key: rating.keySet()){
-                    Double value = (rating.get(key)-meanWorkRating.get(key))*(rating.get(key)-meanWorkRating.get(key));
+                for (String key : rating.keySet()) {
+                    Double value = (rating.get(key) - meanWorkRating.get(key)) * (rating.get(key) - meanWorkRating.get(key));
                     shuttle.put(key, value);
                 }
                 elementwiseDeviation.add(shuttle);
             }
-            Double deviationOld=0.;
-            Integer key=0;
-            for (Integer i=0; i<elementwiseDeviation.size(); i++){
-                Double deviationNew=0.;
-                for (Double devi: elementwiseDeviation.get(i).values()){
+            Double deviationOld = 0.;
+            Integer key = 0;
+            for (Integer i = 0; i < elementwiseDeviation.size(); i++) {
+                Double deviationNew = 0.;
+                for (Double devi : elementwiseDeviation.get(i).values()) {
                     deviationNew += devi;
                 }
-                if (deviationNew>deviationOld){
-                    deviationOld=deviationNew;
+                if (deviationNew > deviationOld) {
+                    deviationOld = deviationNew;
                     key = i;
                 }
             }
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/util/TestHelper.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/util/TestHelper.java
new file mode 100644
index 0000000000000000000000000000000000000000..e3fbe7c69f3a8573b72212ba8bd9fc814cab9f79
--- /dev/null
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/util/TestHelper.java
@@ -0,0 +1,23 @@
+package unipotsdam.gf.util;
+
+import unipotsdam.gf.core.database.InMemoryMySqlConnect;
+import unipotsdam.gf.core.management.ManagementImpl;
+import unipotsdam.gf.core.management.project.ProjectDAO;
+import unipotsdam.gf.core.management.user.UserDAO;
+import unipotsdam.gf.modules.groupfinding.service.GroupDAO;
+
+public class TestHelper {
+
+    public static ManagementImpl getManagementImpl() {
+        InMemoryMySqlConnect connect = new InMemoryMySqlConnect();
+        return getManagementImpl(connect);
+    }
+
+    public static ManagementImpl getManagementImpl(InMemoryMySqlConnect connect) {
+        UserDAO userDAO = new UserDAO(connect);
+        GroupDAO groupDAO = new GroupDAO(connect);
+        ProjectDAO projectDAO = new ProjectDAO(connect);
+
+        return new ManagementImpl(userDAO, groupDAO, projectDAO, connect);
+    }
+}
diff --git a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql b/gemeinsamforschen/src/test/resources/database/fltrail.sql
similarity index 95%
rename from gemeinsamforschen/src/scripts/dbschema/fltrail.sql
rename to gemeinsamforschen/src/test/resources/database/fltrail.sql
index 062476e03983706cdbc49fa9fd997c1f5a6534bf..0aa37e4eb98d3802d4a1d7e2a50b120e3d12ae80 100644
--- a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql
+++ b/gemeinsamforschen/src/test/resources/database/fltrail.sql
@@ -3,12 +3,8 @@ SET AUTOCOMMIT = 0;
 START TRANSACTION;
 SET time_zone = "+00:00";
 
-/*!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 */;
-
-
+CREATE DATABASE IF NOT EXISTS `fltrail`;
+USE fltrail;
 CREATE TABLE if not exists `annotations` (
   `id` varchar(120) NOT NULL,
   `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
diff --git a/gemeinsamforschen/src/test/resources/log4j2.xml b/gemeinsamforschen/src/test/resources/log4j2.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0ebedf9efc442970827512c6beb2fa3983fbbbb0
--- /dev/null
+++ b/gemeinsamforschen/src/test/resources/log4j2.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration status="WARN">
+    <Appenders>
+        <Console name="Console" target="SYSTEM_OUT">
+            <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} [%level] %logger{35} - %msg%n"/>
+        </Console>
+    </Appenders>
+    <Loggers>
+        <Root level="ERROR">
+            <AppenderRef ref="Console"/>
+        </Root>
+    </Loggers>
+</Configuration>
\ No newline at end of file