As a beginner learning Laravel, I’ve spent the last few weeks diving into how this PHP framework works — not just how to write code, but how the entire structure is designed.
This blog post is a summary of my progress so far, what I’ve learned, and why I’ve decided to use Filament next before moving into more frontend-focused topics like Blade templates and Tailwind CSS.
🚀 What I’ve Learned So Far in Laravel
Laravel is full of tools that make web development easier once you understand the basics. Here’s a breakdown of what I’ve covered:
📁 Laravel File Structure
- I now understand the roles of
app/,routes/,database/, andresources/folders. - I can locate my models, controllers, migrations, seeders, and views easily.
💻 Artisan Commands
I’ve learned how to use Artisan, Laravel’s command-line tool, to generate various components. For example:
php artisan make:model Customer -mcr
This command does 3 things at once:
- Creates a model named
Customer - Generates a migration file for the
customerstable - Builds a controller to handle logic
🗃️ Working with Migrations, Seeders, and Factories
- I created a
customerstable with fields likename,email, andphoneusing migrations. - I generated fake data using factories and inserted them with seeders:
Customer::factory()->count(10)->create();
- I used the Tinker console and database tools to confirm the data was being saved.
🌐 Setting up Routes and Views
- I created routes in
web.phpto list customers and view details of a single customer. - For example:
Route::get('/customers', [CustomerController::class, 'index']);
Route::get('/customers/{id}', [CustomerController::class, 'show']);
- I displayed this data using Blade templates and passed it from the controller.
So far, I’ve created a basic working web app with fake customer data. 🎉
🔍 So, What’s Next?
Many tutorials now jump into advanced topics like:
- Middleware
- Authentication (login/logout)
- Blade components
- Tailwind CSS for frontend styling
But I paused here and thought:
What if I already have data — for example, a complete product or customer list in a CSV file — and I just want to load it into a table, search it, filter it, and even show some charts?
💡 Why I’m Choosing Filament
Filament is a Laravel-based admin panel that helps you build dashboards, CRUD systems, and visual interfaces — all powered by your Laravel backend.
Instead of writing lots of Blade templates and styling everything manually with Tailwind CSS, Filament lets me focus on data first.
✅ Real-World Example
Let’s say I have a customers.csv file like this:
csvCopyEditname,email,phone
Alice Johnson,alice@example.com,1234567890
Bob Smith,bob@example.com,0987654321
With Filament, I can:
- Upload and import this file into the database
- Automatically see the data in a paginated, sortable, and searchable table
- Filter records by column (e.g. filter customers by email domain)
- View or edit individual customer records
- Even create dashboard widgets to show stats like:
- Total customers
- New entries this month
- Graphs using chart widgets
⚖️ Pros and Cons of Using Filament at This Stage
✅ Pros
| Benefit | Description |
|---|---|
| 🔧 Quick Setup | Get a functional admin panel in minutes |
| 📋 Built-in Tables | Tables include pagination, search, filter, sort |
| 📈 Dashboard Ready | Add widgets and charts without extra libraries |
| 🔐 Auth Support | Comes with login/logout functionality |
| 🧩 Extensible | Can customize components when needed |
| ⚡ Fast Prototyping | Good for MVPs or internal tools |
❌ Cons
| Limitation | Description |
|---|---|
| 🎨 Less Design Freedom | UI is opinionated unless you customize deeply |
| 🧠 New Learning Curve | You need to understand how Filament structures pages, resources, and tables |
| 📚 Less Focus on Blade | If you’re learning frontend in Laravel, this might delay Blade/Tailwind practice |
🧭 My Plan Moving Forward
Here’s the path I’m planning to take:
- Use Filament to build a data dashboard
- Import data from CSV into a database table (e.g. customers, products)
- Display it using Filament tables and resources
- Add simple charts using Filament widgets
- Use this project as a learning playground
- Understand real-world admin panel requirements
- Practice data handling, relationships, and user authentication
- Then return to Blade and Tailwind
- Once I see how Laravel handles a full working UI via Filament, I’ll go back and start building custom Blade views manually
- I’ll try to recreate some parts of the Filament interface using Tailwind CSS and Blade to understand the frontend better
🎯 Conclusion
Laravel is powerful — but sometimes you don’t need to build everything from scratch, especially when you’re still learning.
That’s why I’m choosing to explore Filament next. It gives me a working admin interface quickly, helps me visualize data, and lets me focus on how Laravel works behind the scenes. Once I’m confident with that, I’ll dig deeper into building custom UIs using Blade and Tailwind CSS.
If you’re learning Laravel and have real data to work with — try Filament. It’s like Laravel + Admin Panel superpowers.
