diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java
index 1750b873a33a184cee3e9a1b911ab48ea53c4762..24c7cd99c37535e026277bf7449ab6c7eb441089 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IJournal.java
@@ -19,13 +19,6 @@ import java.util.List;
 
 public interface IJournal {
 
-    /**
-     * Exports the learning journal
-     * @param student StudentIdentifier
-     * @return the journal as String (may change)
-     */
-    String exportJournal (StudentIdentifier student) ;
-
     /**
      * check if all students have prepared their portfolios to be evaluated
      * @return
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java
deleted file mode 100644
index 50da0c81b96dd2a5501eab940ce84682ac2d72c8..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/DummyJournalImpl.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package unipotsdam.gf.modules.journal;
-
-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.assignments.Assignee;
-import unipotsdam.gf.assignments.NotImplementedLogger;
-import unipotsdam.gf.interfaces.IJournal;
-import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
-import unipotsdam.gf.modules.journal.model.EPorfolio;
-import unipotsdam.gf.modules.journal.model.Journal;
-import unipotsdam.gf.modules.researchreport.ResearchReport;
-
-import javax.swing.text.html.HTML;
-import java.io.File;
-import java.util.List;
-
-public class DummyJournalImpl implements IJournal {
-
-
-    private Logger log = LoggerFactory.getLogger(DummyJournalImpl.class);
-
-    @Override
-    public String exportJournal(StudentIdentifier student)  {
-        NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class);
-        return null;
-    }
-
-    @Override
-    public Boolean getPortfoliosForEvaluationPrepared(Project project)  {
-        NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class);
-        return false;
-    }
-
-    @Override
-    public void assignMissingPortfolioTasks(Project project) {
-        NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class);
-    }
-
-    @Override
-    public void uploadJournalEntry(Journal journalEntry, User student) {
-        NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class);
-    }
-
-    @Override
-    public void uploadFinalPortfolio(
-            Project project, List<Journal> journalEntries, ResearchReport finalResearchReport, File presentation,
-            User user)  {
-        NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class);
-    }
-
-    @Override
-    public EPorfolio getFinalPortfolioForAssessment(
-            Project project, User user)  {
-        NotImplementedLogger.logAssignment(Assignee.THOMAS, IJournal.class);
-        return null;
-    }
-}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAO.java
index f9ff960168c8515ae8c188aa2e3d87bb85d74be6..ef61f37c6af869dbe35ca33d00bdca71152d36cd 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAO.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/journal/model/dao/JournalDAO.java
@@ -1,5 +1,6 @@
 package unipotsdam.gf.modules.journal.model.dao;
 
+import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.journal.model.JournalFilter;
 
@@ -22,4 +23,5 @@ public interface JournalDAO {
 
     void closeJournal(String id);
 
+    ArrayList<String> getOpenJournals(Project project);
 }
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 1c5ce831a639be436e37f2cbc7dce58bd1eebc34..2ae0dff6402db42aa1efd917e2c09f7570dbdf6d 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
@@ -2,6 +2,7 @@ package unipotsdam.gf.modules.journal.model.dao;
 
 import unipotsdam.gf.core.database.mysql.MysqlConnect;
 import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
+import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.journal.model.JournalFilter;
@@ -165,6 +166,29 @@ public class JournalDAOImpl implements JournalDAO {
         connection.close();
     }
 
+    @Override
+    public ArrayList<String> getOpenJournals(Project project) {
+        ArrayList<String> userIds = new ArrayList<>();
+
+        // establish connection
+        MysqlConnect connection = new MysqlConnect();
+        connection.connect();
+
+        // build and execute request
+        String request = "SELECT * FROM journals WHERE project = ? AND open = ?;";
+        VereinfachtesResultSet rs = connection.issueSelectStatement(request, project, true);
+
+        while (rs.next()) {
+            userIds.add(getJournalFromResultSet(rs).getStudentIdentifier().getStudentId());
+        }
+
+        // close connection
+        connection.close();
+
+        return userIds;
+
+    }
+
     /**
      * extracts a journal from VereinfachtesResultSet
      *
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 3137a9fe0be906f35f38e23115190f14b3a0576a..d4f31bab858c799d258aa77c90894141337f8ad4 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
@@ -1,8 +1,12 @@
 package unipotsdam.gf.modules.journal.model.dao;
 
+import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.ProjectDescription;
 
+import java.util.ArrayList;
+import java.util.Collection;
+
 public interface ProjectDescriptionDAO {
 
     void createDescription(ProjectDescription projectDescription);
@@ -12,4 +16,6 @@ public interface ProjectDescriptionDAO {
     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 ec76a9622ddbc43270f0ffefc0016aed8265bd9b..958d41bd8207eaa419142499cd897df6b51dc080 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
@@ -4,6 +4,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import unipotsdam.gf.core.database.mysql.MysqlConnect;
 import unipotsdam.gf.core.database.mysql.VereinfachtesResultSet;
+import unipotsdam.gf.core.management.project.Project;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.ProjectDescription;
 import unipotsdam.gf.modules.journal.util.JournalUtils;
@@ -137,6 +138,28 @@ public class ProjectDescriptionDAOImpl implements ProjectDescriptionDAO {
         connection.close();
     }
 
+    @Override
+    public ArrayList<String> getOpenDescriptions(Project project) {
+        ArrayList<String> userIds = new ArrayList<>();
+
+        // establish connection
+        MysqlConnect connection = new MysqlConnect();
+        connection.connect();
+
+        // build and execute request
+        String request = "SELECT * FROM projectdescription WHERE project = ? AND open = ?;";
+        VereinfachtesResultSet rs = connection.issueSelectStatement(request, project, true);
+
+        while (rs.next()) {
+            userIds.add(getDescriptionFromResultSet(rs).getStudent().getStudentId());
+        }
+
+        // close connection
+        connection.close();
+
+        return userIds;
+    }
+
     private ProjectDescription getDescriptionFromResultSet(VereinfachtesResultSet rs) {
         String id = rs.getString("id");
         long timestamp = rs.getTimestamp(2).getTime();
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 15ca144ac8807f6b12522242395d571b0118e99e..f22f951a7b6f95ca3d036c90adcdfe91ba45bf01 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,5 +1,7 @@
 package unipotsdam.gf.modules.journal.service;
 
+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.interfaces.IJournal;
@@ -8,50 +10,64 @@ import unipotsdam.gf.modules.journal.model.EPorfolio;
 import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.researchreport.ResearchReport;
 
-import javax.swing.text.html.HTML;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 
 public class IJournalImpl implements IJournal {
 
+    private Logger log = LoggerFactory.getLogger(IJournalImpl.class);
+
     JournalService journalService = new JournalServiceImpl();
     ProjectDescriptionService descriptionService = new ProjectDescriptionImpl();
 
-    @Override
-    public String exportJournal(StudentIdentifier student) {
-        return null;
-    }
 
     @Override
     public Boolean getPortfoliosForEvaluationPrepared(Project project) {
-        //Teilnehmer suchen
 
-        //Hat jeder Teilnehmer ein geschlossenenes Portfolio
+        if(!descriptionService.checkIfAllDescriptionsClosed(project) || !journalService.checkIfAllJournalClosed(project)){
+            //assignMissingPortfolioTasks()?
+            return false;
+        }
 
-        //Hat jeder die nötigen Journal
+        //TODO check Constrains (5? Journals...)...
 
-        return null;
+        return true;
     }
 
+
     @Override
     public void assignMissingPortfolioTasks(Project project) {
-        //Teilnehmer suchen
 
-        //Hat jeder Teilnehmer ein geschlossenenes Portfolio
+        ArrayList<User> descUser = descriptionService.getOpenUserByProject(project);
+
+        for(User user : descUser){
+
+            log.debug("Send close description message to user {}", user.getId());
+            //TODO send message when implemented
+
+        }
+
+        ArrayList<User> journalUser = journalService.getOpenUserByProject(project);
+
+        for(User user : journalUser){
+
+            log.debug("Send close journal message to user {}", user.getId());
+            //TODO send message when implemented
+
+        }
 
-        //Hat jeder die nötigen Journal
 
     }
 
     @Override
     public void uploadJournalEntry(Journal journalEntry, User student) {
-
+        //TODO
     }
 
     @Override
     public void uploadFinalPortfolio(Project project, List<Journal> journalEntries, ResearchReport finalResearchReport, File presentation, User user) {
-
+        //TODO
     }
 
     @Override
@@ -66,4 +82,6 @@ public class IJournalImpl implements IJournal {
 
         return result;
     }
+
+
 }
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 755b1cf594ca1fb3516d4096567bbc2eba522b8f..be8dc781a90624f648196f0a74a55203ae053215 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
@@ -1,5 +1,7 @@
 package unipotsdam.gf.modules.journal.service;
 
+import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.core.management.user.User;
 import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.journal.model.JournalFilter;
 
@@ -54,4 +56,8 @@ public interface JournalService {
 
 
     void closeJournal(String journal);
+
+    boolean 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 79bf05ed35a80df31fdf7f4c1cb93ad5a16c62c0..41e0d747e2b20e8d026272975b0524c403b8669c 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,6 +2,9 @@ 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.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.Journal;
 import unipotsdam.gf.modules.journal.model.JournalFilter;
@@ -96,6 +99,23 @@ public class JournalServiceImpl implements JournalService {
         log.debug("<<< close journal");
     }
 
-    //TODO Export for assessment
-}
+    @Override
+    public boolean checkIfAllJournalClosed(Project project) {
+        return (journalDAO.getOpenJournals(project).size() == 0);
+    }
+
+    @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));
+        }
+        return users;
+    }
 
+}
\ No newline at end of file
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 77ed95bb2febbf0a04a3cb6399493e657ba68125..b292898b9cacba09aaecfa95517a88f920bd6895 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,5 +1,8 @@
 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.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.Link;
 import unipotsdam.gf.modules.journal.model.ProjectDescription;
@@ -8,6 +11,7 @@ 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 java.util.ArrayList;
 import java.util.Date;
 
 public class ProjectDescriptionImpl implements ProjectDescriptionService {
@@ -61,4 +65,22 @@ public class ProjectDescriptionImpl implements ProjectDescriptionService {
     public void closeDescription(String projectDescrID) {
         descriptionDAO.closeDescription(projectDescrID);
     }
+
+    @Override
+    public boolean checkIfAllDescriptionsClosed(Project project) {
+        return (descriptionDAO.getOpenDescriptions(project).size() == 0); //TODO Jeder eine desc?
+    }
+
+    @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));
+        }
+        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 2d76e6c454b6c745611742a95b734f9a9d7212a6..fbf6dc1e9ef202d2e9ae12c214b284d472e931f1 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
@@ -1,8 +1,12 @@
 package unipotsdam.gf.modules.journal.service;
 
+import unipotsdam.gf.core.management.project.Project;
+import unipotsdam.gf.core.management.user.User;
 import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier;
 import unipotsdam.gf.modules.journal.model.ProjectDescription;
 
+import java.util.ArrayList;
+
 /**
  * Service for learning Journal
  */
@@ -20,4 +24,8 @@ public interface ProjectDescriptionService {
     void deleteLink(String link);
 
     void closeDescription(String projectDescriptionId);
+
+    boolean checkIfAllDescriptionsClosed(Project project);
+
+    ArrayList<User> getOpenUserByProject(Project project);
 }