diff --git a/css/style.css b/css/style.css
index 7795a0b0b4e3c5419bdb85c739056dae4ac21182..1b29635251cd00ebc2410a7df65ed9e5495091a8 100644
--- a/css/style.css
+++ b/css/style.css
@@ -119,4 +119,8 @@
 
 .milestone-content {
 	display: none;
+}
+
+.tiny-button:hover{
+	cursor: pointer;
 }
\ No newline at end of file
diff --git a/js/main.js b/js/main.js
index 3c9a29c13e12a43238f47a2d1677f115b90a6386..b606f903268fac4089e2fa85ce631f5682370958 100644
--- a/js/main.js
+++ b/js/main.js
@@ -33,6 +33,20 @@ $(document).ready(function()
 		});
 	}
 
+	$('.button-save-roadmap').click(function()
+	{
+		editRoadmap(this.dataset.id, $('#project-name').val());
+	});
+
+	$('.button-delete-roadmap').click(function()
+	{
+		var r = confirm("Do you really want to delete this roadmap?");
+		if(r == true)
+		{
+			deleteRoadmap(this.dataset.id);
+		}
+	});
+
 	createTrainMap();
 });
 
@@ -72,7 +86,97 @@ function createTrainMap()
 	for(var i = 0; i < entries.length - 1; i++)
 	{
 		var height = entries[i].offsetHeight;
-		lines[i].style.height = (height-15) + "px";
-		smallLines[i].style.height = (height-2) + "px";
+		lines[i].style.height = (height - 15) + "px";
+		smallLines[i].style.height = (height - 2) + "px";
 	}
+}
+
+function editRoadmap(roadmap_ID, projectname)
+{
+	if(isNull(projectname))
+	{
+		alert("Project Name shouldn't be empty!");
+		return;
+	}
+
+	if(roadmap_ID == "0")
+	{
+		//insert new roadmap
+
+		$.post('../admin/helper/edit-roadmap.php',
+			{
+				"project-name": projectname,
+				"edit": "false"
+
+			}, function(data, error)
+			{
+				data = data.toString().trim();
+				switch(data)
+				{
+					case "error":
+						alert('An error occurred');
+						break;
+					case "error-edit":
+						alert('An error occurred while editing the roadmap with the ID ' + roadmap_ID);
+						break;
+					case "error-insert":
+						alert('An error occurred while inserting the new roadmap');
+						break;
+					default:
+						window.location.href = "../admin/admin-roadmaps.php";
+						break;
+				}
+			});
+	}
+	else
+	{
+		//edit existing roadmap
+
+		$.post('../admin/helper/edit-roadmap.php',
+			{
+				"ID": roadmap_ID,
+				"project-name": projectname,
+				"edit": "true"
+
+			}, function(data, error)
+			{
+				data = data.toString().trim();
+				switch(data)
+				{
+					case "error":
+						alert('An error occurred');
+						break;
+					case "error-edit":
+						alert('An error occurred while editing the roadmap with the ID ' + roadmap_ID);
+						break;
+					case "error-insert":
+						alert('An error occurred while inserting the new roadmap');
+						break;
+					default:
+						window.location.href = "../admin/admin-roadmaps.php";
+						break;
+				}
+			});
+	}
+}
+
+function deleteRoadmap(roadmap_ID)
+{
+	$.post('../admin/helper/delete-roadmap.php',
+		{
+			"roadmap_ID": roadmap_ID,
+
+		}, function(data, error)
+		{
+			data = data.toString().trim();
+
+			if(data != "error")
+			{
+				window.location.href = "../admin/admin-roadmaps.php";
+			}
+			else
+			{
+				alert('An error occurred while deleting the roadmap with the ID ' + roadmap_ID);
+			}
+		});
 }
