Skip to content

siubie/kaido-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

πŸš€ Kaido Kit FilamentPhp Starter Code

A powerful and opinionated FilamentPHP starter kit designed to accelerate your admin panel development. Kaido Kit provides a robust foundation with pre-configured plugins, configuration and best practices for building feature-rich admin interfaces.

GitHub stars GitHub forks GitHub issues License PHP Version Laravel Version Filament Version

Introduction Video

Build FilamentPhp Apps 10x Faster | Kaido-Kit Starter Kit (Complete Demo)

✨ Features

πŸ› οΈ Developer Experience

  • ⚑ Quick CRUD generation with customized FilamentPHP stubs
    • Optimized UX out of the box
    • No need to modify generated resources
  • πŸ”„ Auto reload on save for rapid development
  • πŸ“š Easy API documentation using Scramble
  • πŸ“€ Built-in Export and Import examples in Filament resources

πŸ” Authentication & Authorization

  • πŸ›‘οΈ Role-Based Access Control (RBAC) using Filament Shield
  • πŸ”‘ Enhanced login page with custom design
  • 🌐 Social login with Google via Filament Socialite
  • πŸ‘€ User profile management with Filament Breezy
  • πŸ”’ Instant 2-Factor Authentication capabilities
  • πŸ‘₯ Simple user-to-role assignment
  • 🎭 User impersonation via Filament Impersonate

πŸ“‘ API & Integration

  • πŸš€ Full API support with Filament API Service
    • Seamlessly integrated with Shield
    • Ready-to-use API endpoints
  • πŸ“¨ Email integration using Resend
  • πŸ“ Auto-generated API documentation

πŸ“ Media & Content Management

βš™οΈ Configuration & Settings

πŸš€ Quick Start

  1. Create new project using composer

    composer create-project siubie/kaido-kit
  2. Composer install

    composer install
  3. Npm Install

    npm install
  4. Copy .env

    cp .env.example .env
  5. Configure your database in .env

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=kaido_kit
    DB_USERNAME=root
    DB_PASSWORD=
  6. Configure your google sign in cliend id and secret (optional)

    #google auth
    GOOGLE_CLIENT_ID=
    GOOGLE_CLIENT_SECRET=
    GOOGLE_REDIRECT_URI=http://localhost:8000/admin/oauth/callback/google
  7. Configure your resend for email sending (optional)

    #resend
    MAIL_MAILER=resend
    MAIL_HOST=127.0.0.1
    MAIL_PORT=2525
    MAIL_USERNAME=null
    MAIL_PASSWORD=null
    MAIL_ENCRYPTION=null
    RESEND_API_KEY=
    MAIL_FROM_ADDRESS="admin@domain.com"
    MAIL_FROM_NAME="${APP_NAME}"
  8. Migrate your database

    php artisan migrate --seed
  9. Serve the Application

    composer run dev
    
  10. If run successfully you will get this login interface

    image.png

  11. When signed in it will show this (not much yet but it getting there :) )

    image.png

  12. Next step is to setup the RBAC, first generate the role and permission

    php artisan shield:generate --all
  13. It will ask which panel do you want to generate permission/policies for choose the admin panel.

  14. Setup the super admin using this command

    php artisan shield:super-admin

    image.png

  15. Choose your super admin user and login again.

    image.png

Running on Docker with Laravel Sail

  1. Clone the repository
git clone https://github.com/siubie/kaido-kit.git
  1. Copy .env.example to .env
cp .env.example .env
  1. Install dependencies
composer install
  1. Install Laravel Sail
composer require laravel/sail --dev
php artisan sail:install
  1. Run Sail
./vendor/bin/sail up -d
  1. Generate App Key
./vendor/bin/sail artisan key:generate
  1. Run migration
./vendor/bin/sail artisan migrate --seed
  1. Next step is to setup the RBAC, first generate the role and permission
./vendor/bin/sail artisan shield:generate --all
  1. Setup the super admin using this command
./vendor/bin/sail artisan shield:super-admin
  1. Serve the Application
./vendor/bin/sail composer run dev

Security

Set your app Debug to false in .env file

APP_NAME="Kaido-Kit"
APP_ENV=local
APP_KEY=base64:gWUd7RPrCZm6iu7qFddY3039BQLroNHJ0nqKcBr8eeA=
APP_DEBUG=false
APP_TIMEZONE=UTC
APP_URL=https://localhost:8000

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ™ Acknowledgments

πŸ’¬ Support

⭐ Show your support

For Indonesian community you can get support and the recording course for how to create this kit here : https://www.dosenngoding.com/courses/8

Give a ⭐️ if this project helped you!

Star History

Star History Chart