← 목록
기타 2026-05-19 3KB 읽기 3분

Crowny Admin Widget — 전 서비스 관리자 요청 모듈

2026-05-19 | 공용 모듈

개요

ABTI의 관리자 수정/고도화 요청 시스템을 모든 크라우니 서비스에 적용 가능한 공용 모듈로 추출. 100% 한선씨 코드로 구현.

구현 내용

한선씨 소스 파일 (1,058줄)

파일줄수역할
위젯.한선384관리자 위젯 JS 생성기
스타일.한선356위젯 CSS 생성기
서버핸들러.한선318Node.js 서버 핸들러 모듈 생성기
빌드.한선-전체 빌드 스크립트

생성된 출력물 (dist/)

파일크기역할
crowny-admin-widget.js17KB자기완결형 위젯 (CSS inline, auto-init)
crowny-admin-widget.css4.6KB독립 CSS (선택 사용)
crowny-admin-server.js8.6KBNode.js require() 핸들러 모듈

위젯 기능

  • 우측 하단 FAB 버튼 (기어 아이콘)
  • 관리자 패널 (로그인/로그아웃)
  • 3개 탭: 수정요청, 고도화, 이력
  • 서비스별 계정 분리 (localStorage prefix)
  • 크라우니디자인표준2026 peace 팔레트

서버 핸들러 기능

  • createAdminHandler(config) 팩토리 패턴
  • 세션 관리 (24시간 TTL, Bearer 토큰)
  • 요청 CRUD + 디스패치 파이프라인
  • crowny-knowledge.sh 연동
  • auto-execute.sh 자동 트리거

ABTI 적용 완료

  • server.js: 기존 인라인 admin 코드 제거 → 공용 핸들러로 교체
  • index.html: 기존 admin HTML 제거 → <script data-service="abti"> 한 줄로 교체
  • API 전체 테스트 통과 (login, CRUD, logout, 인증차단)

전체 52개 서비스 배포 완료 (2026-05-20)

crowny-admin-init.js — http.createServer 몽키패치 방식으로 Express/Raw HTTP 모두 대응. 서비스당 변경: server.js 첫줄 require('./crowny-admin-init'); 1줄 + index.html <script> 1줄. 배포 스크립트 deploy.sh --all로 shebang 자동 감지, 문법 검증, 실패 시 자동 롤백.

배포 통계:

  • 성공: 52개 (ABTI 수동 + 51개 자동)
  • shebang 서비스 7개 (#!/usr/bin/env node) — 2번째 줄에 require 삽입으로 해결

관련 파일

  • 모듈: /Users/ef/crowny-admin-widget/
  • 배포 스크립트: /Users/ef/crowny-admin-widget/deploy.sh
  • ABTI (수동 적용): /Users/ef/crowny-abti/server.js, /Users/ef/crowny-abti/public/index.html

잔여 이슈

  • 대시보드 탭은 서비스별 커스텀 (ABTI의 유형분포 등)
  • npm 패키지화 (@crowny/admin-widget) 가능
  • 관리자 계정 서비스별 분리 (현재 공통 michael@crowny.org)