DEV Community

Heap Tech
Heap Tech

Posted on

I built a production-ready Laravel 12 + Vue 3 admin dashboard — here's what I learned

After months of building admin panels from scratch for every project,
I decided to build a proper starter template. Here's what I ended up with
and the key decisions I made along the way.

What is HeapAdmin?

HeapAdmin is a full-stack admin dashboard template built with:

  • Backend: Laravel 12, PHP 8.2, Laravel Sanctum, RESTful API
  • Frontend: Vue 3, Vite, CoreUI, Axios, Vue Router
  • Database: SQLite / MySQL / PostgreSQL (your choice)

Live demo: https://heapadmin-login.vercel.app

Why Laravel 12?

Most templates I found were still on Laravel 9 or 10. Laravel 12 brings
cleaner service providers, better performance, and I wanted something
up to date that wouldn't need a major upgrade in 6 months.

Why decouple frontend and backend?

I chose a fully decoupled architecture — Laravel as pure API, Vue as
pure frontend — instead of Inertia.js or Blade+Vue hybrid. This means:

  • You can swap the frontend framework without touching the backend
  • Mobile app later? Just consume the same API
  • Frontend and backend can be deployed independently

The tradeoff: more setup initially, CORS configuration, token management.
Worth it for anything beyond a simple CRUD app.

What's included

  • Complete user management (CRUD + pagination)
  • Analytics dashboard with charts
  • Role-based authentication with Laravel Sanctum
  • Responsive design across all devices
  • Professional documentation

The architecture

Frontend (Vue 3 + Vite) Backend (Laravel 12)
↓ ↓
Vue Router RESTful API
CoreUI components Laravel Sanctum
Axios HTTP client →→→ Eloquent ORM
Pinia state MySQL/PostgreSQL

GitHub repos

The full template is available on Gumroad if you want the complete
production-ready version with documentation and 6 months of updates.

Feedback welcome — especially on the API structure and Vue component
organization. What would you do differently?

Top comments (0)