Personal Blog
A complete personal blog platform built with Laravel, featuring authentication, article management, image uploads, category filtering, and a reusable Blade-based interface.
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.
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.
Feature walk-through
Authentication
Registration, login, logout, password hashing, session management, email verification and CSRF protection are implemented through Laravel authentication features.
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
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
Article forms validate user input before saving it to the database. Models also use mass-assignment protection through explicit fillable attributes.
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
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