Eine einfache, moderne Geschenkliste-Webanwendung mit ASP.NET Core MVC, Entity Framework Core und ASP.NET Identity. Die App ermöglicht es, Geschenkideen zu erfassen, als erledigt zu markieren, zu löschen und die Liste bei Bedarf zurückzusetzen.
- Über das Projekt
- Features
- Tech-Stack
- Projektstruktur
- Voraussetzungen
- Lokales Setup
- Datenbank
- Funktionen im Detail
- Screenshots
- Deployment
- Roadmap
- Mitwirken
- Lizenz
Geschenkliste ist eine kleine Webanwendung zum Verwalten von Geschenkideen. Benutzer können Geschenkvorschläge anlegen, mit einem Namen und einer Farbe versehen und anschließend in der zentralen Liste anzeigen lassen. Einzelne Einträge lassen sich als erledigt markieren oder löschen. Zusätzlich gibt es eine Admin-Funktion, mit der die gesamte Liste zurückgesetzt werden kann.
Das Projekt wurde als ASP.NET Core 6 MVC Anwendung umgesetzt und verwendet SQL Server als Datenbank über Entity Framework Core.
- Geschenkideen anlegen
- Geschenkideen in einer Liste anzeigen
- Einträge als erledigt markieren
- Einzelne Einträge löschen
- Gesamte Liste zurücksetzen
- Benutzerverwaltung über ASP.NET Identity
- Farbauswahl für Einträge
- Bootstrap-UI mit responsivem Layout
- Fehlerseite und Development-Migration-Endpunkt
- Framework: ASP.NET Core 6.0
- Sprache: C#
- Datenbank: SQL Server
- ORM: Entity Framework Core
- Auth: ASP.NET Identity
- Frontend: Razor Views, HTML, CSS, JavaScript, Bootstrap 5
PLF_11112024_Rautner/
├── Controllers/
│ ├── HomeController.cs
│ └── GeschenkController.cs
├── Data/
│ └── ApplicationDbContext.cs
├── Migrations/
├── Models/
├── Views/
│ ├── Home/
│ ├── Geschenk/
│ └── Shared/
├── wwwroot/
├── Program.cs
└── PLF_11112024_Rautner.csproj
- HomeController: zeigt die Geschenkliste, markiert Einträge als erledigt, löscht Einträge und kann die komplette Liste zurücksetzen
- GeschenkController: stellt das Formular zum Erstellen neuer Einträge bereit und speichert neue Geschenkideen in der Datenbank
- ApplicationDbContext: verwaltet die Datenbankverbindung und die
GeschenkModels-Tabelle - Views: enthalten die Razor-Seiten für Liste, Formular und Layout
Bevor du das Projekt lokal startest, solltest du Folgendes installiert haben:
- .NET SDK 6.0
- SQL Server oder SQL Server Express
- Visual Studio 2022 oder VS Code
- Optional: SQL Server Management Studio
git clone https://github.com/StefanRautner/Geschenkliste.git
cd GeschenklisteÖffne die Solution:
PLF_11112024_Rautner.sln
Passe die Datenbankverbindung in appsettings.json an:
{
"ConnectionStrings": {
"DefaultConnection": "Server=.;Database=GeschenklisteDb;Trusted_Connection=True;TrustServerCertificate=True"
}
}Wenn du SQL Server Express oder LocalDB verwendest, musst du den Servernamen entsprechend anpassen.
Falls noch keine Datenbank existiert, erstelle sie mit:
dotnet ef database updatedotnet run --project PLF_11112024_RautnerDanach ist die App im Browser erreichbar, meist unter:
https://localhost:xxxx
Die Anwendung verwendet Entity Framework Core mit einer ApplicationDbContext-Klasse.
- AspNetUsers: Benutzerverwaltung durch ASP.NET Identity
- GeschenkModels: speichert Geschenkideen
Aus dem Projektverhalten ergeben sich u. a. folgende Felder:
- Titel des Geschenks
- Empfänger / Für wen das Geschenk gedacht ist
- Farbwert für die Darstellung
- Erstellername
- Status
Erledigt
Auf der Seite Geschenk/Index kann eine neue Geschenkidee eingetragen werden. Dabei werden Titel und Empfänger erfasst. Angemeldete Benutzer können zusätzlich eine Farbe auswählen.
Die Startseite zeigt alle Geschenkideen in einer Tabelle an. Die Darstellung verwendet die hinterlegte Farbe des Eintrags als Hintergrund.
Ein Eintrag kann per Aktion als erledigt markiert werden. Der Status wird in der Datenbank gespeichert.
Einzelne Geschenkideen können aus der Liste entfernt werden.
Für den Benutzer god@heaven steht eine Reset-Funktion zur Verfügung, die alle Einträge löscht.
Hier kannst du später echte Screenshots ergänzen, z. B. von:
- der Startseite
- dem Formular zum Hinzufügen eines Geschenks
- der Liste mit farbigen Einträgen
- der Reset-Funktion
Beispiel:
Die Anwendung kann auf einem IIS, Azure App Service oder einem anderen ASP.NET Core kompatiblen Hosting-Dienst betrieben werden.
appsettings.jsonfür Produktionsumgebung anpassen- Connection String setzen
- Migrationen gegen die Produktionsdatenbank ausführen
- HTTPS aktivieren
Mögliche Erweiterungen für die Zukunft:
- Editieren bestehender Geschenkideen
- Filter nach Benutzer oder Status
- Suchfunktion
- Prioritäten oder Kategorien
- Bessere Rollenverwaltung für Admin-Funktionen
- Mobile-optimierte Detailansicht
Beiträge sind willkommen.
- Fork des Repositories erstellen
- Feature-Branch anlegen
- Änderungen umsetzen
- Pull Request erstellen
Dieses Projekt steht unter der MIT License.
Stefan Rautner
Wenn du möchtest, kann ich dir als Nächstes auch noch:
- eine kürzere, professionellere README-Version schreiben,
- Badges und Screenshots ergänzen,
- oder die README direkt ins Repository einspielen.