diff --git a/includes/auth.php b/includes/auth.php
new file mode 100644
index 0000000..bb0b8dc
--- /dev/null
+++ b/includes/auth.php
@@ -0,0 +1,25 @@
+setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
+ $pdo->exec('PRAGMA foreign_keys = ON');
+} catch (PDOException $e) {
+ http_response_code(500);
+ die('Datenbank konnte nicht geöffnet werden. Bitte prüfen, ob der Ordner "data" auf dem Server beschreibbar ist (Rechte 755/775).');
+}
+
+$pdo->exec("CREATE TABLE IF NOT EXISTS users (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ username TEXT UNIQUE NOT NULL,
+ password_hash TEXT NOT NULL,
+ name TEXT NOT NULL,
+ created_at TEXT NOT NULL DEFAULT (datetime('now'))
+)");
+
+$pdo->exec("CREATE TABLE IF NOT EXISTS eintraege (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ type TEXT NOT NULL CHECK(type IN ('termin','neuigkeit')),
+ title TEXT NOT NULL,
+ entry_date TEXT,
+ body TEXT NOT NULL,
+ author_name TEXT NOT NULL,
+ created_at TEXT NOT NULL DEFAULT (datetime('now'))
+)");
+
+return $pdo;
diff --git a/includes/footer.php b/includes/footer.php
new file mode 100644
index 0000000..a08d93a
--- /dev/null
+++ b/includes/footer.php
@@ -0,0 +1,14 @@
+
diff --git a/includes/functions.php b/includes/functions.php
new file mode 100644
index 0000000..3ac3250
--- /dev/null
+++ b/includes/functions.php
@@ -0,0 +1,30 @@
+ 03.08.2026 */
+function format_datum($isoDate) {
+ if (!$isoDate) return null;
+ $ts = strtotime($isoDate);
+ if (!$ts) return e($isoDate);
+ return date('d.m.Y', $ts);
+}
diff --git a/includes/nav.php b/includes/nav.php
new file mode 100644
index 0000000..1a4bb3a
--- /dev/null
+++ b/includes/nav.php
@@ -0,0 +1,17 @@
+