{"id":19280055,"url":"https://github.com/jinyphp/admin","last_synced_at":"2026-03-01T19:33:47.654Z","repository":{"id":221313074,"uuid":"754033621","full_name":"jinyphp/admin","owner":"jinyphp","description":"last","archived":false,"fork":false,"pushed_at":"2025-11-21T16:35:29.000Z","size":1239,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-21T18:22:05.701Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jinyphp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security/README.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-07T09:15:07.000Z","updated_at":"2025-11-21T16:35:32.000Z","dependencies_parsed_at":"2025-01-05T16:27:43.719Z","dependency_job_id":"9cfde723-dd27-4302-b2a0-456eb7881779","html_url":"https://github.com/jinyphp/admin","commit_stats":{"total_commits":6,"total_committers":1,"mean_commits":6.0,"dds":0.0,"last_synced_commit":"cf75310744a5cb5ca2d23706adbb782e0ecd66eb"},"previous_names":["jinyphp/admin"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/jinyphp/admin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jinyphp%2Fadmin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jinyphp%2Fadmin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jinyphp%2Fadmin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jinyphp%2Fadmin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jinyphp","download_url":"https://codeload.github.com/jinyphp/admin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jinyphp%2Fadmin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29981448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T16:35:47.903Z","status":"ssl_error","status_checked_at":"2026-03-01T16:35:44.899Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T21:16:43.666Z","updated_at":"2026-03-01T19:33:47.647Z","avatar_url":"https://github.com/jinyphp.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jiny Admin Package\n\nJinyPHP `Admin` 관리자 패키지입니다.\nLaravel 기반의 강력한 관리자 백엔드 시스템을 제공하는 패키지로, 보안, 인증, 권한 관리 등 엔터프라이즈급 관리 기능을 포함합니다.\n\n## 📋 주요 기능\n\n### 🔐 보안 기능\n- **2FA (Two-Factor Authentication)** - Google Authenticator 지원\n- **IP 화이트리스트** - 특정 IP만 관리자 접근 허용\n- **CAPTCHA 통합** - reCAPTCHA, hCAPTCHA 지원\n- **세션 관리** - 동시 로그인 제한, 세션 추적\n- **비밀번호 정책** - 주기적 변경, 복잡도 검증\n- **로그인 시도 제한** - 무차별 공격 방지\n\n### 👥 사용자 관리\n- **계층적 권한 관리** - 관리자 타입별 권한 설정\n- **사용자 활동 로그** - 모든 관리자 활동 추적\n- **프로필 관리** - 아바타, 개인정보 설정\n- **대량 사용자 관리** - CLI 명령어 지원\n\n### 📧 알림 시스템\n- **이메일 템플릿** - 커스터마이징 가능한 템플릿\n- **SMS 통합** - 다중 SMS 제공자 지원\n- **Webhook** - Slack, Discord 등 외부 서비스 연동\n- **실시간 알림** - 브라우저 알림 지원\n\n### 🛠 개발 도구\n- **Artisan 명령어** - 관리자 CRUD 자동 생성\n- **Livewire 컴포넌트** - 반응형 UI 컴포넌트\n- **RESTful API** - API 엔드포인트 제공\n- **다국어 지원** - i18n 지원\n\n## 📁 디렉토리 구조\n\n```\nvendor/jiny/admin/\n├── src/\n│   ├── Console/          # Artisan 명령어\n│   ├── Http/\n│   │   ├── Controllers/  # 컨트롤러\n│   │   ├── Middleware/   # 미들웨어\n│   │   ├── Livewire/     # Livewire 컴포넌트\n│   │   └── Trait/        # HTTP 트레이트\n│   ├── Models/           # Eloquent 모델\n│   ├── Services/         # 비즈니스 로직\n│   │   ├── Captcha/      # CAPTCHA 서비스\n│   │   ├── Email/        # 이메일 서비스\n│   │   ├── Notification/ # 알림 서비스\n│   │   ├── Security/     # 보안 서비스\n│   │   └── SMS/          # SMS 서비스\n│   ├── Traits/           # 재사용 가능한 트레이트\n│   └── JinyAdminServiceProvider.php\n├── config/               # 설정 파일\n├── database/\n│   ├── migrations/       # 마이그레이션\n│   ├── seeders/          # 시더\n│   └── factories/        # 팩토리\n├── resources/\n│   └── views/           # Blade 템플릿\n├── routes/              # 라우트 정의\n├── stubs/               # 코드 생성 템플릿\n└── tests/               # 테스트 파일\n```\n\n## 🚀 설치\n\n### 요구사항\n- PHP 8.2+\n- Laravel 12.x\n- MySQL/PostgreSQL/SQLite\n- Composer 2.x\n\n### 설치 방법\n\n1. Composer를 통한 패키지 설치:\n```bash\ncomposer require jiny/admin\n```\n\n2. 데이터베이스 마이그레이션 실행:\n```bash\nphp artisan migrate\n```\n\n3. 설정 파일 발행 (선택사항):\n```bash\nphp artisan vendor:publish --provider=\"Jiny\\Admin\\JinyAdminServiceProvider\"\n```\n\n4. 초기 관리자 생성:\n```bash\nphp artisan admin:user-create\n```\n\n## ⚙️ 설정\n\n### 환경 변수 (.env)\n\n```env\n# 2FA 설정\nADMIN_2FA_ENABLED=true\nADMIN_2FA_ISSUER=\"Your App Name\"\n\n# CAPTCHA 설정\nADMIN_CAPTCHA_DRIVER=recaptcha\nRECAPTCHA_SITE_KEY=your-site-key\nRECAPTCHA_SECRET_KEY=your-secret-key\n\n# IP 화이트리스트\nADMIN_IP_WHITELIST_ENABLED=true\n\n# 세션 설정\nADMIN_SESSION_LIFETIME=120\nADMIN_CONCURRENT_SESSIONS=1\n\n# 비밀번호 정책\nADMIN_PASSWORD_EXPIRY_DAYS=90\nADMIN_PASSWORD_MIN_LENGTH=8\n```\n\n## 📚 사용법\n\n### 기본 라우트\n- `/admin` - 관리자 대시보드\n- `/admin/login` - 관리자 로그인\n- `/admin/users` - 사용자 관리\n- `/admin/settings` - 시스템 설정\n\n### Artisan 명령어\n\n```bash\n# 관리자 CRUD 생성\nphp artisan admin:make ResourceName\n\n# 사용자 관리\nphp artisan admin:user-create\nphp artisan admin:user-delete\nphp artisan admin:users --list\n\n# 보안 관리\nphp artisan admin:ip-unblock\nphp artisan admin:unblock-password\nphp artisan admin:captcha-logs\n\n# 유지보수\nphp artisan admin:ip-cleanup\nphp artisan admin:sync-usertype-count\n```\n\n### 미들웨어 사용\n\n```php\n// routes/web.php\nRoute::middleware(['admin', 'ip.whitelist', 'captcha'])-\u003egroup(function () {\n    Route::get('/admin/dashboard', [DashboardController::class, 'index']);\n});\n```\n\n### Livewire 컴포넌트\n\n```blade\n{{-- 관리자 테이블 --}}\n@livewire('jiny-admin::admin-table', ['model' =\u003e 'User'])\n\n{{-- 관리자 폼 --}}\n@livewire('jiny-admin::admin-create', ['model' =\u003e 'User'])\n@livewire('jiny-admin::admin-edit', ['model' =\u003e 'User', 'id' =\u003e $id])\n```\n\n## 🔒 보안 기능 상세\n\n### 2FA 구현\n```php\nuse Jiny\\Admin\\Services\\Security\\TwoFactorService;\n\n$twoFactor = new TwoFactorService();\n$qrCode = $twoFactor-\u003egenerateQRCode($user);\n$verified = $twoFactor-\u003everify($user, $code);\n```\n\n### CAPTCHA 통합\n```php\nuse Jiny\\Admin\\Services\\Captcha\\CaptchaManager;\n\n$captcha = app(CaptchaManager::class);\n$verified = $captcha-\u003everify($request-\u003eget('g-recaptcha-response'));\n```\n\n### IP 화이트리스트\n```php\nuse Jiny\\Admin\\Models\\AdminIpWhitelist;\n\nAdminIpWhitelist::create([\n    'ip_address' =\u003e '192.168.1.1',\n    'description' =\u003e 'Office IP',\n    'is_active' =\u003e true\n]);\n```\n\n## 🧪 테스트\n\n```bash\n# 전체 테스트 실행\nphp artisan test\n\n# 특정 테스트 실행\nphp artisan test --filter=AdminTest\n```\n\n## 📄 라이센스\n\n이 패키지는 MIT 라이센스 하에 배포됩니다.\n\n## 🤝 기여하기\n\n버그 리포트, 기능 제안, 풀 리퀘스트는 언제나 환영합니다!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## 📞 지원\n\n- 이슈: [GitHub Issues](https://github.com/jinyphp/admin/issues)\n- 문서: [공식 문서](https://jinyphp.com/docs/admin)\n- 이메일: support@jinyphy.com\n\n## 🎯 로드맵\n\n- [ ] GraphQL API 지원\n- [ ] 다크 모드 지원\n- [ ] 실시간 대시보드\n- [ ] AI 기반 보안 감지\n- [ ] 멀티 테넌시 지원\n\n---\n\n**Jiny Admin** - Enterprise-grade Admin Panel for Laravel\nMade with ❤️ by JinyPHP Team","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjinyphp%2Fadmin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjinyphp%2Fadmin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjinyphp%2Fadmin/lists"}