Skip to content

Latest commit

 

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DotnetBlog

A modern full-stack blogging platform built with ASP.NET Core Blazor Server featuring authentication, role-based authorization, rich text editing, image uploads, nested comments, and responsive UI design.


🚀 Features

Authentication & Authorization

  • User registration and login
  • Email confirmation
  • Password reset & recovery
  • Two-factor authentication (2FA)
  • ASP.NET Core Identity integration
  • Role-based access control

Roles

  • Admin
  • Author
  • Reader

📝 Blogging System

Posts

  • Create, update, and delete blog posts
  • Rich text editor using Quill.js
  • Upload images with Cloudinary
  • Category-based organization
  • Pagination support
  • Search and filtering

Comments

  • Nested/threaded comments
  • Replies to comments
  • Edit & delete comments
  • Recursive comment handling

Categories

  • Browse posts by category
  • Multiple pre-seeded categories
  • Category filtering

👨‍💻 Author Features

  • Become an author workflow
  • Personal posts dashboard
  • Manage created posts
  • Search and filter personal content

☁️ Cloud Integrations

Cloudinary

Used for:

  • Image uploads
  • Image hosting
  • Image deletion

SendGrid

Used for:

  • Email confirmation
  • Password reset emails
  • Identity notifications

🎨 UI/UX Features

  • Responsive design
  • MudBlazor components
  • Modern card-based layouts
  • Loading skeletons
  • Snackbar notifications
  • Mobile-friendly interface

🛠️ Tech Stack

Technology Purpose
ASP.NET Core Blazor Server Frontend + Backend
Entity Framework Core ORM
PostgreSQL Database
ASP.NET Identity Authentication
MudBlazor UI Components
Cloudinary Image Hosting
SendGrid Email Services
SignalR Real-time Communication
Quill.js Rich Text Editor

🗂️ Project Structure

Components/
 ├── Pages/
 ├── Shared/
 ├── Layout/
 └── Account/

Data/
 ├── ApplicationDbContext
 └── Models

Services/
 ├── PostService
 ├── CommentsService
 ├── ImageUploadService
 └── EmailSender

🔐 Security Features

  • Secure authentication cookies
  • HTTPS & HSTS support
  • Role-based route protection
  • Transaction-safe deletions
  • Token expiration handling

📦 Main Functionalities

Readers Can

  • Register accounts
  • Browse posts
  • Search articles
  • Filter by category
  • Comment on posts
  • Become authors

Authors Can

  • Create blog posts
  • Upload images
  • Edit/delete posts
  • Manage personal dashboard
  • Interact with comments

Admins Can

  • Access protected routes
  • Manage content
  • Moderate platform features

⚙️ Installation

Prerequisites

  • .NET SDK
  • PostgreSQL
  • Cloudinary account
  • SendGrid account

Clone Repository

git clone <repository-url>
cd DotnetBlog

Configure App Settings

Update appsettings.json:

{
  "ConnectionStrings": {
    "DefaultConnection": "YOUR_CONNECTION_STRING"
  },

  "CloudinarySettings": {
    "CloudName": "YOUR_CLOUD_NAME",
    "ApiKey": "YOUR_API_KEY",
    "ApiSecret": "YOUR_API_SECRET"
  },

  "SendGrid": {
    "ApiKey": "YOUR_SENDGRID_API_KEY"
  }
}

Apply Migrations

dotnet ef database update

Run Application

dotnet run

🌟 Future Improvements

  • Like/Dislike system
  • Bookmarks
  • Draft posts
  • Notifications
  • Tags system
  • Analytics dashboard
  • Docker deployment
  • CI/CD pipeline

About

A modern full-stack blogging platform built with ASP.NET Core Blazor Server featuring authentication, role-based authorization, rich text editing, image uploads, nested comments, and responsive UI design.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages