diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java
index f78e0499a449729639899bb6c225b40eb8472e27..80a97c52f12c1de0830f3409a33d5ab16875ba61 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/config/GFApplicationBinder.java
@@ -7,6 +7,7 @@ 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.tasks.TaskDAO;
 import unipotsdam.gf.core.testsandbox.TestList;
 import unipotsdam.gf.core.testsandbox.TestListInterface;
 import unipotsdam.gf.interfaces.Feedback;
@@ -46,5 +47,6 @@ public class GFApplicationBinder extends AbstractBinder {
         bind(GroupDAO.class).to(GroupDAO.class);
         bind(MysqlConnect.class).to(MysqlConnect.class);
         bind(GroupfindingImpl.class).to(IGroupFinding.class);
+        bind(TaskDAO.class).to(TaskDAO.class);
     }
 }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/Importance.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/Importance.java
new file mode 100644
index 0000000000000000000000000000000000000000..07327fa622592c7b86cdc42709ae7a6525420563
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/Importance.java
@@ -0,0 +1,7 @@
+package unipotsdam.gf.core.tasks;
+
+public enum Importance {
+    HIGH,
+    MEDIUM,
+    LOW
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/Progress.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/Progress.java
new file mode 100644
index 0000000000000000000000000000000000000000..e234b93bdfa487ee511873269487d773551c7bb1
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/Progress.java
@@ -0,0 +1,7 @@
+package unipotsdam.gf.core.tasks;
+
+public enum Progress {
+    FINISHED,
+    INPROGRESS,
+    JUSTSTARTED
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/Task.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/Task.java
new file mode 100644
index 0000000000000000000000000000000000000000..8fdedeb4c861d14b2a7183866372e3d4fef2007f
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/Task.java
@@ -0,0 +1,139 @@
+package unipotsdam.gf.core.tasks;
+
+import unipotsdam.gf.core.states.model.ProjectPhase;
+
+import java.sql.Timestamp;
+
+public class Task {
+    // as in "Feedback"
+    private String technicalName;
+    // as in "Feedback geben"
+    private String title;
+
+    private Enum taskType;
+
+    // optional: only relevant if the task is show on the side
+    private Object taskData;
+    private Enum renderModel;
+
+    // relevant for time based warnings
+    private Timestamp eventCreated;
+    private Timestamp deadline;
+
+    private Boolean groupTask;
+    private Importance importance;
+    private ProjectPhase phase;
+
+    private String link;
+
+    public String getUserToken() {
+        return userToken;
+    }
+
+    public void setUserToken(String userToken) {
+        this.userToken = userToken;
+    }
+
+    private String userToken;
+
+    public String getProjectToken() {
+        return projectToken;
+    }
+
+    public void setProjectToken(String projectToken) {
+        this.projectToken = projectToken;
+    }
+
+    private String projectToken;
+
+    public Task() {
+    }
+
+    public String getTechnicalName() {
+        return technicalName;
+    }
+
+    public void setTechnicalName(String technicalName) {
+        this.technicalName = technicalName;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public Enum getTaskType() {
+        return taskType;
+    }
+
+    public void setTaskType(Enum taskType) {
+        this.taskType = taskType;
+    }
+
+    public Object getTaskData() {
+        return taskData;
+    }
+
+    public void setTaskData(Object taskData) {
+        this.taskData = taskData;
+    }
+
+    public Enum getRenderModel() {
+        return renderModel;
+    }
+
+    public void setRenderModel(Enum renderModel) {
+        this.renderModel = renderModel;
+    }
+
+    public Timestamp getEventCreated() {
+        return eventCreated;
+    }
+
+    public void setEventCreated(Timestamp eventCreated) {
+        this.eventCreated = eventCreated;
+    }
+
+    public Timestamp getDeadline() {
+        return deadline;
+    }
+
+    public void setDeadline(Timestamp deadline) {
+        this.deadline = deadline;
+    }
+
+    public Boolean getGroupTask() {
+        return groupTask;
+    }
+
+    public void setGroupTask(Boolean groupTask) {
+        this.groupTask = groupTask;
+    }
+
+    public Importance getImportance() {
+        return importance;
+    }
+
+    public void setImportance(Importance importance) {
+        this.importance = importance;
+    }
+
+    public ProjectPhase getPhase() {
+        return phase;
+    }
+
+    public void setPhase(ProjectPhase phase) {
+        this.phase = phase;
+    }
+
+    public String getLink() {
+        return link;
+    }
+
+    public void setLink(String link) {
+        this.link = link;
+    }
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/TaskDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/TaskDAO.java
new file mode 100644
index 0000000000000000000000000000000000000000..42c2115e4369be11c614b5a982d090344d7dfeae
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/TaskDAO.java
@@ -0,0 +1,33 @@
+package unipotsdam.gf.core.tasks;
+
+import com.mysql.jdbc.NotImplemented;
+import unipotsdam.gf.core.database.mysql.MysqlConnect;
+
+import javax.annotation.ManagedBean;
+import javax.inject.Inject;
+
+@ManagedBean
+public class TaskDAO {
+
+    @Inject
+    MysqlConnect connect;
+
+    public Task[] getTasks(String userToken, String projectToken) throws NotImplemented {
+        throw new NotImplemented();
+    }
+
+    public void persist(Task task) throws NotImplemented {
+        connect.connect();
+        String query = "INSERT INTO fltrail.tasks (userId, projectId, taskUrl, speakingName, technicalName, " +
+                "linkedMode, groupTask, importance, progress, phase, created, due) VALUES ('?', '?', '?', '?', '?', " +
+                "'?', ?, '?', '?', '?', '?', '?')";
+
+        connect.issueInsertOrDeleteStatement(query, task.getUserToken());
+        connect.close();
+        throw new NotImplemented();
+    }
+
+    public void update(Task task) throws NotImplemented {
+        throw new NotImplemented();
+    }
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/TaskType.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/TaskType.java
new file mode 100644
index 0000000000000000000000000000000000000000..392fcf181435d8d985baf59afaddf9c1dad6ec52
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/TaskType.java
@@ -0,0 +1,10 @@
+package unipotsdam.gf.core.tasks;
+
+public enum TaskType {
+    // the task can be completed directly on the overview page
+    ONSITE,
+    // the task is just an info that can be noticed (maybe)
+    INFO,
+    // the task is a link to a complex feature
+    LINKED
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/TaskView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/TaskView.java
new file mode 100644
index 0000000000000000000000000000000000000000..97669372eacc5e936b72c5f368a76d0f057dae4e
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/tasks/TaskView.java
@@ -0,0 +1,26 @@
+package unipotsdam.gf.core.tasks;
+
+import com.mysql.jdbc.NotImplemented;
+
+import javax.inject.Inject;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
+import java.awt.*;
+
+@Path("/tasks")
+public class TaskView {
+
+
+    @Inject
+    private TaskDAO taskDAO;
+
+    @Path("/user/{userToken}/project/{projectToken}")
+    @Produces(MediaType.APPLICATION_JSON)
+    public Task[] getTasks(@PathParam("userToken") String userToken,@PathParam("projectToken") String projectToken)
+            throws NotImplemented {
+        return taskDAO.getTasks(userToken, projectToken);
+    }
+}
diff --git a/gemeinsamforschen/src/scripts/dbschema/fltrail.sql b/gemeinsamforschen/src/scripts/dbschema/fltrail.sql
new file mode 100644
index 0000000000000000000000000000000000000000..f6c19b0957f55ba172abdd230e3f724a13b64e52
--- /dev/null
+++ b/gemeinsamforschen/src/scripts/dbschema/fltrail.sql
@@ -0,0 +1,179 @@
+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 */;
+
+CREATE DATABASE IF NOT EXISTS `fltrail` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
+USE `fltrail`;
+
+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` varchar(120) DEFAULT NULL,
+  `targetCategory` varchar(30) NOT NULL,
+  `title` varchar(120) DEFAULT NULL,
+  `comment` varchar(400) DEFAULT NULL,
+  `startCharacter` int(11) DEFAULT NULL,
+  `endCharacter` int(11) DEFAULT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `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=utf8;
+
+CREATE TABLE IF NOT EXISTS `assessmentmechanismselected` (
+  `projectId` varchar(100) NOT NULL,
+  `amSelected` 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 `contributionrating` (
+  `projectId` varchar(400) NOT NULL,
+  `studentId` varchar(400) NOT NULL,
+  `fromPeer` varchar(400) NOT NULL,
+  `dossier` int(11) NOT NULL,
+  `eJournal` int(11) NOT NULL,
+  `research` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `fullsubmissions` (
+  `id` varchar(120) NOT NULL,
+  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `user` varchar(120) NOT NULL,
+  `text` mediumtext NOT NULL,
+  `projectId` varchar(120) NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `grades` (
+  `projectId` varchar(400) NOT NULL,
+  `studentId` varchar(400) NOT NULL,
+  `grade` double 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 `groups` (
+  `id` int(11) 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(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+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 `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,
+  UNIQUE KEY `id` (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `projectuser` (
+  `projectId` varchar(100) NOT NULL,
+  `userId` varchar(100) NOT NULL,
+  UNIQUE KEY `projectId_2` (`projectId`,`userId`),
+  KEY `projectId` (`projectId`,`userId`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+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 `submissionpartbodyelements` (
+  `fullSubmissionId` varchar(120) NOT NULL,
+  `category` varchar(30) NOT NULL,
+  `startCharacter` int(11) NOT NULL,
+  `endCharacter` int(11) NOT NULL,
+  PRIMARY KEY (`fullSubmissionId`,`category`,`startCharacter`,`endCharacter`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `submissionparts` (
+  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `userId` varchar(120) NOT NULL,
+  `fullSubmissionId` varchar(120) NOT NULL,
+  `category` varchar(30) NOT NULL,
+  PRIMARY KEY (`fullSubmissionId`,`category`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `tags` (
+  `projectId` varchar(100) NOT NULL,
+  `tag` varchar(400) 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,
+  `speakingName` varchar(400) DEFAULT NULL,
+  `technicalName` varchar(400) DEFAULT NULL,
+  `linkedMode` varchar(400) DEFAULT NULL,
+  `groupTask` tinyint(4) DEFAULT NULL,
+  `importance` varchar(100) DEFAULT NULL,
+  `progress` varchar(100) DEFAULT NULL,
+  `phase` varchar(100) DEFAULT NULL,
+  `created` timestamp NULL DEFAULT NULL,
+  `due` timestamp NULL DEFAULT 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) DEFAULT '1',
+  UNIQUE KEY `email` (`email`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE IF NOT EXISTS `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=utf8;
+COMMIT;
+
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
diff --git a/gemeinsamforschen/src/scripts/fltrail_tasks.sql b/gemeinsamforschen/src/scripts/fltrail_tasks.sql
new file mode 100644
index 0000000000000000000000000000000000000000..4bfe85786025a6eccb822d2e2a06aa72b1f01632
--- /dev/null
+++ b/gemeinsamforschen/src/scripts/fltrail_tasks.sql
@@ -0,0 +1 @@
+INSERT INTO fltrail.tasks (userId, projectId, taskUrl, speakingName, technicalName, linkedMode, groupTask, importance, progress, phase, created, due) VALUES ('1', '1', '1', '1', '1', '1', 1, '1', '1', '1', '1', '1');
\ No newline at end of file
diff --git a/gemeinsamforschen/src/scripts/munschkins.sql b/gemeinsamforschen/src/scripts/munschkins.sql
deleted file mode 100644
index aa8419a1626fc7287cbdc7f97eab38fee2fb0a43..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/scripts/munschkins.sql
+++ /dev/null
@@ -1,14 +0,0 @@
-
-use munschkins;
-
-CREATE TABLE IF NOT EXISTS Munschkins (
-  MunschkinId int,
-  LastName varchar(255),
-  FirstName varchar(255),
-  BadThings varchar(255),
-  Strength int
-);
-
-INSERT INTO `Munschkins` (MunschkinId, LastName, FirstName, BadThings, Strength) values(1, "Thor", "Theodor", "he
-will eat your feet", 5);
-