\ No newline at end of file
diff --git a/php/admin/admin-edit-roadmap.php b/php/admin/admin-edit-roadmap.php
new file mode 100644
index 0000000000000000000000000000000000000000..472c7835230721f8dda4cace1a0ce448b5283e3f
--- /dev/null
+++ b/php/admin/admin-edit-roadmap.php
@@ -0,0 +1,109 @@
+<!DOCTYPE html>
+
+<?php
+include_once('../getLanguageJSON.php');
+include_once('../mysql.php');
+
+if(!isset($_GET['edit']))
+{
+	$_GET['edit'] = "false";
+
+	$_GET['id'] = 0;
+
+	$db = new DB();
+	$db->createTables();
+
+	$projectName = '';
+}
+else
+{
+	if(!isset($_GET['id']))
+	{
+		header('Location: error.php?message=error_param_missing');
+		exit;
+	}
+
+	$ID = $_GET['id'];
+	if(!is_numeric($ID) || $ID < 1)
+	{
+		header('Location: error.php?message=error_param_invalid');
+		exit;
+	}
+
+	$db = new DB();
+	$db->createTables();
+
+	$projectName = $db->getRoadmap($ID);
+	if($projectName == false)
+	{
+		header('Location: error.php?message=error_roadmap_not_existing');
+		exit;
+	}
+	$projectName = $projectName["Projectname"];
+}
+
+
+
+?>
+<html xmlns="http://www.w3.org/1999/html">
+	<head>
+		<meta charset="UTF-8"/>
+		<?php
+		if($_GET['edit'] == "false")
+		{
+			echo '<title>New Roadmap</title>';
+		}
+		else
+		{
+			echo '<title>Edit Roadmap</title>';
+		}
+		?>
+		<!--Import Google Icon Font-->
+		<link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
+		<!--Import materialize.css-->
+		<link type="text/css" rel="stylesheet" href="../../materialize/css/materialize.min.css" media="screen,projection"/>
+		<link type="text/css" rel="stylesheet" href="../../css/style.css"/>
+
+		<!--Import jQuery before materialize.js-->
+		<script type="text/javascript" src="../../js/jquery-2.2.4.min.js"></script>
+		<script type="text/javascript" src="../../materialize/js/materialize.min.js"></script>
+		<script type="text/javascript" src="../../js/main.js"></script>
+		<script type="text/javascript" src="../../js/ResizeSensor.js"></script>
+		<script type="text/javascript" src="../../js/ElementQueries.js"></script>
+
+		<!--Let browser know website is optimized for mobile-->
+		<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	</head>
+
+	<body class="grey lighten-3">
+		<div id="main">
+			<div class="container">
+				<?php
+				if($_GET['edit'] == "false")
+				{
+					echo '<h2 class="center-align" id="headline">New Roadmap</h2>';
+				}
+				else
+				{
+					echo '<h2 class="center-align" id="headline">Edit Roadmap</h2>';
+				}
+				?>
+
+				<div class="row center-align">
+					<div class="col s12 m8 offset-m2 l6 offset-l3">
+						<div class="input-field col s12">
+							<input id="project-name" name="project-name" type="text" value="<?php echo $projectName;?>">
+							<label for="project-name">Project Name</label>
+						</div>
+					</div>
+				</div>
+				<div class="row center-align margin-top">
+					<div class="col s12 m8 offset-m2 l6 offset-l3">
+						<a class="waves-effect waves-light btn blue darken-3" href="admin-roadmaps.php"><i class="material-icons left">arrow_back</i>Back</a>
+						<a class="waves-effect waves-light btn blue darken-3 margin-left button-save-roadmap" data-id="<?php echo $_GET['id'];?>"><i class="material-icons left">save</i>Save</a>
+					</div>
+				</div>
+			</div>
+		</div>
+	</body>
+</html>
\ No newline at end of file
diff --git a/php/admin/admin-roadmaps.php b/php/admin/admin-roadmaps.php
new file mode 100644
index 0000000000000000000000000000000000000000..f3e37d6deb8105a923b2966a6c70fa55c7adedc0
--- /dev/null
+++ b/php/admin/admin-roadmaps.php
@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+
+<?php
+include_once('../getLanguageJSON.php');
+include_once('../mysql.php');
+
+$db = new DB();
+$db->createTables();
+?>
+<html xmlns="http://www.w3.org/1999/html">
+	<head>
+		<meta charset="UTF-8"/>
+		<title>Roadmaps - Adminarea</title>
+		<!--Import Google Icon Font-->
+		<link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
+		<!--Import materialize.css-->
+		<link type="text/css" rel="stylesheet" href="../../materialize/css/materialize.min.css" media="screen,projection"/>
+		<link type="text/css" rel="stylesheet" href="../../css/style.css"/>
+
+		<!--Import jQuery before materialize.js-->
+		<script type="text/javascript" src="../../js/jquery-2.2.4.min.js"></script>
+		<script type="text/javascript" src="../../materialize/js/materialize.min.js"></script>
+		<script type="text/javascript" src="../../js/main.js"></script>
+		<script type="text/javascript" src="../../js/ResizeSensor.js"></script>
+		<script type="text/javascript" src="../../js/ElementQueries.js"></script>
+
+		<!--Let browser know website is optimized for mobile-->
+		<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	</head>
+
+	<body class="grey lighten-3">
+		<div id="main">
+			<div class="container">
+				<h2 class="center-align" id="headline">Roadmaps</h2>
+
+				<div class="row">
+					<div class="col s12 m8 offset-m2 l6 offset-l3 center-align">
+						<a class="waves-effect waves-light btn blue darken-3" href="admin-edit-roadmap.php"><i class="material-icons left">add</i>New</a>
+					</div>
+				</div>
+				<div class="row">
+					<div class="col s12 m8 offset-m2 l6 offset-l3">
+						<table class="bordered">
+							<thead>
+							<tr>
+								<th data-field="id">ID</th>
+								<th data-field="project-name">Project Name</th>
+							</tr>
+							</thead>
+
+							<tbody>
+							<?php
+								$roadmaps = $db->getRoadmaps();
+
+								if($roadmaps == false)
+								{
+									header('Location: error.php?message=error_database_connection');
+									exit;
+								}
+								else
+								{
+									for($i = 0; $i < sizeof($roadmaps); $i++)
+									{
+										echo '<tr>'.
+												'<td>'.$roadmaps[$i]['ID'].'</td>'.
+												'<td>'.$roadmaps[$i]['Projectname'].'</td>'.
+												'<td class="right-align">'.
+													'<a class="btn-flat" href="admin-edit-roadmap.php?id='.$roadmaps[$i]['ID'].'&edit=true"><i class="material-icons left">edit</i></a>'.
+													'<a class="btn-flat button-delete-roadmap" data-id="'.$roadmaps[$i]['ID'].'"><i class="material-icons left">delete</i></a>'.
+												'</td>'.
+											'</tr>';
+									}
+								}
+								?>
+							</tbody>
+						</table>
+					 </div>
+				</div>
+			</div>
+		</div>
+	</body>
+</html>
\ No newline at end of file
diff --git a/php/admin/helper/delete-roadmap.php b/php/admin/helper/delete-roadmap.php
new file mode 100644
index 0000000000000000000000000000000000000000..810d5ff58adcd5ddd5cfde9a743c530db6da6c39
--- /dev/null
+++ b/php/admin/helper/delete-roadmap.php
@@ -0,0 +1,30 @@
+<?php
+include_once('../../mysql.php');
+
+if($_SERVER['REQUEST_METHOD'] == 'POST')
+{
+	if(!isset($_POST['roadmap_ID']))
+	{
+		echo "error";
+		exit;
+	}
+
+	$db = new DB();
+	$db->createTables();
+
+	if($db->deleteRoadmap($_POST['roadmap_ID']) == false)
+	{
+		echo "error2";
+		exit;
+	}
+	else
+	{
+		echo "success";
+		exit;
+	}
+}
+else
+{
+	echo "error";
+	exit;
+}
\ No newline at end of file
diff --git a/php/admin/helper/edit-roadmap.php b/php/admin/helper/edit-roadmap.php
new file mode 100644
index 0000000000000000000000000000000000000000..32b2a14e53ae285252eb034f65d0fc81f67ed5da
--- /dev/null
+++ b/php/admin/helper/edit-roadmap.php
@@ -0,0 +1,67 @@
+<?php
+include_once('../../mysql.php');
+
+if($_SERVER['REQUEST_METHOD'] == 'POST')
+{
+	if(!isset($_POST['edit']))
+	{
+		echo "error";
+		exit;
+	}
+
+	if($_POST['edit'] == "true")
+	{
+		if(!isset($_POST['ID']))
+		{
+			echo "error-edit";
+			exit;
+		}
+
+		if(!isset($_POST['project-name']))
+		{
+			echo "error-edit";
+			exit;
+		}
+
+		$db = new DB();
+		$db->createTables();
+
+		if($db->updateRoadmap($_POST['ID'], $_POST['project-name']) == false)
+		{
+			echo "error-edit";
+			exit;
+		}
+		else
+		{
+			echo "success";
+			exit;
+		}
+	}
+	else
+	{
+		if(!isset($_POST['project-name']))
+		{
+			echo "error-insert";
+			exit;
+		}
+
+		$db = new DB();
+		$db->createTables();
+
+		if($db->insertRoadmap($_POST['project-name']) == false)
+		{
+			echo "error-insert";
+			exit;
+		}
+		else
+		{
+			echo "success";
+			exit;
+		}
+	}
+}
+else
+{
+	echo "error";
+	exit;
+}
\ No newline at end of file
diff --git a/php/mysql.php b/php/mysql.php
index 68550e395a8d209e0e5e3076deaed1c55fe01dd9..00ae4bc26ad5b92781a778e6701fb0b5a807519a 100644
--- a/php/mysql.php
+++ b/php/mysql.php
@@ -207,6 +207,15 @@ class DB
 		return $statement->fetch();
 	}
 
+	function getRoadmaps()
+	{
+		$statement = self::$db->prepare("SELECT * FROM roadmaps ORDER BY ID;");
+		$statement->bindParam("roadmapID", $roadmapID);
+		$statement->execute();
+
+		return $statement->fetchAll();
+	}
+
 	function getMilestones($roadmapID)
 	{
 		$statement = self::$db->prepare("SELECT * FROM milestones WHERE milestones.roadmapID=:roadmapID ORDER BY VersionCode DESC;");
@@ -260,4 +269,44 @@ class DB
 
 		return $statement->fetch();
 	}
+
+	//========================================
+	//--------------- delete -----------------
+	//========================================
+
+	function deleteRoadmap($roadmapID)
+	{
+		$statement = self::$db->prepare("DELETE FROM roadmaps WHERE roadmaps.ID=:roadmapID;");
+		$statement->bindParam("roadmapID", $roadmapID);
+		$statement->execute();
+
+		return $statement->execute();
+	}
+
+	function deleteMilestone($milestoneID)
+	{
+		$statement = self::$db->prepare("DELETE FROM milestones WHERE milestones.ID=:milestoneID;");
+		$statement->bindParam("milestoneID", $milestoneID);
+		$statement->execute();
+
+		return $statement->execute();
+	}
+
+	function deleteTask($taskID)
+	{
+		$statement = self::$db->prepare("DELETE FROM tasks WHERE tasks.ID=:taskID;");
+		$statement->bindParam("taskID", $taskID);
+		$statement->execute();
+
+		return $statement->execute();
+	}
+
+	function deleteSubtask($subtaskID)
+	{
+		$statement = self::$db->prepare("DELETE FROM subtasks WHERE subtasks.ID=:subtaskID;");
+		$statement->bindParam("subtaskID", $subtaskID);
+		$statement->execute();
+
+		return $statement->execute();
+	}
 }
\ No newline at end of file