Building My Personal Blog with Laravel
A behind-the-scenes look at how I built this blog from scratch using Laravel 12, Tailwind CSS, and modern web technologies. Learn about the features I implemented including 2FA, Google OAuth, rich text editing with Tiptap, newsletter functionality, and more.
Building My Personal Blog with Laravel
Over the past few weeks, I've been working on building my own personal blog from scratch using Laravel, and I wanted to share the journey with you. This post covers the key features I implemented and the technologies I used to bring this project to life.
Technology Stack
I built this blog using a modern web development stack that balances power with simplicity:
- Laravel 12 - The robust PHP framework powering the backend
- Tailwind CSS - For rapid, responsive styling with dark mode support
- Alpine.js - Lightweight JavaScript for interactive components
- Tiptap Editor - A Notion-like rich text editor for content creation
- MySQL - Database for storing posts, comments, and user data
- Brevo API - For transactional emails and newsletter functionality
Core Features
User Authentication & Security
Security was a top priority from day one. I implemented several authentication features:
- Email/Password Authentication - Traditional login with secure password hashing
- Google OAuth - One-click sign-in with Google accounts
- Two-Factor Authentication (2FA) - Email-based OTP verification for enhanced security
- Role-Based Access Control - Using Spatie Permissions to manage admin and user roles
Conclusion
Building this blog from scratch was an incredible learning experience. It reinforced my understanding of Laravel's ecosystem, modern JavaScript, and full-stack development practices.
If you're thinking about building your own blog, I highly recommend it. You'll learn more by building something real than by following tutorials alone.
Comments (0)
Leave a comment
No comments yet. Be the first to comment!
Related Posts
How Laravel Changed PHP Development
Laravel started in 2011 because Taylor Otwell was frustrated with CodeIgniter. He wanted better auth...