binjuhor/shadcn-lar

Made an shadcn/ui admin for Laravel with 🤍

57 stars19 forksUpdated Jan 22, 2026
npx skills add binjuhor/shadcn-lar

README

Laravel Shadcn Admin Dashboard

A modern, responsive, and accessible admin dashboard built with Shadcn UI, Laravel, and Vite. This project combines the elegance of Shadcn's UI components with the robustness of Laravel's backend framework, providing a seamless development experience.

alt text

This project is inspired by Shadcn-admin and adapted to work seamlessly with Laravel and Inertia.js.

Features

  • Light/dark mode
  • Responsive
  • Accessible
  • With built-in Sidebar component
  • Global Search Command
  • 10+ pages
  • Extra custom components

Tech Stack

UI: ShadcnUI (TailwindCSS + RadixUI)

Backend: Laravel 12.x

Frontend Integration: InertiaJs

Build Tool: Vite

Type Checking: TypeScript

Linting/Formatting: Eslint & Prettier

Icons: Tabler Icons

Run Locally

  1. Clone the project
  git clone git@github.com:binjuhor/shadcn-lar.git
  1. Go to the project directory
  cd shadcn-lar
  1. Install dependencies
  • Install JavaScript dependencies:
  pnpm install
  • Install PHP dependencies:
  composer install
  • Data migration
  php artisan migrate
  1. Start the dev Frotnedend and Backend server
  • Start the Vite development server:
  pnpm run dev
  • Start the Laravel development server:
  php artisan serve
  1. Open your browser and visit http://localhost:8000 to view the dashboard.

CI/CD Guide

This project includes automated CI/CD workflows using GitHub Actions. The workflows are located in the .github/workflows/ directory and provide continuous integration and deployment capabilities.

Available Workflows

1. Tests Workflow (test.yml)

Automatically runs on every push to the main branch and performs:

  • PHP Setup: Uses PHP 8.2 with required extensions
  • Environment Setup: Copies .env.example to .env and generates application key
  • Dependencies: Installs Composer dependencies
  • Frontend Build: Installs Node.js dependencies and builds production assets
  • Database Setup: Creates SQLite database for testing
  • Test Execution: Runs PHPUnit/Pest tests (unit and feature tests)

2. Deploy Workflow (deploy.yml)

Automatically deploys to production server on successful pushes to main branch:

  • Code Deployment: Uses rsync to sync code to production server
  • Frontend Build: Builds production assets before deployment
  • Dependencies: Installs/updates Composer dependencies via Docker
  • Database Migration: Runs Laravel migrations
  • Cache Management: Clears and optimizes application cache
  • Docker Integration: Restarts Docker containers for updated services

Required Secrets

For the deployment workflow to work, configure these GitHub repository secrets:

  • PRIVATE_KEY - SSH private key for server access
  • SSH_HOST - Production server hostname/IP
  • SSH_USER - SSH username for server access
  • WORK_DIR - Application directory path on server
  • DOCKER_DIR - Docker compose directory path on server

Note: Ensure your server is set up to allow SSH access using the provided private key. Public key should be added to the server's ~/.ssh/authorized_keys. Folder permissions should allow the SSH user to read/write as needed..ssh folder should have 700 permissions and authorized_keys file should have 600 permissions.

Local Development Workflow

  1. Before Committing:

    # Run tests locally
    php artisan test
    
    # Build frontend assets
    pnpm run build
    
    # Check code formatting
    pnpm run lint
    
  2. Push to Main:

    • Tests workflow runs automatically
    • If tests pass and on main branch, deployment begins
    • Monitor workflow progress in GitHub Actions tab

Workflow Customization

To modify the CI/CD behavior:

  • Test Configuration: Edit .github/workflows/test.yml
  • Deployment Steps: Edit .github/workflows/deploy.yml
  • Add Quality Checks: Consider adding code style checks, static analysis, or security scans

Modular Architecture

This project uses nwidart/laravel-modules for a modular monorepo architecture. Each module is self-contained with its own controllers, models, migrations, and React frontend.

Available Modules

ModuleDescription
FinancePersonal finance tracking (accounts, transactions, budgets)
InvoiceInvoice management
PermissionRoles and permissions management
SettingsApplication settings
BlogBlog posts and categories
EcommerceProducts, orders, and categories
NotificationUser notifications

Module Commands

Create

...

Read full README

Publisher

binjuhorbinjuhor

Statistics

Stars57
Forks19
Open Issues0
CreatedJan 6, 2025