diff --git a/.gitignore b/.gitignore
index fdd8abe91e7a54c6db8d2dce5d522e4c8a61ff12..08a5755e850dceadea7ed43d961e9c8bc31f8d5d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,4 +20,5 @@
 /.idea/vcs.xml
 /.idea/workspace.xml
 **/.idea
-**/GFRocketChatConfig.java
\ No newline at end of file
+**/GFRocketChatConfig.java
+/studentview/.idea/workspace.xml
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..de7d93efe990daf69fb5f5cd80e095ddc007736a 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java
@@ -130,5 +130,7 @@ public interface Management {
     void create(ProjectConfiguration projectConfiguration, Project project);
 
     ProjectConfiguration getProjectConfiguration(Project project);
+
+    String getProjectToken(String projectName, String password);
 }
 
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 c5bcc092ed699e2ab8ca7f93fcafd946dd58fb26..8875c571b97a9537eab6a29b379a9e822d6dc61b 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java
@@ -49,10 +49,10 @@ public class ManagementImpl implements Management {
 
         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());
+        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
@@ -67,11 +67,16 @@ public class ManagementImpl implements Management {
         MysqlConnect connect = new MysqlConnect();
         connect.connect();
         String mysqlRequest =
-                "INSERT INTO projects (`id`, `password`, `active`, `timecreated`, `author`, "
-                        + "`adminPassword`, `token`, `phase`) values (?,?,?,?,?,?,?,?)";
+                "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());
+                project.getTimecreated(), project.getAuthor(), project.getAdminPassword(), token,
+                project.getPhase() == null ? ProjectPhase.CourseCreation : project.getPhase());
+
+        String mysql2Request = "INSERT INTO tags (`projectId`, `tag`) values (?,?)";
+        String[] tags = project.getTags();
+        for (String tag : tags) {
+            connect.issueInsertOrDeleteStatement(mysql2Request, project.getId(), tag);
+        }
         connect.close();
     }
 
@@ -100,13 +105,13 @@ public class ManagementImpl implements Management {
     public void update(User user) {
         MysqlConnect connect = new MysqlConnect();
         connect.connect();
-        String mysqlRequest = "UPDATE `users` SET `name`=?,`password`=?,`email`=?,`token`=?,`isStudent`=?," +
-                "`rocketChatId`=?,`rocketChatAuthToken`=? WHERE email=? LIMIT 1";
+        String mysqlRequest =
+                "UPDATE `users` SET `name`=?,`password`=?,`email`=?,`token`=?,`isStudent`=?," + "`rocketChatId`=?,`rocketChatAuthToken`=? WHERE email=? LIMIT 1";
         //TODO: maybe add handling if a line is actually updated
         //TODO: if user is updated, it also must update all other tables which includes some information about the user, for example project user
 
-        connect.issueUpdateStatement(mysqlRequest, user.getName(), user.getPassword(), user.getEmail(),
-                user.getToken(), user.getStudent(), user.getRocketChatId(), user.getRocketChatAuthToken(), user.getEmail());
+        connect.issueUpdateStatement(mysqlRequest, user.getName(), user.getPassword(), user.getEmail(), user.getToken(),
+                user.getStudent(), user.getRocketChatId(), user.getRocketChatAuthToken(), user.getEmail());
         connect.close();
     }
 
@@ -139,10 +144,7 @@ public class ManagementImpl implements Management {
     @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 = ?";
+                "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();
@@ -183,13 +185,15 @@ public class ManagementImpl implements Management {
         String adminPassword = vereinfachtesResultSet.getString("adminpassword");
         String token = vereinfachtesResultSet.getString("token");
         String phase = vereinfachtesResultSet.getString("phase");
-        Project project = new Project(id, password, active, timestamp, author, adminPassword, token, ProjectPhase.valueOf(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) {
+    private void fillGroupFromResultSet(
+            VereinfachtesResultSet vereinfachtesResultSet, HashMap<Integer, Group> existingGroups) {
         int id = vereinfachtesResultSet.getInt("id");
         if (existingGroups.containsKey(id)) {
             existingGroups.get(id).addMember(getUserFromResultSet(vereinfachtesResultSet));
@@ -232,8 +236,6 @@ public class ManagementImpl implements Management {
 
 
     /**
-     *
-     *
      * @param value
      * @return
      */
@@ -241,8 +243,7 @@ public class ManagementImpl implements Management {
         MysqlConnect connect = new MysqlConnect();
         connect.connect();
         String mysqlRequest = "SELECT * FROM users where " + field + " = ?";
-        VereinfachtesResultSet vereinfachtesResultSet =
-                connect.issueSelectStatement(mysqlRequest, value);
+        VereinfachtesResultSet vereinfachtesResultSet = connect.issueSelectStatement(mysqlRequest, value);
         boolean next = vereinfachtesResultSet.next();
         if (next) {
             User user = getUserFromResultSet(vereinfachtesResultSet);
@@ -256,14 +257,13 @@ public class ManagementImpl implements Management {
 
     @Override
     public Project getProjectById(String id) {
-        if (id == null){
+        if (id == null) {
             return null;
         }
         MysqlConnect connect = new MysqlConnect();
         connect.connect();
         String mysqlRequest = "SELECT * FROM projects where id = ?";
-        VereinfachtesResultSet vereinfachtesResultSet =
-                connect.issueSelectStatement(mysqlRequest, id);
+        VereinfachtesResultSet vereinfachtesResultSet = connect.issueSelectStatement(mysqlRequest, id);
         boolean next = vereinfachtesResultSet.next();
         if (next) {
             Project project = getProjectFromResultSet(vereinfachtesResultSet);
@@ -304,11 +304,9 @@ public class ManagementImpl implements Management {
     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);
+        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);
@@ -334,10 +332,25 @@ public class ManagementImpl implements Management {
         return projectConfigurationDAO.loadProjectConfiguration(project);
     }
 
-    public String saveProfilePicture(FileInputStream image, String studentId){
+    @Override
+    public String getProjectToken(String projectName, String password) {
+        MysqlConnect connect = new MysqlConnect();
+        connect.connect();
+        String query = "SELECT a.token from projects a where a.password = ? and a.id = ?";
+        VereinfachtesResultSet vereinfachtesResultSet = connect.issueSelectStatement(projectName, password);
+
+        String result = "";
+        while (vereinfachtesResultSet.next()) {
+            result = vereinfachtesResultSet.getString("token");
+        }
+        connect.close();
+        return result;
+    }
+
+    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/project/Project.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java
index 6ca31795c7dd6b06f1d9a40ff1a8d9d66e2f32a9..14871803ee64aba859de3f5702790905ebc1eb4e 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/Project.java
@@ -2,6 +2,7 @@ package unipotsdam.gf.core.management.project;
 
 import unipotsdam.gf.core.states.ProjectPhase;
 
+import javax.xml.bind.annotation.XmlRootElement;
 import java.sql.Timestamp;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
@@ -9,6 +10,7 @@ import java.time.ZoneId;
 /**
  * Created by dehne on 31.05.2018.
  */
+@XmlRootElement(name = "Project")
 public class Project {
 
     private String id;
@@ -19,11 +21,12 @@ public class Project {
     private String adminPassword;
     private String token;
     private ProjectPhase phase;
+    private String[] tags;
 
     public Project() {
     }
 
-    public Project(String id, String password, Boolean active, String author, String adminPassword) {
+    public Project(String id, String password, Boolean active, String author, String adminPassword, String[] tags) {
         this.id = id;
         this.password = password;
         this.active = active;
@@ -32,6 +35,7 @@ public class Project {
         this.timecreated = Timestamp.valueOf(LocalDateTime.now(ZoneId.of("UTC")));
         // default starting at course creation if new
         this.setPhase(ProjectPhase.CourseCreation);
+        this.tags = tags;
     }
 
     public Project(String id, String password, Boolean active,
@@ -45,6 +49,7 @@ public class Project {
         this.adminPassword = adminPassword;
         this.token = token;
         this.phase = phase;
+        this.tags = tags;
     }
 
     public String getId() {
@@ -112,6 +117,14 @@ public class Project {
         this.phase = phase;
     }
 
+    public String[] getTags() {
+        return tags;
+    }
+
+    public void setTags(String[] tags) {
+        this.tags = tags;
+    }
+
     @Override
     public String toString() {
         final StringBuilder sb = new StringBuilder("Project{");
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectService.java
new file mode 100644
index 0000000000000000000000000000000000000000..36d80a9b9de5c78727abf19c08628d5d983f54ab
--- /dev/null
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/project/ProjectService.java
@@ -0,0 +1,57 @@
+package unipotsdam.gf.core.management.project;
+
+import unipotsdam.gf.core.management.Management;
+import unipotsdam.gf.core.management.ManagementImpl;
+import unipotsdam.gf.core.management.user.User;
+import unipotsdam.gf.interfaces.ICommunication;
+
+import javax.annotation.ManagedBean;
+import javax.inject.Inject;
+import javax.ws.rs.*;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.net.URISyntaxException;
+
+
+@ManagedBean
+@Path("/project")
+public class ProjectService {
+
+
+    @Inject
+    private Management iManagement;
+
+    @PUT
+    @Consumes(MediaType.APPLICATION_JSON)
+    @Produces(MediaType.TEXT_PLAIN)
+    @Path("/create")
+    public Response createProject(Project project) throws URISyntaxException {
+
+        iManagement.create(project);
+        return Response.ok("project has been created").build();
+    }
+
+    @GET
+    @Consumes(MediaType.APPLICATION_JSON)
+    @Produces(MediaType.TEXT_PLAIN)
+    @Path("/token")
+    public String getProjectToken(
+            @QueryParam("project") String projectName, @QueryParam("password") String password)
+            throws URISyntaxException {
+
+        String token = iManagement.getProjectToken(projectName, password);
+        return token;
+    }
+
+  /*  @GET
+    @Consumes(MediaType.APPLICATION_JSON)
+    @Produces(MediaType.TEXT_PLAIN)
+    @Path("/token")
+    public String projectExists(
+            @QueryParam("project") String projectName, @QueryParam("password") String password)
+            throws URISyntaxException {
+
+        String token = iManagement.getProjectToken(projectName, password);
+        return token;
+    }*/
+}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IMunschkin.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IMunschkin.java
deleted file mode 100644
index 7b0acf2b2d1a17044d63cd98cca96cbb901a79b6..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IMunschkin.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package unipotsdam.gf.interfaces;
-
-import unipotsdam.gf.modules.munchkin.model.Munschkin;
-
-/**
- * Created by dehne on 25.04.2018.
- */
-public interface IMunschkin {
-
-    Munschkin getMunschkin (int id);
-    void letMunchKinFight(Munschkin otherMunchkin);
-}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java
index 09fba126c48b52b04893ac4d08a4f207ffe478a5..bbdc11bf67597bdbcc938744feac3d1fef4983e9 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/groupfinding/service/GroupCreationService.java
@@ -30,7 +30,7 @@ public class GroupCreationService {
     public boolean createExampleProject() {
 
         User docentUser = getDocentUser();
-        Project project = new Project("1", "", true, docentUser.getEmail(), "admin");
+        Project project = new Project("1", "", true, docentUser.getEmail(), "admin", null);
 
         List<Group> groups = createDummyGroups(project.getId());
 
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/munchkin/controller/MunchkinImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/munchkin/controller/MunchkinImpl.java
deleted file mode 100644
index 458537256ed3017a3bf72d3ae28af793854bda7c..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/munchkin/controller/MunchkinImpl.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package unipotsdam.gf.modules.munchkin.controller;
-
-import unipotsdam.gf.interfaces.IMunschkin;
-import unipotsdam.gf.modules.munchkin.model.Munschkin;
-
-import java.sql.*;
-
-/**
- * Created by dehne on 24.04.2018.
- */
-public class MunchkinImpl implements IMunschkin {
-
-    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
-    static final String DB_URL = "jdbc:mysql://localhost";
-
-    //  Database credentials
-    static final String USER = "root";
-    static final String PASS = "";
-
-    // Es gibt natürlich auch libraries, die den Datenbankzugriff einfacher gestalten. Ziel soll sein, dass alle
-    // die Basics können. Es ist auch sinnvoll, die Datenbankzugriffe in eine eigene Klasse auszulagern!!
-    @Override
-    public Munschkin getMunschkin(int id) {
-
-        Munschkin munschkin = new Munschkin();
-
-        // JDBC driver name and database URL
-        Connection conn = null;
-        Statement stmt = null;
-        try {
-            //STEP 2: Register JDBC driver
-            Class.forName("com.mysql.jdbc.Driver");
-
-            //STEP 3: Open a connection
-            System.out.println("Connecting to database...");
-            conn = DriverManager.getConnection(DB_URL, USER, PASS);
-
-            //STEP 4: Execute a query
-            System.out.println("Creating statement...");
-            stmt = conn.createStatement();
-            String sql;
-            sql = "Use munschkins;";
-            System.out.println(sql);
-            ResultSet rs = stmt.executeQuery(sql);
-            sql = "SELECT MunschkinId, LastName, FirstName, BadThings, Strength FROM Munschkins WHERE " +
-                    "MunschkinId="+id+";";
-            rs = stmt.executeQuery(sql);
-
-            //STEP 5: Extract data from result set
-            while (rs.next()) {
-                //Retrieve by column name
-                munschkin.setMunschkinId(rs.getInt("MunschkinId"));
-                munschkin.setBadThings(rs.getString("BadThings"));
-                munschkin.setLastName(rs.getString("LastName"));
-                munschkin.setFirstName(rs.getString("FirstName"));
-                munschkin.setStrength(rs.getInt("Strength"));
-            }
-            //STEP 6: Clean-up environment
-            rs.close();
-            stmt.close();
-            conn.close();
-        } catch (SQLException se) {
-            //Handle errors for JDBC
-            se.printStackTrace();
-        } catch (Exception e) {
-            //Handle errors for Class.forName
-            e.printStackTrace();
-        } finally {
-            //finally block used to close resources
-            try {
-                if (stmt != null)
-                    stmt.close();
-            } catch (SQLException se2) {
-            }// nothing we can do
-            try {
-                if (conn != null)
-                    conn.close();
-            } catch (SQLException se) {
-                se.printStackTrace();
-            }//end finally try
-        }//end try
-
-        return munschkin;
-    }
-
-    @Override
-    public void letMunchKinFight(Munschkin otherMunchkin) {
-        // TODO was euer Algorithmus sonst noch so kann
-    }
-}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/munchkin/model/Munschkin.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/munchkin/model/Munschkin.java
deleted file mode 100644
index 883392b74bfe646099f7331010ada5650a1d3a98..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/munchkin/model/Munschkin.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package unipotsdam.gf.modules.munchkin.model;
-
-import javax.xml.bind.annotation.XmlRootElement;
-
-/**
- * Created by dehne on 24.04.2018.
- */
-
-@XmlRootElement(name = "Munschkin")
-public class Munschkin {
-    private int munschkinId;
-    private String lastName;
-    private String firstName;
-    private String BadThings;
-    private int strength;
-
-    public Munschkin() {
-
-    }
-
-/*
-    public Munschkin(int munschkinId, String lastName, String firstName, String badThings, int strength) {
-        this.munschkinId = munschkinId;
-        this.lastName = lastName;
-        this.firstName = firstName;
-        BadThings = badThings;
-        this.strength = strength;
-    }
-*/
-
-
-
-    public int getMunschkinId() {
-        return munschkinId;
-    }
-
-    public void setMunschkinId(int munschkinId) {
-        this.munschkinId = munschkinId;
-    }
-
-    public String getLastName() {
-        return lastName;
-    }
-
-    public void setLastName(String lastName) {
-        this.lastName = lastName;
-    }
-
-    public String getFirstName() {
-        return firstName;
-    }
-
-    public void setFirstName(String firstName) {
-        this.firstName = firstName;
-    }
-
-    public String getBadThings() {
-        return BadThings;
-    }
-
-    public void setBadThings(String badThings) {
-        BadThings = badThings;
-    }
-
-    public int getStrength() {
-        return strength;
-    }
-
-    public void setStrength(int strength) {
-        this.strength = strength;
-    }
-
-    @Override
-    public String toString() {
-        final StringBuilder sb = new StringBuilder("Munschkin{");
-        sb.append("munschkinId=").append(munschkinId);
-        sb.append(", lastName='").append(lastName).append('\'');
-        sb.append(", firstName='").append(firstName).append('\'');
-        sb.append(", BadThings='").append(BadThings).append('\'');
-        sb.append(", strength=").append(strength);
-        sb.append(", badThings='").append(getBadThings()).append('\'');
-        sb.append('}');
-        return sb.toString();
-    }
-}
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/munchkin/service/RestyMunschkin.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/munchkin/service/RestyMunschkin.java
deleted file mode 100644
index 256554946e5218afacaedc914e21fe9c1f70ca01..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/munchkin/service/RestyMunschkin.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package unipotsdam.gf.modules.munchkin.service;
-
-/**
- * Created by dehne on 24.04.2018.
- */
-
-import unipotsdam.gf.interfaces.IMunschkin;
-import unipotsdam.gf.modules.munchkin.controller.MunchkinImpl;
-import unipotsdam.gf.modules.munchkin.model.Munschkin;
-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;
-
-@Path("/api")
-public class RestyMunschkin {
-
-
-    // This method is called if HTML is request
-    @GET
-    @Produces(MediaType.TEXT_HTML)
-    @Path("/hello/{id}")
-    public String sayHtmlHello(@PathParam("id") String id) {
-        IMunschkin munchkinImpl = new MunchkinImpl();
-        Munschkin munschkin = munchkinImpl.getMunschkin(Integer.parseInt(id));
-        return "<html> " + "<title>" + "Hello Munschkin" + "</title>" + "<body><h1>" + munschkin
-                .toString() + "</body></h1>" + "</html> ";
-    }
-
-    // This method is called if HTML is request
-    @GET
-    @Produces(MediaType.APPLICATION_XML)
-    @Path("/munschkin/{id}")
-    public Munschkin getMunschkin(@PathParam("id") String id) {
-        IMunschkin munchkinImpl = new MunchkinImpl();
-        Munschkin munschkin = munchkinImpl.getMunschkin(Integer.parseInt(id));
-        return munschkin;
-    }
-
-    @GET
-    @Produces(MediaType.TEXT_HTML)
-    @Path("/project/{projectId}/quiz/{quizId}")
-    public String exampleQuiz(@PathParam("projectId") String name, @PathParam("quizId") String quiz) {
-        /**String[] correctAnswers = new String[2];
-         correctAnswers[0] = "42";
-         correctAnswers[1] = "24";
-         String[] wrongAnswers = {"a god created creature", "a sum of my mistakes"};
-         if (false){
-         return "ProjectId not found: " + name;
-         }
-         Quiz sampleQuiz = new Quiz("multiple","Who am I and if so, how many?", correctAnswers,wrongAnswers);
-         log.info("HelloWorldview helloWorld Method answered: "+ sampleQuiz.toString());
-         return sampleQuiz.toString();*/
-        return "<html> " + "<title>" + "Hello Munschkin" + "</title>" + "<body><h1>" + "</body></h1>" + "</html> ";
-
-    }
-
-
-}
diff --git a/gemeinsamforschen/src/main/webapp/core/overview-docent.js b/gemeinsamforschen/src/main/webapp/core/overview-docent.js
index 77cd2693f2740cc2cb0a36e504271eecae90310e..dd6a331cd5539f798b452d95ac5dde4beee020c6 100644
--- a/gemeinsamforschen/src/main/webapp/core/overview-docent.js
+++ b/gemeinsamforschen/src/main/webapp/core/overview-docent.js
@@ -6,7 +6,7 @@ $(document).ready(function(){
         location.href="project-docent.jsp?token="+getUserTokenFromUrl()+'&projectId='+'Kaleo';
     });
     $('#createProject').on('click', function(){
-        location.href="createProject.jsp?token="+getUserTokenFromUrl();
+        location.href="./management/create-project.jsp?token="+getUserTokenFromUrl();
     });
 
 });
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/management/create-project.jsp b/gemeinsamforschen/src/main/webapp/management/create-project.jsp
index c7be48010ccca471a7ea94968845991f6c889c62..22f36e299534f2363ce79bbffd9177210a132574 100644
--- a/gemeinsamforschen/src/main/webapp/management/create-project.jsp
+++ b/gemeinsamforschen/src/main/webapp/management/create-project.jsp
@@ -10,6 +10,9 @@
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="menu" %>
 <%@ taglib uri="../core/gemeinsamForschen.tld" prefix="omniDependencies" %>
 
+<omniDependencies:omniDependencies hierarchy="1"></omniDependencies:omniDependencies>
+<script type="text/javascript" src="../libs/jQuery-Tags-Input-master/src/jquery.tagsinput.js"></script>
+
 <html>
 
 <head>
@@ -17,11 +20,10 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Projekterstellung</title>
     <script src="js/config.js"></script>
-    <script src="js/newProject.js"></script>
+    <script src="js/create-project.js"></script>
 </head>
 
 <body>
-<p id="user" hidden><?php echo $userName; ?></p>
 
 <div class="loader-inactive" id="loader">
     <div class="sk-cube1 sk-cube"></div>
diff --git a/gemeinsamforschen/src/main/webapp/management/js/newProject.js b/gemeinsamforschen/src/main/webapp/management/js/create-project.js
similarity index 86%
rename from gemeinsamforschen/src/main/webapp/management/js/newProject.js
rename to gemeinsamforschen/src/main/webapp/management/js/create-project.js
index be07b3fead5a21b1ba8d1703d8f5688f01facc53..5b15e0881bc8f39f9a93315d1a55df230d2271e5 100644
--- a/gemeinsamforschen/src/main/webapp/management/js/newProject.js
+++ b/gemeinsamforschen/src/main/webapp/management/js/create-project.js
@@ -54,23 +54,35 @@ function createNewProject(allTheTags, activ) {
 
     document.getElementById('loader').className = "loader";
     document.getElementById('wrapper').className = "wrapper-inactive";
-    var localurl = "../database/getProjects.php?project=" + projectName;
+    var localurl = "../../gemeinsamforschen/rest/project/create";
     if (allTheTags.length !== 5) {
         document.getElementById('tagHelper').className = "alert alert-warning";
     } else {
         document.getElementById('tagHelper').className = "";
     }
 
+    // TODO find out author
+    var project = {
+        "id": projectName,
+        "password": password,
+        "active": true,
+        "timecreated": null,
+        "author": "STFHXOqQj2",
+        "adminPassword": adminPassword,
+        "token": "QCqGuQlYLL",
+        "phase": "GroupFormation",
+        "tags": allTheTags
+    }
 
     $('#projectIsMissing').hide();
     $.ajax({                        //check local DB for existence of projectName
         url: localurl,
-        projectName: projectName,
+        contentType: 'application/json',
         activ: activ,
-        Accept: "text/plain; charset=utf-8",
-        contentType: "text/plain",
+        type: 'PUT',
+        data: JSON.stringify(project),
         success: function (response) {
-            if (response !== "project missing") {
+            if (response === "project missing") {
                 $('#projectNameExists').show();
                 document.getElementById('loader').className = "loader-inactive";
                 document.getElementById('wrapper').className = "wrapper";
@@ -114,7 +126,7 @@ function createNewProject(allTheTags, activ) {
                     document.getElementById('loader').className = "loader-inactive";
                     document.getElementById('wrapper').className = "wrapper";
                     if ($('#Teilnehmer').prop("checked")) {          //if author wants to join the course, he needs to be redirected to enter-preferences.jsp
-                        var url = "../database/getProjects.php?project=" + projectName + "&password=" + document.getElementById('passwordProject').value;
+                        var url = "../../gemeinsamforschen/rest/project/token?project=" + projectName + "&password=" + document.getElementById('passwordProject').value;
                         $.ajax({
                             url: url,
                             projectName: projectName,
@@ -128,7 +140,7 @@ function createNewProject(allTheTags, activ) {
                             }
                         });
                     } else {                //if author is just author and not member, he will be directed to projects.php
-                        location.href = "projects.php?token=" + getUserTokenFromUrl();
+                        location.href = "../project-docent.jsp?token=" + getUserTokenFromUrl();
                     }
                 });
             }
@@ -144,7 +156,7 @@ function createNewProject(allTheTags, activ) {
 }
 
 function addProjectToLocalDB(allTheTags, projectName, password, activ, adminPassword) {
-    var tags = JSON.stringify(allTheTags);
+    /*var tags = JSON.stringify(allTheTags);
     var author = $("#user").text().trim();
     var url = "../database/putProject.php?project=" + projectName + "&password=" + password + "&activ=" + activ + "&token=" + getUserTokenFromUrl() + "&adminpassword=" + adminPassword + "&author=" + author;
     return $.ajax({
@@ -158,5 +170,6 @@ function addProjectToLocalDB(allTheTags, projectName, password, activ, adminPass
         error: function (a, b, c) {
             console.log(a);
         }
-    });
+    });*/
+    // Project has been added with the exist function - maybe that was the wrong approach?
 }
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/overview-docent.jsp b/gemeinsamforschen/src/main/webapp/overview-docent.jsp
index b90362fcfb6f42c332b75cc2ad9f6957014ab30e..470a45bb4472244ef60b2f5646fe0453a391fa32 100644
--- a/gemeinsamforschen/src/main/webapp/overview-docent.jsp
+++ b/gemeinsamforschen/src/main/webapp/overview-docent.jsp
@@ -83,7 +83,9 @@
                 </tr>
             </table>
         </div>
-        <button class="btn btn-default" type="button" id="createProject" style="margin-left:250px;">Projekt erstellen</button>
+
+        <button class="btn btn-default" type="button" id="createProject" style="margin-left:250px;">Projekt
+            erstellen</button>
     </div>
 </body>
 
diff --git a/gemeinsamforschen/src/test/java/MunschkinLoaderTest.java b/gemeinsamforschen/src/test/java/MunschkinLoaderTest.java
deleted file mode 100644
index d86b172c252c26ab5b8c2e4213a58d7b970ee1d1..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/test/java/MunschkinLoaderTest.java
+++ /dev/null
@@ -1,20 +0,0 @@
-import unipotsdam.gf.interfaces.IMunschkin;
-import unipotsdam.gf.modules.munchkin.controller.MunchkinImpl;
-import unipotsdam.gf.modules.munchkin.model.Munschkin;
-import org.junit.Test;
-
-/**
- * Created by dehne on 24.04.2018.
- */
-public class MunschkinLoaderTest {
-    @Test
-    public void testMunschKinLoader() {
-        IMunschkin m = new MunchkinImpl();
-        // Nützlich weil: IMunschkin m2 = new HendriksMunchkinImpl();
-
-        // ab hier ist es dem Code egal, welche Implementation hinter dem Interface steht
-        Munschkin loadedM = m.getMunschkin(1);
-        assert loadedM != null;
-        System.out.print(loadedM.toString());
-    }
-}
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ManagementTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ManagementTest.java
index 9fbce54234111c240d671b9fb5e6ea7443201dda..828a7abefa431263cac794b630f4fb0fd94b3d62 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ManagementTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/ManagementTest.java
@@ -68,7 +68,8 @@ public class ManagementTest  {
     @Test
     public void testCreate1() {
         ManagementImpl management = new ManagementImpl();
-        management.create(new Project("Gemainsam Forschen", "1235", true, "me", "keins"));
+        Project project = factory.manufacturePojo(Project.class);
+        management.create(project);
 
     }
 
@@ -79,7 +80,7 @@ public class ManagementTest  {
         management.create(user, new UserProfile());
         assert management.exists(user);
 
-        Project project = new Project("Gemainsam Forschen", "1235", true, "me", "keins");
+        Project project = factory.manufacturePojo(Project.class);
         management.create(project);
         management.register(user, project, null);
     }
@@ -106,7 +107,7 @@ public class ManagementTest  {
         management.create(user, new UserProfile());
         assert management.exists(user);
 
-        Project project = new Project("Gemainsam Forschen", "1235", true, "me", "keins");
+        Project project = factory.manufacturePojo(Project.class);
         management.create(project);
         management.register(user, project, null);
 
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java
index 9d59d39a89bade2431dee22455ef1bcc457c1f2a..ff755d0a0e1b9a024730a3dad073dff9d1f7ed6b 100644
--- a/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/interfaces/PhaseTest.java
@@ -5,6 +5,8 @@ import org.glassfish.hk2.utilities.ServiceLocatorUtilities;
 import org.junit.Before;
 import org.junit.BeforeClass;
 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.core.management.ManagementImpl;
 import unipotsdam.gf.core.management.project.Project;
@@ -18,6 +20,11 @@ public class PhaseTest {
     @Inject
     private IPhases phases;
 
+    /**
+     * Utility to creaty dummy data for students
+     */
+    static PodamFactory factory = new PodamFactoryImpl();
+
 
     @Before
     public void setUp() {
@@ -32,7 +39,7 @@ public class PhaseTest {
         management.create(user, new UserProfile());
         assert management.exists(user);
 
-        Project project = new Project("Gemainsam Forschen", "1235", true, "me", "keins");
+        Project project = factory.manufacturePojo(Project.class);
         management.create(project);
         management.register(user, project, null);
     }
diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/JacksonPojoToJson.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/JacksonPojoToJson.java
new file mode 100644
index 0000000000000000000000000000000000000000..a320df8375a5490aaae245274d0d879d0a5d4eb1
--- /dev/null
+++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/testsandbox/JacksonPojoToJson.java
@@ -0,0 +1,39 @@
+package unipotsdam.gf.testsandbox;
+
+
+import java.io.FileOutputStream;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import uk.co.jemos.podam.api.PodamFactory;
+import uk.co.jemos.podam.api.PodamFactoryImpl;
+import unipotsdam.gf.core.management.project.Project;
+
+public class JacksonPojoToJson {
+
+
+    /**
+     * Utility to creaty dummy data for students
+     */
+    static PodamFactory factory = new PodamFactoryImpl();
+
+    public static void main(String[] args) throws Exception {
+
+        // shows how to use
+        writeExample(Project.class);
+    }
+
+    public static void writeExample(Class object) throws JsonProcessingException {
+        // Create ObjectMapper
+        ObjectMapper mapper = new ObjectMapper();
+        mapper.enable(SerializationFeature.INDENT_OUTPUT);
+
+        Object mappable = factory.manufacturePojo(object);
+
+        // Convert object to JSON string
+        String json = mapper.writeValueAsString(mappable);
+        System.out.println(json);
+    }
+}
+