Back to Projects

Full-Stack Web Application

Laravel Blog CMS

About this Project

Laravel Blog CMS

A full-featured blog content management system built with the Laravel PHP framework. This project served as a comprehensive introduction to server-side MVC architecture, relational databases, and Laravel's ecosystem of tools.

Features

  • Authentication & Authorization: User registration, login, and role-based access control (admin vs. author vs. reader) using Laravel Breeze and Gates.
  • Rich Post Management: Create, edit, publish, and delete blog posts with a rich text editor (Trix), category tagging, and featured image upload.
  • Comment System: Nested comments with moderation — admins can approve, hide, or delete comments from the dashboard.
  • Admin Dashboard: A dedicated management interface showing site statistics, pending comments, draft posts, and user management.
  • Search & Filtering: Full-text search across posts with filtering by category, author, and date range using Eloquent query scopes.
  • Responsive Design: Built with Tailwind CSS and Alpine.js for a clean, mobile-first interface.

Technical Highlights

  • Eloquent ORM: Leverages Laravel's ORM for clean database interactions — polymorphic relationships for comments, many-to-many for tags, and eager loading to prevent N+1 query problems.
  • Blade Templating: Component-based UI architecture using Blade components and slots.
  • Laravel Queues: Email notifications for new comments dispatched via queued jobs to keep HTTP responses fast.
  • File Storage: Post images stored using Laravel's filesystem abstraction with local disk and S3-compatible storage support.