diff --git a/UnicadoGUI/Frontend/src/routes/+layout.svelte b/UnicadoGUI/Frontend/src/routes/+layout.svelte
index 2e36041871350f79b11051888ca60fd342276516..de970f03f97b9e5b7a4dc6557d0f382d6e796d8d 100644
--- a/UnicadoGUI/Frontend/src/routes/+layout.svelte
+++ b/UnicadoGUI/Frontend/src/routes/+layout.svelte
@@ -1,9 +1,12 @@
 <script lang="ts">
-    import {Container, Image, Row, Styles, Col, Nav, NavItem, NavLink, Icon} from '@sveltestrap/sveltestrap';
-    import { userProjects } from '../stores/projects';
+    import {Container, Image, Row, Styles, Col, Nav, NavItem, NavLink, Icon, Modal, ModalHeader, ModalBody, ModalFooter, Button} from '@sveltestrap/sveltestrap';
+    import { removeProjectbyId, userProjects, addProject } from '../stores/projects';
     import { onMount } from 'svelte';
-  let projects : any[] = [];
 
+  let projects : any[] = [];
+  let showModal = false;
+  let projectName = '';
+let projectIdToRemove = '';
   onMount(() => {
     const unsubscribe = userProjects.subscribe(value => {
       projects = value;
@@ -11,6 +14,14 @@
     return () => unsubscribe();
   });
 
+  function openModal() {
+      showModal = true;
+    }
+
+    function closeModal() {
+      showModal = false;
+    }
+
   let openProjectIndex : any = null;
 
   function toggleSubItems(index : number) {
@@ -20,7 +31,17 @@
       openProjectIndex = index;
     }
   }
+function newProject() {
+        if (projectName.trim() !== '') {
+            addProject(projectName);
+            projectName = '';
+            showModal = false;
+        }
+    }
 
+    function deleteProject(id: number) {
+        removeProjectbyId(id);
+    }
 </script>
 
 <Container fluid>
@@ -46,7 +67,10 @@
                                 <Icon name="airplane"></Icon>
                                 <span class="ms-1 d-none d-sm-inline">{project.name}</span>
                             </NavLink>
-                        </NavItem>
+                            <Button outline on:click={() => deleteProject(project.id)}>
+                                <Icon name="trash"/> <!-- Icon zum Entfernen des Projekts -->
+                            </Button>
+                        
                         {#if openProjectIndex === index}
                             <ul class="sub-menu">
                                 <NavItem>
@@ -74,14 +98,37 @@
                                     </NavLink>
                                 </NavItem>
                                 <NavItem>
-                                    <NavLink href="/settings/{project.id}" class="align-middle px-0 text-light">
+                                    <NavLink href="/settings" class="align-middle px-0 text-light">
                                         <Icon name="gear"></Icon>
                                         <span class="ms-1 d-none d-sm-inline">Settings</span>
                                     </NavLink>
                                 </NavItem>
                             </ul>
-                        {/if}      
+                        {/if}
+                    </NavItem>      
                   {/each}
+                  <NavItem>
+                  <Button outline on:click={openModal}>
+                    <Icon name="window-plus"/>
+                </Button>
+            </NavItem>
+                {#if showModal}
+    <Modal isOpen={showModal} toggle={closeModal}>
+        <ModalHeader toggle={closeModal}>Add New Project</ModalHeader>
+        <ModalBody>
+            <!-- Eingabefeld für neuen Projektnamen -->
+            <input
+                type="text"
+                bind:value={projectName}
+                placeholder="Enter project name..."
+            />
+        </ModalBody>
+        <ModalFooter>
+            <Button color="primary" on:click={newProject}>Add Project</Button>{' '}
+            <Button color="secondary" on:click={closeModal}>Cancel</Button>
+        </ModalFooter>
+    </Modal>
+{/if}
                 </Nav>
                 <hr>
                 <Nav class="pb-4" style="width: 100%; display: flex; justify-content: space-between">
diff --git a/UnicadoGUI/Frontend/src/routes/+page.svelte b/UnicadoGUI/Frontend/src/routes/+page.svelte
index d10b46043e814d51bee0f12af497d2e126bde361..c5009e661a43860595f92adc42cdc878df6906ba 100644
--- a/UnicadoGUI/Frontend/src/routes/+page.svelte
+++ b/UnicadoGUI/Frontend/src/routes/+page.svelte
@@ -1,7 +1,75 @@
 <script>
-    import {Styles} from "@sveltestrap/sveltestrap";
+    import { Button, Styles, Icon, Modal, ModalHeader, ModalBody, ModalFooter} from "@sveltestrap/sveltestrap";
+    import { addProject, removeProject } from '../stores/projects';
+    let projectName = '';
+    let projectToRemove = '';
+    let showModal = false;
+
+    function newProject() {
+        if (projectName.trim() !== '') {
+            addProject(projectName);
+            projectName = '';
+        }
+    }
+
+    function deleteProject() {
+      if (projectToRemove.trim() !== '') {
+        removeProject(projectToRemove);
+        projectToRemove = ''; // Eingabefeld leeren nach dem Hinzufügen
+      }
+    }
+
+    function openModal() {
+      showModal = true;
+    }
+
+    function closeModal() {
+      showModal = false;
+    }
+
 </script>
 <h1>Welcome to the UNICADO WebApp</h1>
+<input
+    type="text"
+    bind:value={projectName}
+    placeholder="Enter project name..."
+/>
+<Button color="dark" outline on:click={newProject}>
+    <Icon name="window-plus"/>
+    new Project
+</Button>
+<input
+    type="text"
+    bind:value={projectToRemove}
+    placeholder="Enter project name to remove..."
+/>
+<Button color="dark" outline on:click={deleteProject}>
+    <Icon name="window-plus"/>
+    Remove Project
+</Button>
+
+<Button color="dark" outline on:click={openModal}>
+    <Icon name="window-plus"/>
+    New Project
+</Button>
+
+{#if showModal}
+    <Modal isOpen={showModal} toggle={closeModal}>
+        <ModalHeader toggle={closeModal}>Add New Project</ModalHeader>
+        <ModalBody>
+            <!-- Eingabefeld für neuen Projektnamen -->
+            <input
+                type="text"
+                bind:value={projectName}
+                placeholder="Enter project name..."
+            />
+        </ModalBody>
+        <ModalFooter>
+            <Button color="primary" on:click={newProject}>Add Project</Button>{' '}
+            <Button color="secondary" on:click={closeModal}>Cancel</Button>
+        </ModalFooter>
+    </Modal>
+{/if}
 
 <p>Create new Project....<br>Open existing Project...</p>
 
diff --git a/UnicadoGUI/Frontend/src/stores/projects.js b/UnicadoGUI/Frontend/src/stores/projects.js
index 58704e485c6cc83ebc7586da1f4de7c0f4acfc69..4acbc14699451b2482bb3ad60ace71773ba8a9af 100644
--- a/UnicadoGUI/Frontend/src/stores/projects.js
+++ b/UnicadoGUI/Frontend/src/stores/projects.js
@@ -1,8 +1,51 @@
 import { writable } from 'svelte/store';
 
 //TODO project url and so
-export const userProjects = writable([
-  { id: 1, name: 'Projekt A' },
-  { id: 2, name: 'Projekt B' },
-  { id: 3, name: 'Projekt C' }
-]);
+function getStoredProjects() {
+  if (typeof window !== 'undefined') { 
+    const storedProjects = localStorage.getItem('userProjects');
+    return storedProjects ? JSON.parse(storedProjects) : [];
+  }
+  return [];
+}
+
+const initialProjects = getStoredProjects();
+
+export const userProjects = writable(initialProjects);
+
+if (typeof window !== 'undefined') {
+  userProjects.subscribe(projects => {
+    localStorage.setItem('userProjects', JSON.stringify(projects));
+  });
+}
+
+
+/**
+ * @param {string} name 
+ */
+export function addProject(name) {
+  userProjects.update(projects => {
+    const maxId = projects.reduce((/** @type {number} */ max, /** @type {{ id: number; }} */ project) => project.id > max ? project.id : max, 0);
+    const newProject = { id: maxId + 1, name };
+
+    return [...projects, newProject];
+  });
+}
+
+/**
+ * @param {string} name 
+ */
+export function removeProject(name) {
+  userProjects.update(projects => {
+    return projects.filter((/** @type {{ name: string; }} */ project) => project.name !== name);
+  });
+}
+
+/**
+ * @param {number} id 
+ */
+export function removeProjectbyId(id) {
+  userProjects.update(projects => {
+    return projects.filter((/** @type {{ id: number; }} */ project) => project.id !== id);
+  });
+}