Zum Hauptinhalt springen

CoreBlog – Mehrautoren-Blog mit ASP.NET Core 8.

Magazin-Plattform mit öffentlicher Website, Autorenbereich und Admin-Panel – mehrschichtig aufgebaut mit ASP.NET Core 8, EF Core und SQLite. Live-Demo ohne Registrierung.

amirrezaafshar / coreblog-–-mehrautoren-blog-mit-asp.net-core-8
Abgeschlossen C# / .NET Aktualisiert: 2026-10-01

CoreBlog – Mehrautoren-Blog mit ASP.NET Core 8

Magazin-Plattform mit öffentlicher Website, Autorenbereich und Admin-Panel – mehrschichtig aufgebaut mit ASP.NET Core 8, EF Core und SQLite. Live-Demo ohne Registrierung.

CoreBlog – Mehrautoren-Blog mit ASP.NET Core 8

Über das Projekt

CoreBlog ist ein Online-Magazin, in dem mehrere Autorinnen und Autoren Beiträge veröffentlichen. Leserinnen und Leser können suchen, nach Kategorien filtern, kommentieren und Beiträge mit Sternen bewerten. Die Redaktion verwaltet im Admin-Panel Beiträge, Kommentare, Konten und Rollen.

Die Live-Demo funktioniert ohne Registrierung: Mit einem Klick ist man als Chefredakteur im Admin-Panel oder als Autorin im Autorenbereich angemeldet. Alle Funktionen dürfen ausprobiert werden – die Demo-Datenbank wird automatisch zurückgesetzt.

Technische Umsetzung

Die Anwendung ist in vier Projekte aufgeteilt: Entitäten (BE), Datenzugriff (DAL), Geschäftslogik (BLL) und Oberfläche (MVC). Controller sprechen nur mit Service-Schnittstellen, der Datenzugriff läuft über ein generisches Repository mit Entity Framework Core 8. Authentifizierung und Rollen (Admin, Writer) übernimmt ASP.NET Core Identity, die Validierung FluentValidation mit deutschen Fehlermeldungen. Als Datenbank dient eine SQLite-Datei im Projekt – sie wird beim Start automatisch angelegt und mit Beispieldaten gefüllt. Ausgeliefert wird per Docker auf Render (Region Frankfurt).

Wichtige Funktionen

  • Öffentliche Website: Startseite mit Titelgeschichte, Volltextsuche, Kategorien-Filter, Beitragsseiten mit Inhaltsverzeichnis, Lesezeit und Aufrufzähler.
  • Kommentare & Bewertungen: Leser kommentieren Beiträge und vergeben Sterne – die Redaktion moderiert alle Kommentare im Admin-Panel.
  • Autorenbereich: Dashboard mit Kennzahlen, Editor mit Entwurf/Veröffentlichen, Bild-Upload, Zeichen- und Lesezeitzähler sowie interne Nachrichten.
  • Admin-Panel: Dashboard mit drei Diagrammen, Beiträge freigeben, Titelgeschichte festlegen, Kategorien mit eigener Farbe, CSV-Export.
  • Rollen & Rechte: ASP.NET Core Identity mit den Rollen Admin und Writer, Autoren sperren und Rollen vergeben.
  • Demo ohne Registrierung: Ein-Klick-Login als Admin oder Autorin, geschützte Demo-Konten und automatischer Reset der Datenbank.

Meine Rolle

Grundlage war ein ASP.NET-Core-Kurs von Murat Yücedağ. Danach habe ich das Projekt eigenständig weiterentwickelt: Migration auf .NET 8 und SQLite, neue Funktionen im Autoren- und Admin-Bereich, Demo-Modus, Docker-Deployment und Datenschutz-Anpassungen.

Architektur

N-Tier-Architektur mit vier Projekten: BE (Entitäten) → DAL (EF-Core-Context, GenericRepository<T>, spezialisierte Repositories) → BLL (Service-Interfaces, Manager, FluentValidation, DI-Registrierung) → CoreBlog (Controller, Areas „Admin“ und „Writer“, Razor Views). Alle Repositories und Manager sind per Dependency Injection als Scoped registriert – ein DbContext pro Anfrage.

Herausforderungen

Das ursprüngliche Projekt basierte auf ASP.NET Core 5.0 und SQL Server mit Datenbank-Triggern. Für eine kostenlose, öffentlich erreichbare Demo musste es ohne Datenbankserver laufen, sicher bleiben, obwohl jeder Besucher Admin-Rechte bekommt, und dauerhaft sauber aussehen.

Lösungen

Migration auf .NET 8 und SQLite; die Bewertungslogik wurde aus SQL-Server-Triggern in die Geschäftslogik verlagert und ist damit datenbankunabhängig. Ein Demo-Modus mit Ein-Klick-Login schützt Passwort, Rolle und Status der Demo-Konten, und ein BackgroundService setzt die Datenbank regelmäßig zurück. Schriften, Icons und Skripte werden lokal ausgeliefert – ohne Google Fonts oder CDNs.

Code-Highlight

GenericRepository<T> mit spezialisierten Include-Abfragen · rollenbasierte Areas mit zusätzlicher Besitzprüfung bei Beiträgen und Nachrichten · Bild-Upload mit Typ- und Größenprüfung · Dashboard mit drei Chart.js-Diagrammen · CSV-Export für Beiträge und Newsletter · globale Anti-Forgery-Prüfung für alle Formulare

Lernpunkte

Saubere Schichtentrennung in einer realen Anwendung · Rollen und Rechte mit ASP.NET Core Identity · Datenbankunabhängige Geschäftslogik statt Triggern · Containerisierung mit Docker und Deployment auf Render · DSGVO-konforme Auslieferung ohne externe Dienste

// Zurück zur Projektübersicht