diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9031276
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+__pycache__/
+*.pyc
+*.sqlite3
+
diff --git a/.kdev4/SGTMensa.kdev4 b/.kdev4/SGTMensa.kdev4
new file mode 100644
index 0000000..7c48fae
--- /dev/null
+++ b/.kdev4/SGTMensa.kdev4
@@ -0,0 +1,5 @@
+[Buildset]
+BuildItems=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x00\x01\x00\x00\x00\x10\x00S\x00G\x00T\x00M\x00e\x00n\x00s\x00a)
+
+[Project]
+VersionControlSupport=kdevgit
diff --git a/db.sqlite3 b/db.sqlite3
deleted file mode 100644
index 490c930..0000000
Binary files a/db.sqlite3 and /dev/null differ
diff --git a/mensa_app/__pycache__/__init__.cpython-312.pyc b/mensa_app/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index d854d3c..0000000
Binary files a/mensa_app/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/mensa_app/__pycache__/__init__.cpython-314.pyc b/mensa_app/__pycache__/__init__.cpython-314.pyc
deleted file mode 100644
index 46c3669..0000000
Binary files a/mensa_app/__pycache__/__init__.cpython-314.pyc and /dev/null differ
diff --git a/mensa_app/__pycache__/admin.cpython-312.pyc b/mensa_app/__pycache__/admin.cpython-312.pyc
deleted file mode 100644
index d91dd7d..0000000
Binary files a/mensa_app/__pycache__/admin.cpython-312.pyc and /dev/null differ
diff --git a/mensa_app/__pycache__/admin.cpython-314.pyc b/mensa_app/__pycache__/admin.cpython-314.pyc
deleted file mode 100644
index 5d48f81..0000000
Binary files a/mensa_app/__pycache__/admin.cpython-314.pyc and /dev/null differ
diff --git a/mensa_app/__pycache__/apps.cpython-312.pyc b/mensa_app/__pycache__/apps.cpython-312.pyc
deleted file mode 100644
index 0c46525..0000000
Binary files a/mensa_app/__pycache__/apps.cpython-312.pyc and /dev/null differ
diff --git a/mensa_app/__pycache__/apps.cpython-314.pyc b/mensa_app/__pycache__/apps.cpython-314.pyc
deleted file mode 100644
index 13e3337..0000000
Binary files a/mensa_app/__pycache__/apps.cpython-314.pyc and /dev/null differ
diff --git a/mensa_app/__pycache__/models.cpython-312.pyc b/mensa_app/__pycache__/models.cpython-312.pyc
deleted file mode 100644
index a884738..0000000
Binary files a/mensa_app/__pycache__/models.cpython-312.pyc and /dev/null differ
diff --git a/mensa_app/__pycache__/models.cpython-314.pyc b/mensa_app/__pycache__/models.cpython-314.pyc
deleted file mode 100644
index 53d1c05..0000000
Binary files a/mensa_app/__pycache__/models.cpython-314.pyc and /dev/null differ
diff --git a/mensa_app/__pycache__/tests.cpython-312.pyc b/mensa_app/__pycache__/tests.cpython-312.pyc
deleted file mode 100644
index 5efc8ba..0000000
Binary files a/mensa_app/__pycache__/tests.cpython-312.pyc and /dev/null differ
diff --git a/mensa_app/customer_order_process_diagram_v1.pdf b/mensa_app/customer_order_process_diagram_v1.pdf
new file mode 100644
index 0000000..fab8f5c
Binary files /dev/null and b/mensa_app/customer_order_process_diagram_v1.pdf differ
diff --git a/mensa_app/customer_order_process_v1.puml b/mensa_app/customer_order_process_v1.puml
new file mode 100644
index 0000000..10d483d
--- /dev/null
+++ b/mensa_app/customer_order_process_v1.puml
@@ -0,0 +1,65 @@
+@startuml
+
+' Teilnehmer – Standard‑Icons
+actor Student as "Student"
+participant Browser as "Browser"
+participant WebsiteServer as "Website Server"
+database OrderDB as "Order DB"
+participant OrderService as "Order Service"
+participant InventoryService as "Inventory Service"
+participant KitchenDisplaySystem as "Kitchen Display"
+participant NotificationService as "Notification Service"
+
+' ---------- Login ----------
+Student -> Browser : Öffnet die Webseite
+Browser -> WebsiteServer : GET /login
+WebsiteServer --> Browser : Liefert Login‑Seite
+Student -> Browser : Gibt Benutzerdaten ein und schickt Formular
+Browser -> WebsiteServer : POST /login\n{username, password}
+WebsiteServer --> OrderService : Authentifiziere User
+OrderService --> WebsiteServer : OK (Session‑Token)
+WebsiteServer --> Browser : Setzt Session‑Cookie & leitet zur Menüseite
+
+' ---------- Menü auswählen ----------
+Student -> Browser : Wählt Speisen aus dem Menü
+Browser -> WebsiteServer : GET /menu\n{session}
+WebsiteServer --> OrderDB : Liefert aktuelle Menüpunkte
+OrderDB --> WebsiteServer : Menüdaten
+WebsiteServer --> Browser : Zeigt Menü
+
+' ---------- Artikel zum Warenkorb hinzufügen ----------
+loop Für jeden gewählten Artikel
+ Student -> Browser : Klickt „In den Warenkorb“
+ Browser -> OrderService : POST /cart/add\n{session, articleID}
+ OrderService -> OrderDB : Update Cart (Add Item)
+ OrderDB --> OrderService : OK
+ OrderService --> Browser : Rückmeldung "Artikel hinzugefügt"
+end
+
+' ---------- Bestellung prüfen ----------
+Student -> Browser : Öffnet Warenkorb und prüft Bestellübersicht
+Browser -> OrderService : GET /cart\n{session}
+OrderService -> OrderDB : Liefert aktuelle Cart‑Daten
+OrderDB --> OrderService : Cart‑Details
+OrderService --> Browser : Zeigt Cart‑Übersicht
+
+' ---------- Checkout (ohne Bezahlung) ----------
+Student -> Browser : Klicke „Zur Kasse“
+Browser -> WebsiteServer : GET /checkout\n{session}
+WebsiteServer --> NotificationService : Sende “Bestellung anstehend” (Optional)
+NotificationService --> Browser : Bestätigungsnachricht
+Student -> Browser : Gibt Zahlungsinformationen für Bezahlung vor Ort ein und schickt Formular
+Browser -> OrderService : POST /checkout/confirm\n{session, paymentMethod="VorOrt"}
+OrderService --> OrderDB : Speichere Order & set Status “Pending Payment”
+OrderDB --> OrderService : OK
+OrderService --> KitchenDisplaySystem : Sende Order‑Details (Zubereitung)
+KitchenDisplaySystem --> Browser : Zeigt „Bestellung in Bearbeitung“
+OrderService -> InventoryService : Update Bestand
+InventoryService --> OrderService : OK
+OrderService --> NotificationService : Sende “Bestellung bestätigt” (Email/SMS)
+
+' ---------- Fertigstellung ----------
+Student -> Browser : Empfängt Benachrichtigung “Ihr Essen ist fertig”
+Browser -> KitchenDisplaySystem : Optional „Abholung bestätigen“
+
+@enduml
\ No newline at end of file
diff --git a/mensa_app/migrations/0005_alter_bestellung_id_alter_gericht_id_and_more.py b/mensa_app/migrations/0005_alter_bestellung_id_alter_gericht_id_and_more.py
new file mode 100644
index 0000000..6db99ad
--- /dev/null
+++ b/mensa_app/migrations/0005_alter_bestellung_id_alter_gericht_id_and_more.py
@@ -0,0 +1,72 @@
+# Generated by Django 5.2.14 on 2026-05-15 09:28
+
+import datetime
+import django.db.models.deletion
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('mensa_app', '0004_alter_gericht_time_creation_and_more'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='bestellung',
+ name='id',
+ field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='gericht',
+ name='id',
+ field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='gericht',
+ name='time_creation',
+ field=models.TimeField(default=datetime.datetime(2026, 5, 15, 9, 28, 5, 292454)),
+ ),
+ migrations.AlterField(
+ model_name='gericht',
+ name='time_last_change',
+ field=models.TimeField(default=datetime.datetime(2026, 5, 15, 9, 28, 5, 292454)),
+ ),
+ migrations.AlterField(
+ model_name='kategorie',
+ name='id',
+ field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='menue',
+ name='id',
+ field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='person',
+ name='id',
+ field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.AlterField(
+ model_name='speiseplantag',
+ name='id',
+ field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+ ),
+ migrations.CreateModel(
+ name='Bewertung',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('sterne', models.IntegerField(choices=[(1, '★☆☆☆☆'), (2, '★★☆☆☆'), (3, '★★★☆☆'), (4, '★★★★☆'), (5, '★★★★★')], default=3)),
+ ('kommentar', models.TextField(blank=True, null=True)),
+ ('datum', models.DateTimeField(auto_now_add=True)),
+ ('ist_verifiziert', models.BooleanField(default=False, help_text='Wird automatisch auf True gesetzt, wenn eine bezahlte Bestellung vorliegt.')),
+ ('gericht', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='bewertungen', to='mensa_app.gericht')),
+ ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='bewertungen', to='mensa_app.person')),
+ ],
+ options={
+ 'verbose_name': 'Bewertung',
+ 'verbose_name_plural': 'Bewertungen',
+ 'unique_together': {('user', 'gericht')},
+ },
+ ),
+ ]
diff --git a/mensa_app/migrations/__pycache__/0001_initial.cpython-312.pyc b/mensa_app/migrations/__pycache__/0001_initial.cpython-312.pyc
deleted file mode 100644
index 2bc9c39..0000000
Binary files a/mensa_app/migrations/__pycache__/0001_initial.cpython-312.pyc and /dev/null differ
diff --git a/mensa_app/migrations/__pycache__/0001_initial.cpython-314.pyc b/mensa_app/migrations/__pycache__/0001_initial.cpython-314.pyc
deleted file mode 100644
index 190f65f..0000000
Binary files a/mensa_app/migrations/__pycache__/0001_initial.cpython-314.pyc and /dev/null differ
diff --git a/mensa_app/migrations/__pycache__/0002_alter_bestellung_options_alter_gericht_options_and_more.cpython-314.pyc b/mensa_app/migrations/__pycache__/0002_alter_bestellung_options_alter_gericht_options_and_more.cpython-314.pyc
deleted file mode 100644
index cae7689..0000000
Binary files a/mensa_app/migrations/__pycache__/0002_alter_bestellung_options_alter_gericht_options_and_more.cpython-314.pyc and /dev/null differ
diff --git a/mensa_app/migrations/__pycache__/0003_schulwoche_alter_gericht_time_creation_and_more.cpython-314.pyc b/mensa_app/migrations/__pycache__/0003_schulwoche_alter_gericht_time_creation_and_more.cpython-314.pyc
deleted file mode 100644
index 680e53d..0000000
Binary files a/mensa_app/migrations/__pycache__/0003_schulwoche_alter_gericht_time_creation_and_more.cpython-314.pyc and /dev/null differ
diff --git a/mensa_app/migrations/__pycache__/0004_alter_gericht_time_creation_and_more.cpython-314.pyc b/mensa_app/migrations/__pycache__/0004_alter_gericht_time_creation_and_more.cpython-314.pyc
deleted file mode 100644
index c33415e..0000000
Binary files a/mensa_app/migrations/__pycache__/0004_alter_gericht_time_creation_and_more.cpython-314.pyc and /dev/null differ
diff --git a/mensa_app/migrations/__pycache__/0005_alter_gericht_time_creation_and_more.cpython-314.pyc b/mensa_app/migrations/__pycache__/0005_alter_gericht_time_creation_and_more.cpython-314.pyc
deleted file mode 100644
index fd40f79..0000000
Binary files a/mensa_app/migrations/__pycache__/0005_alter_gericht_time_creation_and_more.cpython-314.pyc and /dev/null differ
diff --git a/mensa_app/migrations/__pycache__/0006_alter_gericht_time_creation_and_more.cpython-314.pyc b/mensa_app/migrations/__pycache__/0006_alter_gericht_time_creation_and_more.cpython-314.pyc
deleted file mode 100644
index 97ffdcf..0000000
Binary files a/mensa_app/migrations/__pycache__/0006_alter_gericht_time_creation_and_more.cpython-314.pyc and /dev/null differ
diff --git a/mensa_app/migrations/__pycache__/0007_alter_gerichtbild_options_and_more.cpython-314.pyc b/mensa_app/migrations/__pycache__/0007_alter_gerichtbild_options_and_more.cpython-314.pyc
deleted file mode 100644
index 564b9c6..0000000
Binary files a/mensa_app/migrations/__pycache__/0007_alter_gerichtbild_options_and_more.cpython-314.pyc and /dev/null differ
diff --git a/mensa_app/migrations/__pycache__/0008_alter_gericht_time_creation_and_more.cpython-314.pyc b/mensa_app/migrations/__pycache__/0008_alter_gericht_time_creation_and_more.cpython-314.pyc
deleted file mode 100644
index 51ee7bd..0000000
Binary files a/mensa_app/migrations/__pycache__/0008_alter_gericht_time_creation_and_more.cpython-314.pyc and /dev/null differ
diff --git a/mensa_app/migrations/__pycache__/0009_alter_gericht_time_creation_and_more.cpython-314.pyc b/mensa_app/migrations/__pycache__/0009_alter_gericht_time_creation_and_more.cpython-314.pyc
deleted file mode 100644
index 9d6fef3..0000000
Binary files a/mensa_app/migrations/__pycache__/0009_alter_gericht_time_creation_and_more.cpython-314.pyc and /dev/null differ
diff --git a/mensa_app/migrations/__pycache__/__init__.cpython-312.pyc b/mensa_app/migrations/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index bdc1992..0000000
Binary files a/mensa_app/migrations/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/mensa_app/migrations/__pycache__/__init__.cpython-314.pyc b/mensa_app/migrations/__pycache__/__init__.cpython-314.pyc
deleted file mode 100644
index cc7d1ea..0000000
Binary files a/mensa_app/migrations/__pycache__/__init__.cpython-314.pyc and /dev/null differ
diff --git a/mensa_app/templates/mensa_app/bestell_summary.html b/mensa_app/templates/mensa_app/bestell_summary.html
new file mode 100644
index 0000000..67c693b
--- /dev/null
+++ b/mensa_app/templates/mensa_app/bestell_summary.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+ Bestell-Zusammenfassung
+
+
+
+
+
+
+
+
+
Bestell-Check für den {{ target_date|date:"d.m.Y" }}
+
+
+
+
+
+
+
+
+
+
Gesamtanzahl Bestellungen
+ {{ total_bestellungen }}
+
+
+
+
+
+
+
Erwarteter Umsatz
+ {{ total_umsatz|floatformat:2 }} €
+
+
+
+
+
+
+
+
+
+
+
+
+ | Gericht |
+ Kategorie |
+ Menge |
+ Umsatz |
+
+
+
+ {% for stat in summary_stats %}
+
+ | {{ stat.menue__gericht__name }} |
+ {{ stat.menue__gericht__kategorie__name }} |
+ {{ stat.anzahl }} |
+ {{ stat.umsatz|floatformat:2 }} € |
+
+ {% empty %}
+
+ | Keine Bestellungen für diesen Tag vorhanden. |
+
+ {% endfor %}
+
+
+
+
+
+
+
+
+
+
diff --git a/mensa_app/templates/mensa_app/gericht_list.html b/mensa_app/templates/mensa_app/gericht_list.html
new file mode 100644
index 0000000..788bf21
--- /dev/null
+++ b/mensa_app/templates/mensa_app/gericht_list.html
@@ -0,0 +1,55 @@
+
+
+
+
+
+ Mensa-Speisekarte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Gericht |
+ Kategorie |
+ Status |
+
+
+
+ {% for gericht in alle_gerichte %}
+
+ | {{ gericht.name }} |
+ {{ gericht.kategorie.name }} |
+
+ {% if gericht.ist_dauerangebot %}
+ Dauerangebot
+ {% else %}
+ Tagesangebot
+ {% endif %}
+ |
+
+ {% empty %}
+
+ | Keine Gerichte im System gefunden. |
+
+ {% endfor %}
+
+
+
+
+
+
+
+
+
+
diff --git a/mensa_app/templates/mensa_app/speiseplan.html b/mensa_app/templates/mensa_app/speiseplan.html
new file mode 100644
index 0000000..e5918a1
--- /dev/null
+++ b/mensa_app/templates/mensa_app/speiseplan.html
@@ -0,0 +1,92 @@
+
+
+
+
+
+ Mensa Speiseplan
+
+
+
+
+
+
+
+
+
+
+
+
Speiseplan für den
{{ target_date|date:"d.m.Y" }}
+
+
+
+ {% if prev_date %}
+
« Vorheriger Tag
+ {% else %}
+
+ {% endif %}
+
+
+
Heute
+
+
+ {% if next_date %}
+
Nächster Tag »
+ {% else %}
+
+ {% endif %}
+
+
+
+
+
+
+
+
+
+
+
+ | Gericht |
+ Kategorie |
+ Preis |
+
+
+
+ {% for menue in menues_day %}
+
+ | {{ menue.gericht.name }} |
+ {{ menue.gericht.kategorie.name }} |
+ {{ menue.preis|floatformat:2 }} € |
+
+ {% empty %}
+
+ | Keine Tagesmenüs für diesen Tag geplant. |
+
+ {% endfor %}
+
+
+
+
+
+
+
+
+
+
+ {% for gericht in dauerangebote %}
+ -
+ {{ gericht.name }}
+ Verfügbar
+
+ {% empty %}
+ - Momentan keine Dauerangebote.
+ {% endfor %}
+
+
+
+
+
+
+
+
+
+
diff --git a/mensa_app/urls.py b/mensa_app/urls.py
new file mode 100644
index 0000000..c59a541
--- /dev/null
+++ b/mensa_app/urls.py
@@ -0,0 +1,10 @@
+from django.urls import path
+from .views import GerichtListView
+from .views import SpeiseplanView # Achte auf den neuen Klassennamen!
+from .views import BestellSummaryView
+
+urlpatterns = [
+ path('speisekarte/', GerichtListView.as_view(), name='speisekarte'),
+ path('speiseplan/', SpeiseplanView.as_view(), name='speiseplan'),
+ path('bestellungen/summary/', BestellSummaryView.as_view(), name='bestell_summary'),
+]
diff --git a/mensa_app/views.py b/mensa_app/views.py
index 91ea44a..662af6f 100644
--- a/mensa_app/views.py
+++ b/mensa_app/views.py
@@ -1,3 +1,101 @@
from django.shortcuts import render
# Create your views here.
+from django.views.generic import ListView
+from .models import Gericht
+
+class GerichtListView(ListView):
+ model = Gericht
+ template_name = 'mensa_app/gericht_liste.html' # Der Pfad zum Template
+ context_object_name = 'alle_gerichte' # Der Name, den wir im Template nutzen
+
+from django.views.generic import TemplateView
+from django.utils import timezone
+from datetime import datetime
+from .models import Menue, Gericht, SpeiseplanTag
+
+class SpeiseplanView(TemplateView):
+ template_name = 'mensa_app/speiseplan.html'
+
+ def get_context_data(self, **kwargs):
+ context = super().get_context_data(**kwargs)
+
+ # 1. Datum aus der URL holen (z.B. ?datum=2023-10-27)
+ # Wenn kein Datum angegeben ist, nehmen wir heute.
+ date_str = self.request.GET.get('datum')
+ if date_str:
+ try:
+ target_date = datetime.strptime(date_str, '%Y-%m-%d').date()
+ except ValueError:
+ target_date = timezone.glob.now().date()
+ else:
+ target_date = timezone.now().date()
+
+ # 2. Menüs für diesen spezifischen Tag laden
+ # Wir suchen alle Menüs, deren Tag das target_date hat
+ context['target_date'] = target_date
+ context['menues_day'] = Menue.objects.filter(tag__datum=target_date)
+
+ # 3. Dauerangebote laden (unabhängig vom Tag)
+ context['dauerangebote'] = Gericht.objects.filter(ist_dauerangebot=True)
+
+ # 4. Pager-Logik: Vorherigen und nächsten Tag finden
+ # Wir suchen in der Tabelle SpeiseplanTag nach dem Tag davor/danach
+ prev_tag = SpeiseplanTag.objects.filter(datum__lt=target_date).order_by('-datum').first()
+ next_tag = SpeiseplanTag.objects.filter(datum__gt=target_date).order_by('datum').first()
+
+ context['prev_date'] = prev_tag.datum.strftime('%Y-%m-%d') if prev_tag else None
+ context['next_date'] = next_tag.datum.strftime('%Y-%m-%d') if next_tag else None
+
+ return context
+
+
+from django.views.generic import TemplateView
+from django.utils import timezone
+from django.db.models import Count, Sum
+from datetime import datetime
+from .models import Bestellung, SpeiseplanTag, Gericht, Menue
+
+class BestellSummaryView(TemplateView):
+ template_name = 'mensa_app/bestell_summary.html'
+
+ def get_context_data(self, **kwargs):
+ context = super().get_context_data(**kwargs)
+
+ # 1. Datum aus der URL holen (wie beim Speiseplan)
+ date_str = self.request.GET. get('datum')
+ if date_str:
+ try:
+ target_date = datetime.strptime(date_str, '%Y-%m-%d').date()
+ except ValueError:
+ target_date = timezone.now().date()
+ else:
+ target_date = timezone.now().date()
+
+ context['target_date'] = target_date
+
+ # 2. Aggregation: Bestellungen nach Gericht gruppieren
+ # Wir suchen alle Bestellungen, deren Menü am target_date stattfindet
+ summary_stats = (
+ Bestellung.objects.filter(menue__tag__datum=target_date)
+ .values('menue__gericht__name', 'menue__gericht__kategorie__name') # Gruppierung nach Name & Kategorie
+ .annotate(
+ anzahl=Count('id'), # Wie viele wurden bestellt?
+ umsatz=Sum('menue__preis') # Was macht das für einen Umsatz?
+ )
+ .order_by('menue__gericht__name')
+ )
+ context['summary_stats'] = summary_stats
+
+ # 3. Pager-Logik (identisch mit dem Speiseplan-View)
+ prev_tag = SpeiseplanTag.objects.filter(datum__lt=target_date).order_by('-datum').first()
+ next_tag = SpeiseplanTag.objects.filter(datum__gt=target_date).order_by('datum').first()
+
+ context['prev_date'] = prev_tag.datum.strftime('%Y-%m-%d') if prev_tag else None
+ context['next_date'] = next_tag.datum.strftime('%Y-%m-%d') if next_tag else None
+
+ # 4. Gesamtzahlen für die Übersicht
+ context['total_bestellungen'] = Bestellung.objects.filter(menue__tag__datum=target_date).count()
+ context['total_umsatz'] = Bestellung.objects.filter(menue__tag__datum=target_date).aggregate(Sum('menue__preis'))['menue__preis__sum'] or 0
+
+ return context
diff --git a/mensa_core/__pycache__/__init__.cpython-312.pyc b/mensa_core/__pycache__/__init__.cpython-312.pyc
deleted file mode 100644
index 52c5866..0000000
Binary files a/mensa_core/__pycache__/__init__.cpython-312.pyc and /dev/null differ
diff --git a/mensa_core/__pycache__/__init__.cpython-314.pyc b/mensa_core/__pycache__/__init__.cpython-314.pyc
deleted file mode 100644
index f6c0a1c..0000000
Binary files a/mensa_core/__pycache__/__init__.cpython-314.pyc and /dev/null differ
diff --git a/mensa_core/__pycache__/settings.cpython-312.pyc b/mensa_core/__pycache__/settings.cpython-312.pyc
deleted file mode 100644
index c09f901..0000000
Binary files a/mensa_core/__pycache__/settings.cpython-312.pyc and /dev/null differ
diff --git a/mensa_core/__pycache__/settings.cpython-314.pyc b/mensa_core/__pycache__/settings.cpython-314.pyc
deleted file mode 100644
index ec7042a..0000000
Binary files a/mensa_core/__pycache__/settings.cpython-314.pyc and /dev/null differ
diff --git a/mensa_core/__pycache__/urls.cpython-312.pyc b/mensa_core/__pycache__/urls.cpython-312.pyc
deleted file mode 100644
index f3f1d72..0000000
Binary files a/mensa_core/__pycache__/urls.cpython-312.pyc and /dev/null differ
diff --git a/mensa_core/__pycache__/urls.cpython-314.pyc b/mensa_core/__pycache__/urls.cpython-314.pyc
deleted file mode 100644
index 980ac10..0000000
Binary files a/mensa_core/__pycache__/urls.cpython-314.pyc and /dev/null differ
diff --git a/mensa_core/__pycache__/wsgi.cpython-312.pyc b/mensa_core/__pycache__/wsgi.cpython-312.pyc
deleted file mode 100644
index 7526c10..0000000
Binary files a/mensa_core/__pycache__/wsgi.cpython-312.pyc and /dev/null differ
diff --git a/mensa_core/__pycache__/wsgi.cpython-314.pyc b/mensa_core/__pycache__/wsgi.cpython-314.pyc
deleted file mode 100644
index ebd799d..0000000
Binary files a/mensa_core/__pycache__/wsgi.cpython-314.pyc and /dev/null differ
diff --git a/mensa_core/urls.py b/mensa_core/urls.py
index 9bf908e..c7c1527 100644
--- a/mensa_core/urls.py
+++ b/mensa_core/urls.py
@@ -15,10 +15,12 @@ Including another URLconf
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
-from django.urls import path
+from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
+ path('', include('mensa_app.urls')), # Schaltet die App-URLs frei
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
+