JinyPHP Admin κ΄λ¦¬μ ν¨ν€μ§μ
λλ€.
Laravel κΈ°λ°μ κ°λ ₯ν κ΄λ¦¬μ λ°±μλ μμ€ν
μ μ 곡νλ ν¨ν€μ§λ‘, 보μ, μΈμ¦, κΆν κ΄λ¦¬ λ± μν°νλΌμ΄μ¦κΈ κ΄λ¦¬ κΈ°λ₯μ ν¬ν¨ν©λλ€.
- 2FA (Two-Factor Authentication) - Google Authenticator μ§μ
- IP νμ΄νΈλ¦¬μ€νΈ - νΉμ IPλ§ κ΄λ¦¬μ μ κ·Ό νμ©
- CAPTCHA ν΅ν© - reCAPTCHA, hCAPTCHA μ§μ
- μΈμ κ΄λ¦¬ - λμ λ‘κ·ΈμΈ μ ν, μΈμ μΆμ
- λΉλ°λ²νΈ μ μ± - μ£ΌκΈ°μ λ³κ²½, 볡μ‘λ κ²μ¦
- λ‘κ·ΈμΈ μλ μ ν - λ¬΄μ°¨λ³ κ³΅κ²© λ°©μ§
- κ³μΈ΅μ κΆν κ΄λ¦¬ - κ΄λ¦¬μ νμ λ³ κΆν μ€μ
- μ¬μ©μ νλ λ‘κ·Έ - λͺ¨λ κ΄λ¦¬μ νλ μΆμ
- νλ‘ν κ΄λ¦¬ - μλ°ν, κ°μΈμ 보 μ€μ
- λλ μ¬μ©μ κ΄λ¦¬ - CLI λͺ λ Ήμ΄ μ§μ
- μ΄λ©μΌ ν νλ¦Ώ - 컀μ€ν°λ§μ΄μ§ κ°λ₯ν ν νλ¦Ώ
- SMS ν΅ν© - λ€μ€ SMS μ 곡μ μ§μ
- Webhook - Slack, Discord λ± μΈλΆ μλΉμ€ μ°λ
- μ€μκ° μλ¦Ό - λΈλΌμ°μ μλ¦Ό μ§μ
- Artisan λͺ λ Ήμ΄ - κ΄λ¦¬μ CRUD μλ μμ±
- Livewire μ»΄ν¬λνΈ - λ°μν UI μ»΄ν¬λνΈ
- RESTful API - API μλν¬μΈνΈ μ 곡
- λ€κ΅μ΄ μ§μ - i18n μ§μ
vendor/jiny/admin/
βββ src/
β βββ Console/ # Artisan λͺ
λ Ήμ΄
β βββ Http/
β β βββ Controllers/ # 컨νΈλ‘€λ¬
β β βββ Middleware/ # λ―Έλ€μ¨μ΄
β β βββ Livewire/ # Livewire μ»΄ν¬λνΈ
β β βββ Trait/ # HTTP νΈλ μ΄νΈ
β βββ Models/ # Eloquent λͺ¨λΈ
β βββ Services/ # λΉμ¦λμ€ λ‘μ§
β β βββ Captcha/ # CAPTCHA μλΉμ€
β β βββ Email/ # μ΄λ©μΌ μλΉμ€
β β βββ Notification/ # μλ¦Ό μλΉμ€
β β βββ Security/ # 보μ μλΉμ€
β β βββ SMS/ # SMS μλΉμ€
β βββ Traits/ # μ¬μ¬μ© κ°λ₯ν νΈλ μ΄νΈ
β βββ JinyAdminServiceProvider.php
βββ config/ # μ€μ νμΌ
βββ database/
β βββ migrations/ # λ§μ΄κ·Έλ μ΄μ
β βββ seeders/ # μλ
β βββ factories/ # ν©ν 리
βββ resources/
β βββ views/ # Blade ν
νλ¦Ώ
βββ routes/ # λΌμ°νΈ μ μ
βββ stubs/ # μ½λ μμ± ν
νλ¦Ώ
βββ tests/ # ν
μ€νΈ νμΌ
- PHP 8.2+
- Laravel 12.x
- MySQL/PostgreSQL/SQLite
- Composer 2.x
- Composerλ₯Ό ν΅ν ν¨ν€μ§ μ€μΉ:
composer require jiny/admin- λ°μ΄ν°λ² μ΄μ€ λ§μ΄κ·Έλ μ΄μ μ€ν:
php artisan migrate- μ€μ νμΌ λ°ν (μ νμ¬ν):
php artisan vendor:publish --provider="Jiny\Admin\JinyAdminServiceProvider"- μ΄κΈ° κ΄λ¦¬μ μμ±:
php artisan admin:user-create# 2FA μ€μ
ADMIN_2FA_ENABLED=true
ADMIN_2FA_ISSUER="Your App Name"
# CAPTCHA μ€μ
ADMIN_CAPTCHA_DRIVER=recaptcha
RECAPTCHA_SITE_KEY=your-site-key
RECAPTCHA_SECRET_KEY=your-secret-key
# IP νμ΄νΈλ¦¬μ€νΈ
ADMIN_IP_WHITELIST_ENABLED=true
# μΈμ
μ€μ
ADMIN_SESSION_LIFETIME=120
ADMIN_CONCURRENT_SESSIONS=1
# λΉλ°λ²νΈ μ μ±
ADMIN_PASSWORD_EXPIRY_DAYS=90
ADMIN_PASSWORD_MIN_LENGTH=8/admin- κ΄λ¦¬μ λμ보λ/admin/login- κ΄λ¦¬μ λ‘κ·ΈμΈ/admin/users- μ¬μ©μ κ΄λ¦¬/admin/settings- μμ€ν μ€μ
# κ΄λ¦¬μ CRUD μμ±
php artisan admin:make ResourceName
# μ¬μ©μ κ΄λ¦¬
php artisan admin:user-create
php artisan admin:user-delete
php artisan admin:users --list
# 보μ κ΄λ¦¬
php artisan admin:ip-unblock
php artisan admin:unblock-password
php artisan admin:captcha-logs
# μ μ§λ³΄μ
php artisan admin:ip-cleanup
php artisan admin:sync-usertype-count// routes/web.php
Route::middleware(['admin', 'ip.whitelist', 'captcha'])->group(function () {
Route::get('/admin/dashboard', [DashboardController::class, 'index']);
});{{-- κ΄λ¦¬μ ν
μ΄λΈ --}}
@livewire('jiny-admin::admin-table', ['model' => 'User'])
{{-- κ΄λ¦¬μ νΌ --}}
@livewire('jiny-admin::admin-create', ['model' => 'User'])
@livewire('jiny-admin::admin-edit', ['model' => 'User', 'id' => $id])use Jiny\Admin\Services\Security\TwoFactorService;
$twoFactor = new TwoFactorService();
$qrCode = $twoFactor->generateQRCode($user);
$verified = $twoFactor->verify($user, $code);use Jiny\Admin\Services\Captcha\CaptchaManager;
$captcha = app(CaptchaManager::class);
$verified = $captcha->verify($request->get('g-recaptcha-response'));use Jiny\Admin\Models\AdminIpWhitelist;
AdminIpWhitelist::create([
'ip_address' => '192.168.1.1',
'description' => 'Office IP',
'is_active' => true
]);# μ 체 ν
μ€νΈ μ€ν
php artisan test
# νΉμ ν
μ€νΈ μ€ν
php artisan test --filter=AdminTestμ΄ ν¨ν€μ§λ MIT λΌμ΄μΌμ€ νμ λ°°ν¬λ©λλ€.
λ²κ·Έ 리ν¬νΈ, κΈ°λ₯ μ μ, ν 리νμ€νΈλ μΈμ λ νμν©λλ€!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- μ΄μ: GitHub Issues
- λ¬Έμ: 곡μ λ¬Έμ
- μ΄λ©μΌ: support@jinyphy.com
- GraphQL API μ§μ
- λ€ν¬ λͺ¨λ μ§μ
- μ€μκ° λμ보λ
- AI κΈ°λ° λ³΄μ κ°μ§
- λ©ν° ν λμ μ§μ
Jiny Admin - Enterprise-grade Admin Panel for Laravel Made with β€οΈ by JinyPHP Team