Skip to main content

CoreBlog – Multi-author blog with ASP.NET Core 8.

Magazine platform with public website, author area and admin panel – multi-layered architecture built with ASP.NET Core 8, EF Core and SQLite. Live demo without registration.

amirrezaafshar / coreblog-–-multi-author-blog-with-asp.net-core-8
Completed C# / .NET Updated: 2026-10-01

CoreBlog – Multi-author blog with ASP.NET Core 8

Magazine platform with public website, author area and admin panel – multi-layered architecture built with ASP.NET Core 8, EF Core and SQLite. Live demo without registration.

CoreBlog – Multi-author blog with ASP.NET Core 8

About the project

CoreBlog is an online magazine where multiple authors publish posts. Readers can search, filter by categories, comment, and rate posts with stars. The editorial team manages posts, comments, accounts, and roles in the admin panel.

The live demo works without registration: Log in with a single click as editor-in-chief in the admin panel or as an author in the author area. All functions can be tested – the demo database is automatically reset.

Technical implementation

The application is divided into four projects: Entities (BE), Data Access (DAL), Business Logic (BLL) and User Interface (MVC). Controllers only communicate with service interfaces, and data access is handled via a generic repository using Entity Framework Core 8. Authentication and roles (Admin, Writer) are managed by ASP.NET Core Identity, while validation is implemented using FluentValidation with German error messages. A SQLite file in the project serves as the database—it is automatically created and seeded with sample data upon startup. Deployment is carried out via Docker on Render (Frankfurt region).

Key Features

  • Public website: home page with a cover story, full-text search, category filter, post pages with table of contents, reading time and view counter.
  • Comments & ratings: readers comment on posts and give stars – the editorial team moderates all comments in the admin panel.
  • Author area: dashboard with key figures, editor with draft/publish, image upload, character and reading-time counter, and internal messages.
  • Admin panel: dashboard with three charts, approving posts, setting the cover story, categories with their own colour, CSV export.
  • Roles & Permissions: ASP.NET Core Identity with Admin and Writer roles, locking authors, and assigning roles.
  • Demo without registration: one-click login as admin or author, protected demo accounts and automatic database reset.

My Role

Based on an ASP.NET Core course by Murat Yücedağ. Afterwards, I independently developed the project further: migration to .NET 8 and SQLite, new features in the author and admin areas, demo mode, Docker deployment, and privacy policy adjustments.

Architecture

N-tier architecture with four projects: BE (Entities) → DAL (EF Core Context, GenericRepository<T>, specialized repositories) → BLL (Service interfaces, managers, FluentValidation, DI registration) → CoreBlog (Controllers, "Admin" and "Writer" areas, Razor views). All repositories and managers are registered as Scoped via dependency injection – one DbContext per request.

Challenges

The original project was based on ASP.NET Core 5.0 and SQL Server with database triggers. For a free, publicly accessible demo, it had to run without a database server, remain secure even though every visitor is granted admin rights, and consistently maintain a clean appearance.

Solutions

Migration to .NET 8 and SQLite; rating logic was shifted from SQL Server triggers into the business logic, making it database-agnostic. A demo mode with one-click login protects the password, role, and status of the demo accounts, and a BackgroundService regularly resets the database. Fonts, icons, and scripts are delivered locally – without Google Fonts or 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

Key Learnings

Clean separation of layers in a real-world application · Roles and permissions with ASP.NET Core Identity · Database-agnostic business logic instead of triggers · Containerisation with Docker and deployment on Render · GDPR-compliant delivery without external services

// Back to project overview