Back to all projects

Personal Blog

Functional prototype Laravel · PHP · MySQL · Blade

A complete personal blog platform built with Laravel, featuring authentication, article management, image uploads, category filtering, and a reusable Blade-based interface.

CRUD complete article lifecycle
AUTH secure registration & login
FILTER category filtering, search & pagination
Personal Blog
01

The problem

The goal was to build a complete blog platform while applying Laravel fundamentals in a real project: authentication, database relationships, migrations, validation, file uploads and reusable views.

02

What I built

A blog platform with public article pages and an authenticated dashboard for managing content. Users can register and log in securely, create, edit and delete articles, add article images, assign categories, filter content and browse paginated listings.

03

Feature walk-through

Authentication

Authentication

Registration, login, logout, password hashing, session management, email verification and CSRF protection are implemented through Laravel authentication features.

Article management

Article management

Authenticated users can create, read, update and delete articles from the dashboard. Articles support titles, slugs, content, categories and image uploads.

Category filtering

Category filtering

Articles are organized with a one-to-many relationship between categories and articles. Visitors can filter articles by category and browse paginated results.

Validated forms

Validated forms

Article forms validate user input before saving it to the database. Models also use mass-assignment protection through explicit fillable attributes.

04

Under the hood

Built with Laravel routes and controllers, Eloquent models, database migrations, Blade views and server-side validation — keeping the app functional, structured and reusable.

  • Laravel routes and controllers
  • Eloquent models and relationships
  • Version-controlled database migrations
  • Server-side form validation
  • CSRF protection
  • Mass-assignment protection
  • Image upload handling
  • Pagination and eager loading
  • Blade layouts and reusable components
  • Docker-ready MySQL setup
05

What I learned

  • Laravel authentication conventions
  • Eloquent relationships and queries
  • CRUD architecture
  • Form validation and error handling
  • Database migrations and schema design
  • File upload handling
  • Blade component architecture
Back to all projects