diff --git a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld b/gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld
rename to gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld
diff --git a/gemeinsamforschen/src/main/webapp/core/management/create-project.jsp b/gemeinsamforschen/src/main/webapp/core/management/create-project.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..cbfb9ce16ae8769661c470d7d6db718885ed4805
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/management/create-project.jsp
@@ -0,0 +1,98 @@
+<%--
+  Created by IntelliJ IDEA.
+  User: dehne
+  Date: 12.09.2018
+  Time: 12:06
+  To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>dozent-view-alternativ slider</title>
+    <link rel="stylesheet" href="../../assets/bootstrap/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700">
+    <link rel="stylesheet" href="../../assets/css/Login-Form-Clean.css">
+    <link rel="stylesheet" href="../../assets/css/Navigation-with-Button1.css">
+    <link rel="stylesheet" href="../../assets/css/Sidebar-Menu.css">
+    <link rel="stylesheet" href="../../assets/css/Sidebar-Menu1.css">
+    <link rel="stylesheet" href="../../assets/css/styles.css">
+    <link rel="stylesheet" type="text/css" href="../../assets/jQuery-Tags-Input-master/src/jquery.tagsinput.css"/>
+    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
+    <script type="text/javascript" src="../../assets/jQuery-Tags-Input-master/src/jquery.tagsinput.js"></script>
+    <script src="../assets/js/config.js"></script>
+    <script src="../assets/js/newProject.js"></script>
+    <script src="../../assets/js/utility.js"></script>
+    <script src="../../assets/bootstrap/js/bootstrap.min.js"></script>
+    <script src="../../assets/js/Sidebar-Menu.js"></script>
+</head>
+
+<body>
+<p id="user" hidden><?php echo $userName; ?></p>
+
+<div class="loader-inactive" id="loader">
+    <div class="sk-cube1 sk-cube"></div>
+    <div class="sk-cube2 sk-cube"></div>
+    <div class="sk-cube4 sk-cube"></div>
+    <div class="sk-cube3 sk-cube"></div>
+</div>
+
+<div id="wrapper" style="margin:0px;">
+    <?php
+    include_once 'menu.php'
+    ?>
+    <div class="page-content-wrapper">
+        <div class="container-fluid">
+            <div class="row">
+                <div class="col-md-12">
+                    <div>
+                        <p></p>
+                        <h3> Erstellen Sie ein neues Projekt.</h3>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="contact-clean">
+        <p>Name des Projekts</p>
+        <div class="alert alert-danger" role="alert" style="width:475px" id="projectNameExists">
+            Dieser Projektname exisitiert bereits.
+        </div>
+        <div class="alert alert-danger" role="alert" style="width:475px" id="exactNumberOfTags">
+            Es müssen genau 5 Tags eingegeben werden.
+        </div>
+        <div class="alert alert-danger" role="alert" style="width:475px" id="specialChars">
+            Der Projektname darf keine Sonderzeichen enthalten.
+        </div>
+        <div class="alert alert-danger" role="alert" style="width:475px" id="projectIsMissing">
+            Tragen sie einen Projektnamen ein.
+        </div>
+        <div class="form-group"><input class="form-control" name="name" placeholder="Name"
+                                       style="width:286px;margin-left:50px;" id="nameProject"></div>
+        <p> Passwort zum Teilnehmen (optional) </p>
+        <div class="form-group"><input class="form-control" name="password" placeholder="Passwort"
+                                       style="width:287px;margin-left:51px;" id="passwordProject"></div>
+        <p> Passwort zum Löschen (sonst: 1234) </p>
+        <div class="form-group"><input class="form-control" name="adminpassword" placeholder="Passwort"
+                                       style="width:287px;margin-left:51px;" id="adminPassword"></div>
+        <p>Tags </p>
+        <div id="tagHelper" class="alert alert-warning" style="width:475px;">
+            Fügen sie zudem 5 Tags zu ihrem Projekt hinzu, welche ihr Projekt inhaltlich umreißen.
+        </div>
+        <div class="form-group"><input class="tags" data-role="tags" name="Tags" placeholder="Tags"
+                                       id="tagsProject">
+        </div>
+        <label>An Kurs selbst teilnehmen <input type="checkbox" id="Teilnehmer"></label>
+
+        <div class="form-group">
+            <button class="btn btn-primary" style="margin-left:129px;" id="sendProject">erstellen</button>
+        </div>
+    </div>
+</div>
+
+</body>
+
+</html>
diff --git a/gemeinsamforschen/src/main/webapp/core/management/css/projects.css b/gemeinsamforschen/src/main/webapp/core/management/css/projects.css
new file mode 100644
index 0000000000000000000000000000000000000000..e175d05822f1525c1bbaac947faa83d0d191bd6d
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/management/css/projects.css
@@ -0,0 +1,27 @@
+.tagLabel {
+    color: #000 !important;
+    text-shadow: none !important;
+    -webkit-box-shadow: none !important;
+    box-shadow: none !important;
+    display: inline !important;;
+    padding: .2em .6em .3em !important;
+    margin: 3px !important;
+    font-size: 75% !important;;
+    font-weight: 700 !important;;
+    line-height: 1 !important;;
+    color: #fff !important;;
+    text-align: center !important;;
+    white-space: nowrap !important;;
+    vertical-align: baseline !important;;
+    border-radius: .25em !important;;
+    background-color: #5cb85c !important;
+
+}
+
+.label {
+    border: 1px solid #000;
+}
+
+
+
+
diff --git a/gemeinsamforschen/src/main/webapp/core/management/js/Sidebar-Menu.js b/gemeinsamforschen/src/main/webapp/core/management/js/Sidebar-Menu.js
new file mode 100644
index 0000000000000000000000000000000000000000..75d87e9ab3437b44784b97cf2e600b636f8b4257
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/management/js/Sidebar-Menu.js
@@ -0,0 +1,4 @@
+$("#menu-toggle").click(function(e) {
+    e.preventDefault();
+    $("#wrapper").toggleClass("toggled");
+});
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/core/management/js/config.js b/gemeinsamforschen/src/main/webapp/core/management/js/config.js
new file mode 100644
index 0000000000000000000000000000000000000000..af79dfc9d5b448c751e0f1bf6ef47fc2b0e569b8
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/management/js/config.js
@@ -0,0 +1,3 @@
+//var compbaseUrl = "https://esb.uni-potsdam.de:8243/services/competenceBase";
+//var compbaseUrl = "http://fleckenroller.cs.uni-potsdam.de/app/competence-database-prod";
+var compbaseUrl = "https://apiup.uni-potsdam.de/endpoints/competenceAPI";
diff --git a/gemeinsamforschen/src/main/webapp/core/management/js/createPreferences.js b/gemeinsamforschen/src/main/webapp/core/management/js/createPreferences.js
new file mode 100644
index 0000000000000000000000000000000000000000..90b4243fbcaf44130bdc34b880fa01bedde101e3
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/management/js/createPreferences.js
@@ -0,0 +1,148 @@
+/**
+ * Created by fides-WHK on 15.03.2018.
+ */
+
+
+$(document).ready(function () {
+var projectName = getProjectByToken();
+    getTags(projectName);
+    $("#competencies0").focus();
+    $("#studentFormSubmit").on("click", function () {
+        takesPartInProject();
+    });
+    $("#addCompetenceButton").on("click", function () {
+        addInput("competencies");       //creates a new input-Field with the ID 'competenciesX' where X is number of elements with 'competencies' as ID
+    });
+    $("#subtractCompetenceButton").on("click", function () {
+        deletInput("competencies");     //deletes latest input-Field with the ID 'competenciesX' where X is number of elements with 'competencies' as ID
+    });
+    $("#addResearchQuestionButton").on("click", function () {
+        addInput("researchQuestion");   //creates a new input-Field with the ID 'researchQuestionX' where X is number of elements with 'researchQuestion' as ID
+    });
+    $("#subtractCResearchQuestionButton").on("click", function () {
+        deletInput("researchQuestion");    //deletes the latest input-Field with ID 'researchQuestionX' where X is number of elements with 'researchQuestion' as ID
+    });
+
+});
+
+function getProjectByToken(){
+    return $('#projectName').text().trim();
+}
+
+function addInput(name) {        //creates a new input-Field with the ID 'nameX' where X is number of elements with 'name' as ID
+    var i = document.getElementsByName(name).length;
+    var newInput = document.createElement("span");
+    newInput.innerHTML = "<input class='form-control' " +
+        "type='text' " +
+        "name='" + name + "' " +
+        "id='" + name + i + "' " +
+        "style='max-width:417px;margin-left:14px;padding-top:10px;margin-top:2px;margin-bottom:13px;'>";
+    var div = document.getElementById(name);
+    div.appendChild(newInput);
+}
+
+function deletInput(name) {        //deletes latest input-Field with the ID 'nameX' where X is number of elements with 'name' as ID
+    var i = document.getElementsByName(name).length;
+    if (i > 1) {
+        var lastEntry = document.getElementById(name + "" + (i - 1));
+        lastEntry.parentNode.removeChild(lastEntry);
+    }
+}
+
+function getTags(projectName) {
+    var url = "../database/getTags.php?project=" + projectName;
+    $.ajax({
+        url: url,
+        Accept: "text/plain; charset=utf-8",
+        contentType: "text/plain",
+        success: function (response) {
+            response = JSON.parse(response);
+            var tagList = [];
+            var i = 0;
+            for (i = 0; i < response.length; i++)
+                tagList.push(response[i].tag);
+            for (i = 0; i < tagList.length; i++) {
+                var newInput = document.createElement("label");
+                newInput.innerHTML =
+                    "<div class='checkbox checkbox-primary' >"
+                        + "<input id='tag" + i + "' "  + " class='styled' " + "name='tag'" + "type='checkbox' " + ">"
+                        + "<label for='tag" + i + "' "+ ">" + tagList[i] + "</label>"
+                    + "</div>";
+                var div = document.getElementById('tags');
+                div.appendChild(newInput);
+            }
+        },
+        error: function (a, b, c) {
+            console.log(a);
+        }
+    });
+}
+
+function takesPartInProject() {
+    var userID = $("#user").text().trim();
+    var projectID = $("#projectName").text().trim();
+    document.getElementById('loader').className = "loader";
+    document.getElementById('wrapper').className = "wrapper-inactive";
+
+    var allTheTags = [];
+    var allTheCompetencies = [];
+    var allTheResearchQuestions = [];
+    for (i = 0; i < document.getElementsByName("competencies").length; i++) {        //goes through all competencies and adds them to allTheCompetencies
+        allTheCompetencies.push(document.getElementsByName("competencies")[i].value);
+    }
+    for (i = 0; i < document.getElementsByName("researchQuestions").length; i++) {        //goes through all competencies and adds them to allTheResearchQuestions
+        allTheResearchQuestions.push(document.getElementsByName("researchQuestions")[i].value);
+    }
+    for (i = 0; i < document.getElementsByName("tag").length; i++) {        //goes through all tags and adds them to allTheTags
+        if (document.getElementById("tag" + i).checked) {
+            allTheTags.push(document.getElementById("tag" + i).value);
+        }
+        if ($("#tag"+i).prop("checked"))
+            allTheCompetencies.push("Die Studierenden interessieren sich für " + $("#tag" + i).val());     //todo: Die Tags werden hinter der Schnittstelle noch nicht verwertet, daher diese schnelle Lösung
+    }
+    if (allTheTags.length > 2) {
+        //alert('Sie haben zu viele Tags ausgewählt');
+        $(".alert").css('background-color', 'lightcoral');
+        allTheTags = [];
+        document.getElementById('loader').className = "loader-inactive";
+        document.getElementById('wrapper').className = "wrapper";
+        return false;
+    }
+    if (allTheTags.length < 2) {
+        //alert('Sie haben zu wenig Tags ausgewählt');
+        $(".alert").css('background-color', 'lightcoral');
+        allTheTags = [];
+        document.getElementById('loader').className = "loader-inactive";
+        document.getElementById('wrapper').className = "wrapper";
+        return false;
+    }
+    var data = {                                            //JSON object 'data' collects everything to send
+        "competences": allTheCompetencies,
+        "researchQuestions": allTheResearchQuestions,
+        "tagsSelected": allTheTags
+    };
+    var dataString = JSON.stringify(data);                     //to send correctly, data needs to be stringified
+    var url = compbaseUrl + "/api2/user/" + userID + "/projects/" + projectID + "/preferences";
+    $.ajax({
+        url: url,
+        type: 'PUT',
+        Accept: "text/plain; charset=utf-8",
+        contentType: "application/json",
+        data: dataString,
+        success: function (response) {
+            console.log(response);
+            document.getElementById('loader').className = "loader-inactive";
+            document.getElementById('wrapper').className = "wrapper";
+            var parts = window.location.search.substr(1).split("&");
+            var $_GET = {};
+            for (var i = 0; i < parts.length; i++) {
+                var temp = parts[i].split("=");
+                $_GET[decodeURIComponent(temp[0])] = decodeURIComponent(temp[1]);
+            }
+            location.href = "projects.php?token=" + $_GET['token'];
+        },
+        error: function (a, b, c) {
+            console.log(a);
+        }
+    });
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/core/management/js/deleteProject.js b/gemeinsamforschen/src/main/webapp/core/management/js/deleteProject.js
new file mode 100644
index 0000000000000000000000000000000000000000..b429639c4f044f74c749a3d6c3c8d737bc218954
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/management/js/deleteProject.js
@@ -0,0 +1,57 @@
+/**
+ * Created by dehne on 28.03.2018.
+ */
+$(document).ready(function () {
+    $("#projectWrongPassword").hide();
+    $("#projectIsMissing").hide();
+
+    $("#deleteProject").on('click', function () {
+        deleteProject($('#projectName').val().trim());
+    });
+});
+
+function deleteProject(projectName) {
+    var token = getUserTokenFromUrl();
+    var url = "../database/deleteProject.php?project=" + projectName + "&password=" + document.getElementById('projectPassword').value.trim() + "&token=" + token;
+    if (projectName === "") {
+        return false;
+    } else {
+        $.ajax({
+            url: url,
+            projectName: projectName,
+            Accept: "text/plain; charset=utf-8",
+            contentType: "text/plain",
+            success: function (response) {
+                if (response === "project missing") {
+                    $("#projectIsMissing").show();
+                } else {
+                    if (response !== "wrong password") {            //if response !== project missing and not wrong password, its the projectToken
+                        $.ajax({
+                            url: compbaseUrl+"/api1/courses/"+projectName,
+                            Accept: "text/plain; charset=utf-8",
+                            type: 'DELETE',
+                            contentType: "text/plain",
+                            async: false,
+                            success: function (response) {
+
+                            },
+                            error: function (a, b, c) {
+                                console.log(a);
+                            }
+                        });
+                        window.location.href = " ../pages/projects.php?token="+getUserTokenFromUrl();
+                    } else {
+                        $("#projectIsMissing").hide();
+                        $('#projectWrongPassword').show();
+                    }
+                }
+            },
+            error: function (a, b, c) {
+                console.log(a);
+            }
+        });
+
+
+    }
+
+}
diff --git a/gemeinsamforschen/src/main/webapp/core/management/js/getProjects.js b/gemeinsamforschen/src/main/webapp/core/management/js/getProjects.js
new file mode 100644
index 0000000000000000000000000000000000000000..6c2c507836b67795160bfd77471b164b65f68ead
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/management/js/getProjects.js
@@ -0,0 +1,31 @@
+/**
+ * Created by dehne on 28.03.2018.
+ */
+
+function getProjectsOfAuthor(author, printedProjects, handleProjects) {
+    var url = "../database/getProjectsOfAuthor.php?author=" + author;
+    $.ajax({
+        url: url,
+        Accept: "text/plain; charset=utf-8",
+        contentType: "text/plain",
+        success: function (response) {
+            var authoredProjects = JSON.parse(response);
+            if (authoredProjects != null) {
+                if (printedProjects != null) {
+                    for (var i = 0; i < printedProjects.length; i++) {
+                        authoredProjects = authoredProjects.filter(function (el) {
+                            return el !== printedProjects[i];
+                        });
+                    }
+                    handleProjects(authoredProjects, printedProjects.length);
+                } else {
+                    handleProjects(authoredProjects, 0);
+                }
+
+            }
+        },
+        error: function (a, b, c) {
+            console.log(a);
+        }
+    });
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/core/management/js/myGroupsInit.js b/gemeinsamforschen/src/main/webapp/core/management/js/myGroupsInit.js
new file mode 100644
index 0000000000000000000000000000000000000000..11d871a4c901abf49866f35f480bf574c3606fa6
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/management/js/myGroupsInit.js
@@ -0,0 +1,125 @@
+/**
+ * Created by fides-WHK on 22.01.2018.
+ */
+$(document).ready(function () {
+    //todo: Buttons im Eventhandler steuern und nicht auf der HTML-Seite.
+    getProjects(document.getElementById('user').innerHTML);
+    //getMembers($('#projectDropdown').innerHTML,$('#user').innerHTML);
+});
+
+function printProjectDropdown(projects, numberOfProjectsPrinted) {
+    var menu = document.getElementById("dropdownOptions");          //the unordered list of buttons called by the dropdown button
+    var limit = projects.length;
+    for (var i = 0; i < limit; i++) {                               //show every project a student takes
+        // part in
+        var option = document.createElement("SPAN");            //and create a span, containing a button with it
+        option.innerHTML = "<button class='dropdown-item' " +   //which carries the event onClick, the name of the group and a design
+            "onClick=" +
+            '"showProject(' + "'" + projects[i] + "',document.getElementById('user').innerHTML);" + '"' + ">"
+            + projects[i] +
+            "</button>";
+        menu.appendChild(option);
+    }
+}
+function getProjects(user) {
+    var url = compbaseUrl + "/api2/user/" + user + "/projects";
+    $.ajax({
+        url: url,
+        user: user,
+        type: 'GET',
+        contentType: "application/json",
+        dataType: "json",
+        success: function (data) {
+            if (data.length !== 0) {
+                var projects = [];
+                if (data.data != null) {
+                    projects = data.data;
+                    printProjectDropdown(projects, 0);
+                }
+                getProjectsOfAuthor(user, projects, printProjectDropdown)
+            } else {
+                document.getElementById("projectDropdown").innerHTML = "keine Projekte verfügbar";      //no projects of the students where found
+            }
+        }
+    });
+}
+
+
+function printGroupTable(student1, student2, student3, student4) {
+    var innerurl = "../database/getAdresses.php?student1=" + student1 + "&student2=" + student2 + "&student3=" + student3 + "&student4=" + student4;
+    /*if (student4) {
+        innerurl = innerurl + "&student4=" + student4;
+    }*/
+    $.ajax({                    //get email adresses in this ajax.
+        student1: "" + student1,
+        student2: "" + student2,
+        student3: "" + student3,
+        student4: "" + student4,
+        url: innerurl,
+        type: 'GET',
+        contentType: "application/json",
+        dataType: "json",
+        success: function (innerData) {
+            var tableStart = '<table class="table table-striped table-bordered table-list"' +
+                ' style="width: 40%;margin-top:' +
+                ' 10px;"> <thead id="tableHead"> ' +
+                '  <tr>' +
+                '    <th class="hidden-xs">Student</th>' +
+                '    <th>E-Mail</th>' +
+                '  </tr>';
+            var tableFinish = '</thead>' + '</table>';
+            for (var k2 = 0; k2 < innerData.length; k2++) {
+                if (innerData[k2].name === student1) {
+                    tableStart = tableStart + ("<tr><td>" + student1 + "</td><td><a" +
+                        " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>");
+                } else if (innerData[k2].name === student2) {
+                    tableStart = tableStart + ("<tr><td>" + student2 + "</td><td><a" +
+                        " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>");
+                } else if (innerData[k2].name === student3) {
+                    tableStart = tableStart + ("<tr><td>" + student3 + "</td><td><a" +
+                        " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>");
+                } else if (innerData[k2].name === student4 && (student4 != null)) {
+                    tableStart = tableStart + ("<tr><td>" + student4 + "</td><td><a" +
+                        " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>");
+                }
+            }
+
+            var tableString = tableStart + tableFinish;
+            $("#tablesHolder").append(tableString);
+        }
+    });
+    return innerurl;
+}
+function getMembers(project, user) {        //gets all Members in the chosen Project user is a part of with email adresses
+
+    $("#tablesHolder").empty();
+    var url = compbaseUrl + "/api2/groups/" + project;     //this API is used, since fleckenroller has security issues
+    // with CORS
+    // and stuff
+    $.ajax({
+        url: url,
+        user: user,
+        type: 'GET',
+        contentType: "application/json",
+        dataType: "json",                               //{groups: [id, users:[]] }
+        success: function (data) {
+            for (var i = 0; i < data.groups.length; i++) {
+
+                var student1 = data.groups[i].users[0];
+                var student2 = data.groups[i].users[1];
+                var student3 = data.groups[i].users[2];
+                var student4 = data.groups[i].users[3];
+                printGroupTable(student1, student2, student3, student4);
+            }
+        },
+        error: function(data) {
+            $("#tablesHolder").append("<p>Es wurden keine Gruppen gefunden. Das Projekt muss mehr als 5 Teilnehmer haben!</p>")
+        }
+
+    });
+}
+
+function showProject(project, user) {           //will display the chosen option in the dropdown button and show all students in a unordered list
+    $("#projectDropdown").text(project);        //the dropdown button
+    getMembers(project, user);                  //the students
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/core/management/js/newProject.js b/gemeinsamforschen/src/main/webapp/core/management/js/newProject.js
new file mode 100644
index 0000000000000000000000000000000000000000..bf2eaf856cefd4156189b5814e2a7cf9826eb248
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/management/js/newProject.js
@@ -0,0 +1,162 @@
+/**
+ * Created by fides-WHK on 19.02.2018.
+ */
+$(document).ready(function () {
+    var allTheTags = [];
+    $("#nameProject").focus();
+    $('#projectNameExists').hide();
+    $('#projectIsMissing').hide();
+    $('#exactNumberOfTags').hide();
+    $('#specialChars').hide();
+    $(function () {
+        $('#tagsProject').tagsInput({
+            width: '475px',
+            onAddTag: function (tag) {
+                allTheTags.push(tag);
+            },
+            onRemoveTag: function (tag) {
+                allTheTags.pop();           //todo: löscht noch nicht den gewählten tag sondern den letzten
+            }
+        });
+    });
+    $('#sendProject').on('click', function () {
+        var activ = "1";
+        createNewProject(allTheTags, activ);
+    });
+
+
+});
+
+
+function createNewProject(allTheTags, activ) {
+    $("#nameProject").focus();
+    $('#projectNameExists').hide();
+    $('#projectIsMissing').hide();
+    $('#exactNumberOfTags').hide();
+    $('#specialChars').hide();
+
+    var projectName = $("#nameProject").val().trim();
+    var password = $("#passwordProject").val().trim();
+    var adminPassword = $("#adminPassword").val().trim();
+    if (adminPassword == "") {
+        adminPassword = "1234";
+    }
+
+    var reguexp = /^[a-zA-Z0-9äüöÄÜÖ\ ]+$/;
+    if (!reguexp.test(projectName)) {
+        $('#specialChars').show();
+        return false;
+    }
+    if (projectName === "") {           //project has no name, so abort function
+        $('#projectIsMissing').show();
+        return false;
+    }
+
+    document.getElementById('loader').className = "loader";
+    document.getElementById('wrapper').className = "wrapper-inactive";
+    var localurl = "../database/getProjects.php?project=" + projectName;
+    if (allTheTags.length !== 5) {
+        document.getElementById('tagHelper').className = "alert alert-warning";
+    } else {
+        document.getElementById('tagHelper').className = "";
+    }
+
+
+    $('#projectIsMissing').hide();
+    $.ajax({                        //check local DB for existence of projectName
+        url: localurl,
+        projectName: projectName,
+        activ: activ,
+        Accept: "text/plain; charset=utf-8",
+        contentType: "text/plain",
+        success: function (response) {
+            if (response !== "project missing") {
+                $('#projectNameExists').show();
+                document.getElementById('loader').className = "loader-inactive";
+                document.getElementById('wrapper').className = "wrapper";
+                return true;
+            } else {
+                $('#projectNameExists').hide();
+                if (allTheTags.length !== 5) {
+                    document.getElementById('tagHelper').className = "alert alert-warning";
+                    document.getElementById('loader').className = "loader-inactive";
+                    document.getElementById('wrapper').className = "wrapper";
+                    $('#exactNumberOfTags').show();
+                    return false;
+                }
+                document.getElementById('tagHelper').className = "";
+                var obj = {
+                    "courseId": projectName,
+                    "printableName": projectName,
+                    "competences": allTheTags
+                };
+                var url = compbaseUrl + "/api1/courses/" + $("#nameProject").val();
+                var dataString = JSON.stringify(obj);
+                var addProjectNeo4j = $.ajax({
+                    url: url,
+                    contentType: 'application/json',
+                    activ: activ,
+                    type: 'PUT',
+                    data: dataString,
+                    success: function (response) {
+                        console.log(response);
+                        document.getElementById('loader').className = "loader-inactive";
+                        document.getElementById('wrapper').className = "wrapper";
+                    },
+                    error: function (a, b, c) {
+                        console.log(a);
+                        document.getElementById('loader').className = "loader-inactive";
+                        document.getElementById('wrapper').className = "wrapper";
+                        return false;
+                    }
+                });
+                $.when(addProjectNeo4j, addProjectToLocalDB(allTheTags, projectName, password, activ, adminPassword)).done(function () {
+                    document.getElementById('loader').className = "loader-inactive";
+                    document.getElementById('wrapper').className = "wrapper";
+                    if ($('#Teilnehmer').prop("checked")) {          //if author wants to join the course, he needs to be redirected to preferences.php
+                        var url = "../database/getProjects.php?project=" + projectName + "&password=" + document.getElementById('passwordProject').value;
+                        $.ajax({
+                            url: url,
+                            projectName: projectName,
+                            Accept: "text/plain; charset=utf-8",
+                            contentType: "text/plain",
+                            success: function (response) {
+                                location.href = "preferences.php?token=" + getUserTokenFromUrl() + "&projectToken=" + response;
+                            },
+                            error: function (a, b, c) {
+                                console.log(a);
+                            }
+                        });
+                    } else {                //if author is just author and not member, he will be directed to projects.php
+                        location.href = "projects.php?token=" + getUserTokenFromUrl();
+                    }
+                });
+            }
+        },
+        error: function (a, b, c) {
+            console.log(a);
+            document.getElementById('loader').className = "loader-inactive";
+            document.getElementById('wrapper').className = "wrapper";
+            return true;
+        }
+    });
+
+}
+
+function addProjectToLocalDB(allTheTags, projectName, password, activ, adminPassword) {
+    var tags = JSON.stringify(allTheTags);
+    var author = $("#user").text().trim();
+    var url = "../database/putProject.php?project=" + projectName + "&password=" + password + "&activ=" + activ + "&token=" + getUserTokenFromUrl() + "&adminpassword=" + adminPassword + "&author=" + author;
+    return $.ajax({
+        url: url,
+        //contentType: 'application/json',
+        type: 'POST',
+        data: tags,
+        success: function (response) {
+            console.log("Tags were added to local DB");
+        },
+        error: function (a, b, c) {
+            console.log(a);
+        }
+    });
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/core/management/js/overview.js b/gemeinsamforschen/src/main/webapp/core/management/js/overview.js
new file mode 100644
index 0000000000000000000000000000000000000000..a66538baa5732073685e411e7eab5864e8d7cc51
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/management/js/overview.js
@@ -0,0 +1,176 @@
+/**
+ * Created by fides-WHK on 02.03.2018.
+ */
+
+$(document).ready(function () {
+    getProjectOverview(document.getElementById('user').innerHTML);
+    //getMembers($('#projectDropdown').innerHTML,$('#user').innerHTML);
+
+});
+
+
+function printProjects(projects, offset) {
+    var table = document.getElementById("projectTable");
+    var i = 0;
+    if (projects != null) {
+        for (i = 0; i < projects.length; i++) {
+            var project = projects[i];
+            var content = document.createElement("TR");
+            content.role = "button";
+            content.style = "cursor:pointer;";
+            content.id = project;
+
+            //'<a class="btn btn-default"><em class="fa fa-pencil" ></em></a>' +
+            //'<button id="deleteButton' +i+ '" class="btn btn-danger fa fa-trash deleteButton"></button>' +
+            content.innerHTML = '<td align="center">' +
+                '<a href="deleteProject.php?token='+getUserTokenFromUrl()+'" class="btn btn-danger fa fa-trash"></a>' +
+                '</td>' +
+                '<td class="hidden-xs" href="#Div_Promo_Carousel" data-slide="next">' + projects[i] + '</td>' +
+                '<td id="projectTags' + (i + offset) + '" href="#Div_Promo_Carousel" data-slide="next"></td>';
+            table.appendChild(content);
+            getTags(project, i + offset);
+            $('#' + project).click(function () {
+                getGroups(this.id);
+            });
+        }
+    }
+
+
+    //$('#deleteModal').modal('show');
+
+}
+function getProjectOverview(user) {
+    var url = compbaseUrl + "/api2/user/" + user + "/projects";
+    $.ajax({
+        url: url,
+        user: user,
+        type: 'GET',
+        contentType: "application/json",
+        dataType: "json",
+        success: function (data) {
+            var projects = data.data;
+            printProjects(projects, 0);
+            getProjectsOfAuthor(user, projects, printProjects);
+        },
+        error: function (a, b, c) {
+            console.log(a);
+        }
+    });
+}
+
+function getTags(projectName, number) {
+    var url = "../database/getTags.php?project=" + projectName;
+    $.ajax({
+        url: url,
+        Accept: "text/plain; charset=utf-8",
+        contentType: "text/plain",
+        success: function (response) {
+            response = JSON.parse(response);
+            var tagString = "";
+            var i = 0;
+            var table = document.getElementById("projectTags" + number);
+            for (i = 0; i < response.length; i++) {
+                tagString += "<label class=\"tagLabel\">" + response[i].tag + "</label>";
+                ;
+                //tagString += response[i].tag + " ";
+            }
+
+            table.innerHTML = tagString;
+            //table.innerHTML = tagHtml;
+        },
+        error: function (a, b, c) {
+            console.log(a);
+        }
+    });
+}
+
+
+
+
+function getGroups(projectName) {
+    var pathName = document.getElementsByName("pathProject");
+    pathName[0].innerHTML = projectName;
+    pathName[1].innerHTML = projectName;
+    var url = compbaseUrl + "/api2/groups/" + projectName;     //this API is used, since fleckenroller has security
+    // issues with
+    // CORS and stuff
+    $.ajax({
+        url: url,
+        type: 'GET',
+        contentType: "application/json",
+        dataType: "json",
+        success: function (data) {
+            var table = document.getElementById("groupTable");
+            table.innerHTML = '';
+            for (var i = 0; i < data.groups.length; i++) {
+                var content = document.createElement("TR");
+                content.role = "button";
+                content.style = "cursor:pointer;";
+                content.id = 'Gruppe' + data.groups[i].id;
+                var groupMembers = '<td align="center">' +
+                    '<a class="btn btn-default"><em class="fa fa-pencil"></em></a>' +
+                    '<a class="btn btn-danger"><em class="fa fa-trash"></em></a>' +
+                    '</td>' +
+                    '<td class="hidden-xs" href="#Div_Promo_Carousel" data-slide="next">Gruppe' + data.groups[i].id + '</td>' +
+                    '<td id="memberOf' + content.id + '" href="#Div_Promo_Carousel" data-slide="next">';
+                for (var j = 0; j < data.groups[i].users.length; j++) {
+                    groupMembers += data.groups[i].users[j] + "&nbsp;";
+                }
+                groupMembers += '</td>';
+                content.innerHTML = groupMembers;
+                table.appendChild(content);
+                $('#Gruppe' + data.groups[i].id).click(function () {
+                    var memberString = $('#memberOf' + this.id).html();
+                    getDetailsOfMembers(this.id, memberString);
+                });
+            }
+        },
+        error: function (a, b, c) {
+            console.log(a);
+            var table = document.getElementById("groupTable");
+            table.innerHTML = '';
+            var content = document.createElement("TR");
+            content.innerHTML = '<td align="center">' +
+                '</td>' +
+                '<td class="hidden-xs">Es liegen noch keine Gruppen vor</td>' +
+                '<td></td>';
+            table.appendChild(content);
+        }
+    });
+}
+
+function getDetailsOfMembers(group, studentString) {
+    var pathName = document.getElementsByName("pathGruppe");
+    pathName[0].innerHTML = group;
+    var students = studentString.split("&nbsp;");
+    var innerurl = "../database/getAdresses.php?student1=" + students[0] + "&student2=" + students[1] + "&student3=" + students[2] + "&student4=" + students[3] + "&student5=" + students[4];
+    $.ajax({
+        student1: "" + students[0],
+        student2: "" + students[1],
+        student3: "" + students[2],
+        student4: "" + students[3],
+        student5: "" + students[4],
+        url: innerurl,
+        type: 'GET',
+        contentType: "application/json",
+        dataType: "json",
+        success: function (response) {
+            var table = document.getElementById("studentTable");
+            table.innerHTML = '';
+            var k;
+            for (k = 0; k < response.length; k++) {
+                var content = document.createElement("TR");
+                content.innerHTML = '<td align="center">' +
+                    '<a class="btn btn-default"><em class="fa fa-pencil"></em></a>' +
+                    '<a class="btn btn-danger"><em class="fa fa-trash"></em></a>' +
+                    '</td>' +
+                    '<td class="hidden-xs">' + response[k].name + '</td>' +
+                    '<td> <a href="mailto:' + response[k].email + '">' + response[k].email + '</a></td>';
+                table.appendChild(content);
+            }
+        },
+        error: function (a, b, c) {
+            console.log(a);
+        }
+    });
+}
diff --git a/gemeinsamforschen/src/main/webapp/core/management/js/register.js b/gemeinsamforschen/src/main/webapp/core/management/js/register.js
new file mode 100644
index 0000000000000000000000000000000000000000..08f1aea00289d4a3693b70632d4582dee2b399fe
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/management/js/register.js
@@ -0,0 +1,7 @@
+/**
+ * Created by dehne on 23.02.2018.
+ */
+
+$(document).ready(function () {
+    $("")
+});
diff --git a/gemeinsamforschen/src/main/webapp/core/management/js/showProjects.js b/gemeinsamforschen/src/main/webapp/core/management/js/showProjects.js
new file mode 100644
index 0000000000000000000000000000000000000000..ec4771b77b5e0cad7aec62634f303cd254241f7e
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/management/js/showProjects.js
@@ -0,0 +1,50 @@
+/**
+ * Created by fides-WHK on 09.01.2018.
+ */
+$(document).ready(function () {
+    $("#projectWrongPassword").hide();
+    $("#projectIsMissing").hide();
+
+    $("#projectName").keypress(function (e) {
+        if (e.which == 13) {
+            document.getElementById("projectPassword").focus();
+        }
+    });
+    $("#projectPassword").keypress(function (e) {
+        if (e.which == 13) {
+            seeProject($('#projectName').val());
+        }
+    });
+    $("#seeProject").on('click', function () {
+        seeProject($('#projectName').val());
+    });
+});
+
+function seeProject(projectName) {
+    var url = "../database/getProjects.php?project=" + projectName + "&password=" + document.getElementById('projectPassword').value;
+    if (projectName === "") {
+        return false;
+    } else {
+        $.ajax({
+            url: url,
+            projectName: projectName,
+            Accept: "text/plain; charset=utf-8",
+            contentType: "text/plain",
+            success: function (response) {
+                if (response === "project missing") {
+                    $("#projectIsMissing").show();
+                } else {
+                    if (response !== "wrong password") {            //if response !== project missing and not wrong password, its the projectToken
+                        location.href="preferences.php?token="+getUserTokenFromUrl()+"&projectToken="+response;
+                    } else {
+                        $("#projectIsMissing").hide();
+                        $('#projectWrongPassword').show();
+                    }
+                }
+            },
+            error: function (a, b, c) {
+                console.log(a);
+            }
+        });
+    }
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/core/management/js/utility.js b/gemeinsamforschen/src/main/webapp/core/management/js/utility.js
new file mode 100644
index 0000000000000000000000000000000000000000..dac28eb2de49b29e1df606bb4f4cbe2abd9f4627
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/management/js/utility.js
@@ -0,0 +1,10 @@
+function getUserTokenFromUrl() {
+    var parts = window.location.search.substr(1).split("&");
+    var $_GET = {};
+    for (var i = 0; i < parts.length; i++) {
+        var temp = parts[i].split("=");
+        $_GET[decodeURIComponent(temp[0])] = decodeURIComponent(temp[1]);
+    }
+    return $_GET['token'];
+}
+
diff --git a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld.orig b/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld.orig
deleted file mode 100644
index 464689080655114907b3461748349ae320db9d88..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld.orig
+++ /dev/null
@@ -1,40 +0,0 @@
-<taglib>
-    <tlib-version>1.0</tlib-version>
-    <jsp-version>2.0</jsp-version>
-    <short-name>hiddenUserTag</short-name>
-
-    <tag>
-        <name>hiddenUserTag</name>
-        <tag-class>unipotsdam.gf.core.management.user.HiddenUserTag</tag-class>
-        <body-content>empty</body-content>
-    </tag>
-
-    <tag>
-        <name>menu</name>
-        <tag-class>unipotsdam.gf.core.management.user.Menu</tag-class>
-        <body-content>empty</body-content>
-    </tag>
-
-    <tag>
-<<<<<<< HEAD
-        <name>headLine</name>
-        <tag-class>unipotsdam.gf.core.management.user.headLine</tag-class>
-=======
-        <name>session</name>
-        <tag-class>unipotsdam.gf.core.session.SessionTag</tag-class>
->>>>>>> origin/session_management
-        <body-content>empty</body-content>
-    </tag>
-
-    <tag>
-<<<<<<< HEAD
-        <name>omniDependencies</name>
-        <tag-class>unipotsdam.gf.core.management.user.omniDependencies</tag-class>
-=======
-        <name>context</name>
-        <tag-class>unipotsdam.gf.core.session.ContextTag</tag-class>
->>>>>>> origin/session_management
-        <body-content>empty</body-content>
-    </tag>
-
-</taglib>
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/session/session_example_1.jsp b/gemeinsamforschen/src/main/webapp/core/session/session_example_1.jsp
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/session/session_example_1.jsp
rename to gemeinsamforschen/src/main/webapp/core/session/session_example_1.jsp
diff --git a/gemeinsamforschen/src/main/webapp/session/session_example_2.jsp b/gemeinsamforschen/src/main/webapp/core/session/session_example_2.jsp
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/session/session_example_2.jsp
rename to gemeinsamforschen/src/main/webapp/core/session/session_example_2.jsp
diff --git a/gemeinsamforschen/src/main/webapp/pages/view_groupfinding_docent.html b/gemeinsamforschen/src/main/webapp/groupfinding/view_groupfinding_docent.html
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/pages/view_groupfinding_docent.html
rename to gemeinsamforschen/src/main/webapp/groupfinding/view_groupfinding_docent.html
diff --git a/gemeinsamforschen/src/main/webapp/pages/view_start_groupfinding.html b/gemeinsamforschen/src/main/webapp/groupfinding/view_start_groupfinding.html
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/pages/view_start_groupfinding.html
rename to gemeinsamforschen/src/main/webapp/groupfinding/view_start_groupfinding.html
diff --git a/gemeinsamforschen/src/main/webapp/pages/view_student_criteriachoice.html b/gemeinsamforschen/src/main/webapp/groupfinding/view_student_criteriachoice.html
similarity index 100%
rename from gemeinsamforschen/src/main/webapp/pages/view_student_criteriachoice.html
rename to gemeinsamforschen/src/main/webapp/groupfinding/view_student_criteriachoice.html
diff --git a/gemeinsamforschen/src/main/webapp/munchkin/js/munschkinloader.js b/gemeinsamforschen/src/main/webapp/munchkin/js/munschkinloader.js
deleted file mode 100644
index 205c0005b665424d0e2ed31a26d702db8c079e51..0000000000000000000000000000000000000000
--- a/gemeinsamforschen/src/main/webapp/munchkin/js/munschkinloader.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * Created by dehne on 25.04.2018.
- */
-
-function xmlToString(xmlData) {
-
-    var xmlString;
-    //IE
-    if (window.ActiveXObject) {
-        xmlString = xmlData.xml;
-    }
-    // code for Mozilla, Firefox, Opera, etc.
-    else {
-        xmlString = (new XMLSerializer()).serializeToString(xmlData);
-    }
-    return xmlString;
-}
-
-
-$(document).ready(function () {
-    $.ajax({
-        type: "get",
-        url: "http://localhost:8080/gemeinsamforschen/rest/api/munschkin/1",
-        dataType: "xml",
-        success: function (data) {
-            /* handle data here */
-            //var munschkin = $.parseXML(data)
-            $("#munschkin").append(xmlToString(data));
-        },
-        error: function (xhr, status) {
-            alert("Server down .... ogottogottogottt")
-        }
-    });
-
-});
-
diff --git a/gemeinsamforschen/src/main/webapp/pages/annotation-document.jsp b/gemeinsamforschen/src/main/webapp/pages/annotation-document.jsp
index d8e499fe40ffe6c526d9785794e086efae0434a0..eade463667e6887d498e754002ed7fdb61f9a2a3 100644
--- a/gemeinsamforschen/src/main/webapp/pages/annotation-document.jsp
+++ b/gemeinsamforschen/src/main/webapp/pages/annotation-document.jsp
@@ -6,6 +6,8 @@
 <!DOCTYPE html>
 <html>
 
+<!-- TODO refactor @Sven: bitte nutze einen Unterordner für dein Modul z.B. webapp/annotation/ -->
+
 <head>
     <omniDependencies:omniDependencies/>
 
diff --git a/gemeinsamforschen/src/main/webapp/pages/assessmentCalculator.jsp b/gemeinsamforschen/src/main/webapp/pages/assessmentCalculator.jsp
index 67b2861e38ad3e55fc6f0dd2db9acbab315608c6..c7d44f13736c7ec10eb7c87c6218cc676026b14d 100644
--- a/gemeinsamforschen/src/main/webapp/pages/assessmentCalculator.jsp
+++ b/gemeinsamforschen/src/main/webapp/pages/assessmentCalculator.jsp
@@ -3,6 +3,9 @@
 <%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="headLine" %>
 <%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="omniDependencies" %>
 
+<!-- TODO refactor @Sven: bitte nutze einen Unterordner für dein Modul z.B. webapp/annotation/ -->
+
+
 <!DOCTYPE html>
 <html lang="en">
 <head>