PHPackages                             saaksin/laravel-administrator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. saaksin/laravel-administrator

ActiveLibrary[Admin Panels](/categories/admin)

saaksin/laravel-administrator
=============================

데이터베이스 기반 라라벨 관리자 페이지

10.5.0(3w ago)195[1 PRs](https://github.com/SaAkSin/Laravel-Administrator/pulls)MITPHPPHP &gt;=8.1

Since Aug 30Pushed 2w ago1 watchersCompare

[ Source](https://github.com/SaAkSin/Laravel-Administrator)[ Packagist](https://packagist.org/packages/saaksin/laravel-administrator)[ Docs](https://github.com/SaAkSin/Laravel-Administrator)[ RSS](/packages/saaksin-laravel-administrator/feed)WikiDiscussions main Synced 2w ago

READMEChangelog (9)Dependencies (5)Versions (60)Used By (0)

Laravel Administrator
=====================

[](#laravel-administrator)

기존 FrozenNode의 `Laravel-Administrator` 패키지가 더 이상 업데이트되지 않아, 이를 바탕으로 현대적인 라라벨(Laravel 10.x) 및 최신 프론트엔드 아키텍처 환경에 최적화하여 개발 및 업그레이드하고 있는 관리자 페이지 빌더 패키지입니다.

Administrator를 사용하면 Eloquent 모델과 관계(Relations)를 선언적으로 관리할 수 있으며, 독립적인 사이트 설정 페이지나 대시보드 커스텀 작업을 손쉽게 구축할 수 있습니다.

- **Author:** 이기석 (GiSeok Lee)
- **Website:**
- **Version:** `10.6.0`

[![Build Status](https://camo.githubusercontent.com/9a634a4d020d8f402a173ff37a3bf624d55dac949ff4562cd873466ce175e9f1/68747470733a2f2f7472617669732d63692e6f72672f46726f7a656e4e6f64652f4c61726176656c2d41646d696e6973747261746f722e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/FrozenNode/Laravel-Administrator)

[![](https://camo.githubusercontent.com/63554e704f4003662007fde6cff3179b8c93bbf271fa10823b5fc84dffaf144d/68747470733a2f2f7261772e6769746875622e636f6d2f5361416b53696e2f4c61726176656c2d41646d696e6973747261746f722f6d61737465722f6578616d706c65732f696d616765732f6f766572766965772e6a7067)](https://camo.githubusercontent.com/63554e704f4003662007fde6cff3179b8c93bbf271fa10823b5fc84dffaf144d/68747470733a2f2f7261772e6769746875622e636f6d2f5361416b53696e2f4c61726176656c2d41646d696e6973747261746f722f6d61737465722f6578616d706c65732f696d616765732f6f766572766965772e6a7067)

---

🚀 1. 주요 현대화 및 개선 사항 (10.5.0)
----------------------------

[](#-1-주요-현대화-및-개선-사항-1050)

레거시 의존성을 탈피하고 프론트엔드 및 빌드 환경을 대대적으로 현대화했습니다.

### 🎨 프론트엔드 아키텍처 전면 개편 (Vite + Alpine.js v3 + Tailwind CSS)

[](#-프론트엔드-아키텍처-전면-개편-vite--alpinejs-v3--tailwind-css)

- **의존성 간소화**: 구시대의 `Knockout.js` 및 `jQuery` 환경을 완전히 제거하고, 가볍고 빠른 **Alpine.js v3**와 유연한 **Tailwind CSS**, 현대적 에셋 번들러인 **Vite** 체계로 마이그레이션했습니다.
- **성능 극대화**: 초기 에셋 로딩 크기를 60% 이상 절감하였고, 렌더링 성능과 INP(Interaction to Next Paint) 속도를 2배 이상 향상시켰습니다.
- **프리미엄 &amp; 반응형 UI/UX**: 모바일부터 와이드 모니터까지 가로 스크롤 없이 부드럽게 대응하는 완전 반응형 CSS Grid/Flexbox 레이아웃을 제공합니다. 세련된 HSL 기반의 Slate/Indigo 컬러 팔레트와 부드러운 Glassmorphism 효과, 그리고 미려한 다크 모드(Dark Mode)를 기본 제공합니다.

### 📦 서드파티 라이브러리 경량화 및 에디터 이원화

[](#-서드파티-라이브러리-경량화-및-에디터-이원화)

- **Combobox**: 무거운 `Select2` 대신 Alpine.js 기반의 경량 커스텀 Combobox 컴포넌트를 사용하여 관계형 데이터 자동완성 검색을 제공합니다.
- **업로더**: 기존 `Plupload` 대신 HTML5 기본 API를 활용한 바닐라 멀티 업로더를 탑재했습니다.
- **에디터**: 기존 WYSIWYG 에디터를 최신 **Quill**(`wysiwyg2`) 및 **Marked**(마크다운 파서) 라이브러리로 대체하고, 기존의 클래식한 **CKEditor 4**(`wysiwyg`, Full 스펙) 역시 로컬 번들로 함께 제공하여 목적에 맞게 두 에디터 중 선택해서 적용할 수 있는 유연한 환경을 제공합니다.

---

📋 2. 시스템 요구사항
-------------

[](#-2-시스템-요구사항)

- **PHP:** `^8.1` 이상
- **Laravel Framework:** `10.x`

---

🛠️ 3. 설치 방법 (Composer)
----------------------

[](#️-3-설치-방법-composer)

라라벨 10 에서 composer 를 사용하여 쉽게 설치할 수 있습니다.

```
composer require "saaksin/laravel-administrator:10.6.*"
```

설치 후, `config/app.php` 의 `providers` 배열에 서비스 프로바이더를 등록합니다.

```
'providers' => [
    ...
    SaAkSin\Administrator\AdministratorServiceProvider::class
]
```

이 후, `php artisan vendor:publish --tag=laravel-administrator` 을 실행합니다. `config/administrator.php` [설정파일](https://github.com/SaAkSin/Laravel-Administrator/blob/dev-10/docs/configuration.md)이 추가 되고, public 디렉토리에 관련 에셋(CKEditor 4 에셋 포함), 뷰, 언어 파일 등이 복사됩니다.

Important

설정 파일들은 config 디렉토리 하위가 아닌, **프로젝트 루트 디렉토리**의 `administrator/`, `administrator/settings/`에 위치합니다.

---

### ⚙️ 4. 설정 파일 구성 (Configuration)

[](#️-4-설정-파일-구성-configuration)

### 📄 설정파일 정의

[](#-설정파일-정의)

라라벨의 설정 캐싱(`php artisan config:cache`) 기능을 오류 없이 100% 안전하게 사용하고 글로벌 함수 선언 충돌을 완벽히 차단하기 위해, **순수 PHP 배열 반환 구조**(`return [ ... ];`)를 사용해 주십시오. (레거시 하위 호환을 위해 파일명과 일치하는 글로벌 함수 래핑 방식 `function users() { ... }`도 지원하지만 권장하지 않습니다.)

```
// administrator/users.php (권장 방식)
return array(
    'title' => '사용자 관리',
    'single' => '사용자',
    'model' => App\Models\User::class,

        // 데이터 목록에 노출할 컬럼 정의
        'columns' => array(
            'id' => array(
                'title' => 'ID',
            ),
            'name' => array(
                'title' => '이름',
            ),
            'email' => array(
                'title' => '이메일',
            ),
        ),

        // 데이터 필터링 조건 정의
        'filters' => array(
            'name' => array(
                'title' => '이름 검색',
                'type'  => 'text',
            ),
        ),

        // 등록 및 수정 폼 필드 구성
        'edit_fields' => array(
            'name' => array(
                'title' => '이름',
                'type'  => 'text',
            ),
            'email' => array(
                'title' => '이메일',
                'type'  => 'text',
            ),
            'password' => array(
                'title' => '비밀번호',
                'type'  => 'password',
            ),
        ),
    );
}
```

### 🎨 사용자 정의 js 파일 지정

[](#-사용자-정의-js-파일-지정)

`config/administrator.php` 에 `custom_js` 항목을 추가하여 커스텀 스크립트를 로드할 수 있습니다.

```
'custom_js' => array(
    'custom' => asset('js/custom.js'),
)
```

---

✨ 5. 제공되는 확장 및 부가 기능
--------------------

[](#-5-제공되는-확장-및-부가-기능)

### 🔐 HTTPS 환경 연동

[](#-https-환경-연동)

`app/Providers/AppServiceProvider.php` 에서 라우트의 경로가 https 가 되도록 지정합니다.

```
use Illuminate\Routing\UrlGenerator;

public function boot(UrlGenerator $url)
{
    if (app()->environment('production')) {
        $url->forceScheme('https');
    }
}
```

asset url 에 https 주소를 사용하도록 `.env` 에 `ASSET_URL` 을 지정합니다.

```
ASSET_URL=https://도메인주소
```

### 🔍 MySQL FULL TEXT 검색 지원

[](#-mysql-full-text-검색-지원)

filter 에서 MySQL 의 full text 검색을 지원합니다. (대용량 테이블 검색에 유리합니다.)

```
'filters' => array(
    'no' => array(
        'title' => 'Number',
        'type' => 'fulltext_mysql'
    ),
),
```

### ⚡ TEXT 빠른 검색 (Quick Search Filter)

[](#-text-빠른-검색-quick-search-filter)

filter 에서 시작 단어 검색 및 포커스 아웃 이벤트 시 즉시 검색을 시작하는 유용한 필터 타입입니다.

```
'filters' => array(
    'no' => array(
        'title' => 'Name',
        'type' => 'text_quick'
    ),
),
```

### 🔄 페이지 리로드 (Reload Page)

[](#-페이지-리로드-reload-page)

액션을 성공적으로 실행한 후, 현재 페이지를 리로드하는 기능을 제공합니다.

```
'action' => array(
    'reload' => true
),
```

### 💾 VIEW 모델 지원 (실험 중)

[](#-view-모델-지원-실험-중)

모델 설정에서 view 모델 여부를 설정할 수 있습니다. (아직은 실험적인 기능이며, 조회 시 데이터베이스 로드를 최적화하여 약간의 성능 개선을 기대할 수 있습니다. MySQL InnoDB 환경 권장)

```
'view' => true
```

---

🚫 6. 레거시 프레임워크 지원 중단 안내
-----------------------

[](#-6-레거시-프레임워크-지원-중단-안내)

### Laravel 4

[](#laravel-4)

더 이상 지원하지 않습니다.

### Laravel 3

[](#laravel-3)

더 이상 지원하지 않습니다.

---

🛠️ 7. 에셋 개발 및 빌드 (Developer Guide)
----------------------------------

[](#️-7-에셋-개발-및-빌드-developer-guide)

패키지의 프론트엔드 소스코드(`resources/js`, `resources/css` 등)를 직접 수정하여 기여하거나 커스터마이징하고 싶다면 패키지 루트 디렉토리에서 다음 NPM 명령어를 활용해 주세요.

```
# 의존성 설치
npm install

# Vite 개발 서버 실행 (핫 리로드 지원)
npm run dev

# 배포용 최적화 에셋 빌드 (public/dist 디렉토리에 빌드됨)
npm run build
```

---

📖 8. Documentation
------------------

[](#-8-documentation)

Administrator에 대한 원본 전체 문서는 에서 확인할 수 있습니다. 또한, 이 패키지의 루트 디렉토리에 있는 docs/ 디렉토리에서도 한국어 설명 문서를 포함한 상세 가이드를 찾아보실 수 있습니다.

---

📄 9. Copyright and License
--------------------------

[](#-9-copyright-and-license)

Administrator was written by Jan Hartigan of Frozen Node for the Laravel framework.
It is currently developed, modernized, and maintained by GiSeok Lee (SaAkSin).
Administrator is released under the MIT License. See the LICENSE file for details.

---

📝 10. Recent Changelog
----------------------

[](#-10-recent-changelog)

### 10.6.0

[](#1060)

- **하위 디렉토리 배포(Subfolder Deployment) 공식 지원**
    - Vite 에셋 빌드 base 경로 설정을 상대 경로(`./`)로 개선하여 호스트 프로젝트가 도메인 하위 경로에 배포되더라도 웹 폰트(Oxygen) 및 이미지 등의 에셋 404 로드 실패 버그 해결
- **모바일 반응형 UI/UX 대대적 보완**
    - 모바일 해상도에서 상단 헤더 메뉴(#menu\_button)와 필터(#filter\_button)의 토글 상태 및 상호 배타성 제어 메커니즘을 완성하여 오작동 복원
    - 다단계 아코디언 메뉴 정상 개폐 지원 및 CSS 가중치 계산 조정을 통해 인라인 `!important` 완전 배제 실현
    - 모바일 뷰포트에서 데이터 테이블 열이 임의 탈락되는 로직을 제거하고 가로 스크롤 방식(`overflow-x: auto`)으로 100% 데이터 유지
    - 모바일 상세 폼(`item_edit`) 가로 너비 확장을 위해 좌측 패딩 조정 (`27px` -&gt; `8px`)
- **관계형 콤보박스(Select) 반응성 및 키보드 네비게이션 개선**
    - 검색 목록 탐색을 위한 키보드 방향키(`ArrowUp`/`ArrowDown`) 및 선택(`Enter`) 키 기능 지원
    - 선택값이 플레이스홀더 상태일 때 단일 선택 삭제 버튼(`×` 아이콘)이 오작동하여 지속적으로 노출되던 Alpine.js 조건 정합성 수정
- **설정 파일 캐싱(config:cache) 런타임 오류 방지 리팩토링**
    - 설정 로드 단계에서의 클로저/글로벌 헬퍼 함수 의존성을 완전 배제하고 순수 PHP 배열 반환 및 도메인 모델 내 정적 메소드로의 캡슐화 완료

### 10.5.2

[](#1052)

- **이미지 미리보기 렌더링 기준 변경**
    - 이미지(`type => 'image'`) 필드의 썸네일/미리보기 표시 시 세로 기준(`max-height: 100px`)이 아닌 가로 기준(`max-width: 100px; height: auto`)으로 렌더링하도록 변경
    - 반응형 모바일 미디어 쿼리 내 이미지 max-height 제한을 제거하여 가로 비율을 우선하도록 스타일 교정

### 10.5.1

[](#1051)

- **WYSIWYG 에디터 이원화 탑재 및 UI 정밀 개선**
    - 기존 `type => 'wysiwyg'`에 무료 CKEditor 4 복원 (Full 스펙 툴바 및 로컬 번들 제공)
    - `type => 'wysiwyg2'`로 Quill 에디터 분리 탑재하여 유연한 에디터 구성 지원
    - 에셋 배포를 위한 전용 태그 `laravel-administrator` 추가 (`php artisan vendor:publish --tag=laravel-administrator`)
    - 관계형 Combobox UI 정교화 (가로 너비 일치, 초기화 버튼 입체 버튼 오염 수정 및 수직 구분선 제거)
    - 이미지 업로드 필드 UI 개선 (Upload Image 버튼에 사진 SVG 아이콘 탑재 및 vertical-align 정렬 일치)
    - 이미지 삭제 버튼 UI 개선 (휴지통 SVG 아이콘 적용, 이미지 배치 영역의 최우측 상단에 콤팩트한 사각 라운드 형태로 절대 배치 고정, 내부 아이콘 정중앙 정렬)

### 10.5.0

[](#1050)

- **프론트엔드 아키텍처 현대화 (Vite + Alpine.js + Tailwind CSS) 전면 개편**
- 기존 레거시 `Knockout.js` 및 `jQuery` 기반 코드 완전 제거
- `Select2` ➡️ Alpine Combobox, `Plupload` ➡️ HTML5 바닐라 멀티 업로더 교체
- `Quill` 및 `Marked` 마크다운 컴포넌트 연동 지원

### 10.0.0

[](#1000)

- 라라벨 10.0.0 지원

### 5.8.1

[](#581)

- Added: View 모델 지원(alpha), MySQL InnoDB desc 정렬 속도 이슈 대응

### 5.8.0

[](#580)

- 라라벨 5.8.0 지원
- Added: FULL TEXT 검색(MySQL), https 지원

### 5.1.0

[](#510)

- 모델 파일내 세션 사용가능

###  Health Score

56

—

FairBetter than 97% of packages

Maintenance96

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity81

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 79.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~86 days

Recently: every ~563 days

Total

56

Last Release

21d ago

Major Versions

v4.16.5 → v5.0.02015-02-27

v4.16.6 → v5.0.22015-08-18

v4.16.7 → v5.0.32015-08-18

v4.17 → v5.8.02019-08-30

v5.8.4 → 10.0.02024-08-08

PHP version history (4 changes)v4.0.0PHP &gt;=5.3.0

v5.0.0PHP &gt;=5.4.0

v5.8.0PHP &gt;=7.1.3

10.0.0PHP &gt;=8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2267653?v=4)[SaAkSin](/maintainers/SaAkSin)[@SaAkSin](https://github.com/SaAkSin)

---

Top Contributors

[![janhartigan](https://avatars.githubusercontent.com/u/580052?v=4)](https://github.com/janhartigan "janhartigan (733 commits)")[![SaAkSin](https://avatars.githubusercontent.com/u/2267653?v=4)](https://github.com/SaAkSin "SaAkSin (78 commits)")[![StephenAntalis](https://avatars.githubusercontent.com/u/5741976?v=4)](https://github.com/StephenAntalis "StephenAntalis (16 commits)")[![andrewdworn](https://avatars.githubusercontent.com/u/3316025?v=4)](https://github.com/andrewdworn "andrewdworn (14 commits)")[![evgeny-golubev](https://avatars.githubusercontent.com/u/2686126?v=4)](https://github.com/evgeny-golubev "evgeny-golubev (9 commits)")[![judgej](https://avatars.githubusercontent.com/u/395934?v=4)](https://github.com/judgej "judgej (8 commits)")[![yusuf](https://avatars.githubusercontent.com/u/90121?v=4)](https://github.com/yusuf "yusuf (6 commits)")[![Morgon](https://avatars.githubusercontent.com/u/879077?v=4)](https://github.com/Morgon "Morgon (6 commits)")[![teethgrinder](https://avatars.githubusercontent.com/u/713918?v=4)](https://github.com/teethgrinder "teethgrinder (5 commits)")[![jijoel](https://avatars.githubusercontent.com/u/3487641?v=4)](https://github.com/jijoel "jijoel (4 commits)")[![weiserwebdev](https://avatars.githubusercontent.com/u/5560614?v=4)](https://github.com/weiserwebdev "weiserwebdev (4 commits)")[![spescina](https://avatars.githubusercontent.com/u/1956604?v=4)](https://github.com/spescina "spescina (4 commits)")[![happyDemon](https://avatars.githubusercontent.com/u/38573?v=4)](https://github.com/happyDemon "happyDemon (4 commits)")[![digidworks](https://avatars.githubusercontent.com/u/8074702?v=4)](https://github.com/digidworks "digidworks (3 commits)")[![crynobone](https://avatars.githubusercontent.com/u/172966?v=4)](https://github.com/crynobone "crynobone (3 commits)")[![martxel](https://avatars.githubusercontent.com/u/741187?v=4)](https://github.com/martxel "martxel (3 commits)")[![lokielse](https://avatars.githubusercontent.com/u/1573211?v=4)](https://github.com/lokielse "lokielse (2 commits)")[![Gwill](https://avatars.githubusercontent.com/u/692980?v=4)](https://github.com/Gwill "Gwill (2 commits)")[![javichito](https://avatars.githubusercontent.com/u/186259?v=4)](https://github.com/javichito "javichito (2 commits)")[![neilcrookes](https://avatars.githubusercontent.com/u/24232?v=4)](https://github.com/neilcrookes "neilcrookes (2 commits)")

---

Tags

laraveladminadministratorlaravel Administrator

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/saaksin-laravel-administrator/health.svg)

```
[![Health](https://phpackages.com/badges/saaksin-laravel-administrator/health.svg)](https://phpackages.com/packages/saaksin-laravel-administrator)
```

###  Alternatives

[jeroennoten/laravel-adminlte

Easy AdminLTE integration with Laravel

4.0k5.0M44](/packages/jeroennoten-laravel-adminlte)[exodusanto/administrator

A database interface package for Laravel (Legacy of Frozennode Laravel-Administrator)

3910.6k](/packages/exodusanto-administrator)[printnow/laravel-admin

Dcat admin 永久分叉版 / 支持 Laravel 10-13, PHP 版本限制 &gt;= 8.1（支持 PHP 8.5）

452.4k](/packages/printnow-laravel-admin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
