Co-Pilot
Updated 24 days ago

shadcn-lar

Bbinjuhor
0.1k
binjuhor/shadcn-lar
82
Agent Score

πŸ’‘ Summary

A modern admin dashboard built with Shadcn UI and Laravel, featuring modular architecture and CI/CD workflows.

🎯 Target Audience

Web developers looking for a robust admin dashboard solution.Project managers needing a customizable interface for data management.Startups wanting a quick setup for their web applications.Freelancers needing a flexible tool for client projects.Teams looking for integrated CI/CD capabilities.

πŸ€– AI Roast: β€œPowerful, but the setup might scare off the impatient.”

Security AnalysisMedium Risk

Risk: Medium. Review: shell/CLI command execution; outbound network access (SSRF, data egress); filesystem read/write scope and path traversal. Run with least privilege and audit before enabling in production.

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

| Module | Description | |--------|-------------| | Finance | Personal finance tracking (accounts, transactions, budgets) | | Invoice | Invoice management | | Permission | Roles and permissions management | | Settings | Application settings | | Blog | Blog posts and categories | | Ecommerce | Products, orders, and categories | | Notification | User notifications |

Module Commands

Create a New Module

# Basic module scaffolding php artisan module:scaffold ModuleName # With CRUD scaffolding (model, migration, policy, controller, pages) php artisan module:scaffold ModuleName --with-crud # Specify entity name for CRUD php artisan module:scaffold Inventory --with-crud --entity=Product # Preview without creating files php artisan module:scaffold ModuleName --dry-run

Generate a Standalone Site from Modules

Extract selected modules into a completely new Laravel project:

# Create a finance-only site php artisan site:generate FinanceApp --modules=Finance --output=~/Projects # Create a multi-module site php artisan site:generate AdminPanel --modules=Finance,Settings,Permission --output=~/Projects # Preview what would be created php artisan site:generate TestApp --modules=Finance --dry-run

The site:generate command:

  • Copies base Laravel+React project structure
  • Includes only selected modules
  • Updates all configuration files (composer.json, tsconfig.json, vite.config.js)
  • Removes unused module references
  • Shows next steps after generation

Enable/Disable Modules

# Enable a module php artisan module:enable ModuleName # Disable a module php artisan module:disable ModuleName # List all modules php artisan module:list

Module Structure

Modules/
└── ModuleName/
    β”œβ”€β”€ app/
    β”‚   β”œβ”€β”€ Http/Controllers/
    β”‚   β”œβ”€β”€ Models/
    β”‚   β”œβ”€β”€ Policies/
    β”‚   └── Providers/
    β”œβ”€β”€ config/
    β”œβ”€β”€ database/
    β”‚   β”œβ”€β”€ migrations/
    β”‚   └── seeders/
    β”œβ”€β”€ resources/
    β”‚   └── js/
    β”‚       β”œβ”€β”€ pages/
    β”‚       └── types/
    β”œβ”€β”€ routes/
    β”‚   β”œβ”€β”€ api.php
    β”‚   └── web.php
    └── module.json

Roadmap

Here are some of the planned features for future updates:

  • User Permissions & Roles: Manage user roles and permissions with a flexible and intuitive system.

  • Profile Manager: Allow users to update their profiles, including personal information and security settings.

  • Post & Page Manager: Create and manage dynamic posts and pages with a rich text editor.

  • Theme & Plugin Manager: Easily install and manage themes and plugins to extend functionality.

  • File & Media Manager: A powerful file and media manager for handling uploads and organizing assets.

Author

This project was crafted with 🀍 by @binjuhor

License

This project is open-source and licensed under the MIT License. Feel free to use, modify, and distribute it as needed.

5-Dim Analysis
Clarity8/10
Novelty7/10
Utility9/10
Completeness9/10
Maintainability8/10
Pros & Cons

Pros

  • Modern and responsive design.
  • Modular architecture for easy customization.
  • Built-in CI/CD workflows for automation.
  • Supports both frontend and backend development.

Cons

  • Requires knowledge of Laravel and Inertia.js.
  • Setup may be complex for beginners.
  • Dependency on multiple technologies.
  • Limited documentation on advanced features.

Related Skills

pytorch

S
toolCode Lib
92/ 100

β€œIt's the Swiss Army knife of deep learning, but good luck figuring out which of the 47 installation methods is the one that won't break your system.”

agno

S
toolCode Lib
90/ 100

β€œIt promises to be the Kubernetes for agents, but let's see if developers have the patience to learn yet another orchestration layer.”

nuxt-skills

S
toolCo-Pilot
90/ 100

β€œIt's essentially a well-organized cheat sheet that turns your AI assistant into a Nuxt framework parrot.”

Disclaimer: This content is sourced from GitHub open source projects for display and rating purposes only.

Copyright belongs to the original author binjuhor.