(중단)그누보드5 리팩토링
**비개발자 출신 지운아빠가 개인적으로 진행하는 사이드 프로젝트입니다.**#### 프로젝트 개요 (Project Overview)이 프로젝트는 그누보드5(G5) 및 영카트 기반 시스템의 리팩토링 프로젝트입니다.기존 **레거시 구조에 익숙한 개발자들이 AI를 이용해 개발할 때 겪는 병목 현상 및 이로 인한 토큰 소모 해소**를 제일
1. 프로젝트 개요
이 프로젝트는 비개발자 출신 지운아빠가 개인적으로 진행하는 사이드 프로젝트입니다.
출발점은 그누보드5(G5) 및 영카트 기반 시스템을 AI가 다루기 쉬운 방향으로 정리해 보자는 문제의식이었습니다. 다만 현재 진행 방식은 전체 기능을 고르게 현대화하는 접근보다, 실제 운영에 필요한 범위를 먼저 줄이고 그 안에서 구조와 UI를 다듬는 방식으로 바뀌었습니다.
현재 저장소는 회원 전용 운영에 필요한 최소 범위만 남기도록 기존 G5 기반 코드를 정리한 결과물에 가깝습니다. 핵심 목표는 다음 두 가지입니다.
- 운영 범위를 계정, 인증, 관리자 회원 관리 중심으로 단순화
- 사람이 직접 유지보수하고 AI 에이전트와 함께 다루기 쉬운 구조로 공용 라이브러리와 관리자 화면을 정리
2. 정리 방향
현재 기준의 1단계는 "회원 운영 중심 경량화"입니다. 이 단계에서는 기능을 넓히기보다 유지 범위를 좁히고, 남겨진 화면과 공용 코드를 정리해 작업 단위를 단순하게 만드는 데 초점을 두고 있습니다.
- 회원, 인증, 관리자 회원 관리에 직접 관련된 흐름만 유지
- 게시판, 쇼핑몰, 소셜, SMS, 기타 부가 관리 도구처럼 현재 운영 범위에서 벗어난 영역은 제거 또는 축소
- 공용 진입점과 공용 라이브러리를 다시 나누어 문맥 탐색 비용을 낮춤
- 관리자 화면의 마크업, 스타일, 스크립트 규칙을 정리해 화면별 편차를 줄임
- 제거 대상 기능에 딸려 있던 런타임, 설치, 문서, 정적 자산 의존성을 함께 축소
- 레거시 프론트엔드 의존성을 줄여 수정 범위를 예측하기 쉬운 상태로 정리
3. 주요 변경
1단계에서 실제로 진행한 주요 변경은 다음과 같습니다.
lib/common.lib.php계열 기능을 용도별 파일로 분리- 회원/인증 중심 URL 흐름 정리 및 호환 레이어 최소화
- 관리자 설정/회원 관리 화면 리팩토링 및 UI 규칙 통일
- Tailwind CSS v4 기반 공용 스타일 체계 도입 및 관리자 화면 정비
- jQuery 런타임 의존 제거 및 관련 보조 스크립트 정리
- 제거 대상 기능의 설치 스키마, 보조 자산, 문서, 정적 파일 축소
- 업스트림 동기화 범위를 회원/인증/관리자 보안 패치 중심으로 재정의
4. 개발 환경 및 크레딧
- 기획 및 리서치 (Planning Environment): Gemini Deep Research
- 개발 환경 (Development Environment): Visual Studio Code, Codex (Windows)
- 사용 모델 (AI Models Used):
- Gemini 3 Pro
- Codex 5.4
5. 향후 계획
향후 계획은 아직 확정하지 않았습니다.
현재로서는 AI 전용 주석 전략을 본격 도입하는 방향보다, 사용자 화면에서 바로 사용할 수 있는 기본 디자인 제공 쪽에 무게를 둘 가능성이 있습니다. 다만 이 부분은 아직 구체적인 범위와 방식이 정해지지 않았으며, 실제 진행 방향은 이후 정리 기준과 운영 목적에 따라 달라질 수 있습니다.
6. 제약 사항
- 아키텍처 현대화의 범위 제한 (Scope Limitation on Modernization): 본 프로젝트는 코드 분리 및 정리에 집중하며, Composer 기반의 오토로딩(Autoloading) 도입과 같은 근본적인 PHP 레거시 구조의 현대화는 수행하지 않습니다.
- 개발 주체 및 면책 조항 (Project Leadership & Disclaimer): 본 프로젝트는 기획자 및 디자이너 직군 출신인 지운아빠가 주도하여 진행되므로, 전문 엔지니어링 관점의 코드 정합성(Consistency)이나 기술적 유효성(Validity)을 보장하지 않습니다.
- 면책 (Indemnification): 본 프로젝트의 결과물을 사용하여 발생하는 데이터 손실, 서비스 중단, 보안 사고 등 어떠한 형태의 직·간접적 피해에 대해서도 제작자(및 제작자의 소속사)는 법적 책임을 지지 않습니다. 사용자는 실제 서비스 적용 전 반드시 충분한 테스트와 검증 과정을 거쳐야 합니다.
- 라이선스 정책 (License Policy): 본 프로젝트는 그누보드5(Gnuboard 5)를 기반으로 한 리팩토링 결과물로서, 원본 소프트웨어의 라이선스 정책을 그대로 따릅니다.
수정 이력 (6)
1. 기능 범위 축소: - 게시판, 쇼핑몰, SMS, 소셜, 각종 보조 관리자 도구가 대거 제거됐습니다. - bbs/, shop/, theme/basic/, 다수의 adm/shop_admin/, adm/sms_admin/ 관련 코드가 정리됐습니다. 2. 레이아웃/스킨 구조 변경: - 테마 중심 구조에서 루트/회원 스킨 중심 구조로 이동했습니다. - 예: skin/member/basic, head.sub.php, tail.php - theme/basic/는 사실상 제거됐고 회원 스킨이 skin/member/로 재배치됐습니다. 3. 관리자 UI 전면 개편: - 관리자 헤더, 사이드바, 설정 폼, 회원 폼, 회원 목록이 새 UI 방향으로 크게 바뀌었습니다. - 예: adm/admin.head.php, adm/config_form.php, adm/member_form.php, adm/member_list.php 4. 스타일 체계 변경: - Tailwind 4 기반 소스가 중심이 됐습니다. - 예: tailwind4/common.css, tailwind4/admin.css 5. 프론트엔드 런타임 현대화: - jQuery 의존성이 제거됐습니다. - 공개/관리자/회원/캡챠/인증 흐름이 바닐라 JS로 바뀌었고 jQuery 라이브러리 파일도 삭제됐습니다. - 예: js/common.js, adm/admin.js, plugin/kcaptcha/kcaptcha.js
1. 관리자 UI 레이아웃 전면 개선 - 사이드바/탑바 UX 고도화(접기/펼치기, 반응형 동작, 아이콘 체계 정리, 스크롤 UX 개선) - 관리자 메뉴 렌더링 구조 정리(레거시 클래스/스크립트 의존 축소, Tailwind/바닐라 기반 재작성) 2. 테마/코어 구조 변경 - 관리자/사용자 head.sub.php 의존성 분리 - 테마 사용 강제 방향으로 head/tail 경로 정리 - 중첩/불필요 래퍼(div) 정리 및 템플릿 단순화 3. UI-Kit 개선 - ui-sidebar 문서/데모 추가 및 네비게이션 연동 - UI-kit README 링크 경로 문제 수정 - 카드 외 컴포넌트까지 시맨틱 유틸리티 클래스 확장 - 모달/드롭다운/탭 등 스타일 및 동작 안정화 4. Tailwind 빌드 체계 개선 - common.css(공통)와 theme.css(사용자 화면) 분리 - ui-kit.css 별도 산출물 분리 - 빌드 스크립트 확장(build:root:uikit, build:theme:site) - 다크모드 버튼 대비 개선 포함 최종 반영 5. 사용자 영향/주의사항 - 테마 로딩 경로 및 head/tail 체계가 바뀌어 커스텀 테마/오버라이드가 있으면 점검 필요
1. 변경 사항 - 레거시 모바일 전용 설정(*_mobile_*) 전반 제거 및 반응형 단일 설정 체계로 통합 - 관리자 설정/폼/업데이트 로직에서 모바일 전용 필드 제거 - adm/config*, adm/board*, adm/qa_*, adm/menu_*, adm/faq* - adm/shop_admin/* 내 분류/상품/설정의 모바일 전용 입력/저장 항목 정리 - 게시판/문의/검색/페이지네이션에서 모바일 전용 키 분기 제거 - bbs/*에서 bo_mobile_*, cf_mobile_*, qa_mobile_* 참조 제거 - 테마 설정 정리 - [theme.config.php](https://file+.vscode-resource.vscode-cdn.net/c%3A/Users/SIR001/.vscode/extensions/openai.chatgpt-0.4.74-win32-x64/webview/#)의 모바일 전용 키 제거 - 포인트 스킨의 페이지네이션 공통 키로 통일 - 설치 스키마/초기화 정리 - [gnuboard5.sql](https://file+.vscode-resource.vscode-cdn.net/c%3A/Users/SIR001/.vscode/extensions/openai.chatgpt-0.4.74-win32-x64/webview/#)에서 모바일 관련 컬럼 정의 제거 - [install_db.php](https://file+.vscode-resource.vscode-cdn.net/c%3A/Users/SIR001/.vscode/extensions/openai.chatgpt-0.4.74-win32-x64/webview/#)의 모바일 로고/초기값 처리 제거 - [remove.sql](https://file+.vscode-resource.vscode-cdn.net/c%3A/Users/SIR001/.vscode/extensions/openai.chatgpt-0.4.74-win32-x64/webview/#)을 테이블 단위 ALTER 형식으로 축약 정리 2. 영향 - 모바일 전용 별도 설정값 없이 PC/모바일 공통 설정 사용 - 기존 DB에 남아있는 모바일 컬럼은 [remove.sql](https://file+.vscode-resource.vscode-cdn.net/c%3A/Users/SIR001/.vscode/extensions/openai.chatgpt-0.4.74-win32-x64/webview/#)로 정리 가능 3. 검증 - 변경 PHP 파일 php -l 문법 검사 통과
- 모달/드롭다운 동작 재구성 - 신규 스크립트 추가: ui-overlay.js, ui-dropdown.js - 드롭다운 가림 방지 자동 위치 보정(뷰포트 기준 재배치) - UI 가이드 다크모드 토글 추가: ui-theme.js + header.php, footer.php, sidebar.php, ui-guide.css - README/가이드 화면 가독성 및 이미지 반영 개선: index.php, ui-cards.php, WChwGxuZl7SE6RiHti5x.jpg - 탭 동작/접근성/활성 표시 보강: ui-tabs.js, ui-tabs.php, ui-guide.css - 버튼 그라데이션 전환 애니메이션 개선: ui-buttons.php - 공통 안정화: common.js의 jQuery 미로드 예외 대응
### 보안 패치 (원본 v5.6.24 반영) - [KVE-2026-0029] Stored XSS 취약점 수정 - [KVE-2025-0828] 영카트 취약점 수정 - 암호화 키 sha256 강화 및 발신자 위장 방지 ### 추가 - UPSTREAM_SYNC.md: 함수 매핑 테이블 및 동기화 가이드 - GitHub Actions: 매주 원본 업데이트 자동 확인 워크플로우
1. 모바일 스킨 시스템 완전 제거 (이슈 #2, #3) 2. 여분필드 시스템 제거 3. 반응형 단일 뷰 전환 (이슈 #3) 4. 카카오 우편번호 서비스 업데이트 5. src/ UI 가이드 개선 6. 레거시 코드 정리
댓글 (11)
이미지 좀 잠깐 업어가요. 테스트 사이트에 ....
네 ㅎㅎㅎ
이미지 넣어 놓으니 사이트가 확~ 사는듯. 이참에 1234/1234 로 테스트(예약) 좀 하시지. 차감 부분 ... 통합관리 부분 ... 달력 연동 부분 최종 점검중 입니다. 잘 되어야 할텐데.ㅠㅠ
이미지 넣어 놓으니 사이트가 확~ 사는듯. 이참에 1234/1234 로 테스트(예약) 좀 하시지. 차감 부분 ... 통합관리 부분 ... 달력 연동 부분 최종 점검중 입니다. 잘 되어야 할텐데.ㅠㅠ
최신 댓글
전체 보기 →좋은 말씀 감사합니다. (●'◡'●) 다만 저는 이미 현업에서는 내려온 상태라 교육이나 멤버십까지 운영할 계획은 없습니다. 지금처럼 개인적으로 관심 있는 것들을 만들어 보고, 정리한 내용이나 결과물을 필요하신 분들과 공유하는 정도가 제게는 소일거리입니다. G7을 처음 접하시는 분들이 조금이라도 쉽게 시작할 수 있도록, 제가 아는 범위에서 계속 자료를 남겨두는 것. 그 정도가 제가 생각하는 방향입니다. :)
차라리 유튜브 강의도 만들어서 맴버쉽 비용까지 받는건 어떨까요? 교육산업도 병행하셔야 개인 개발자들도 자기계발 할 수 있고, 냑도 수익이 생기고..
(●'◡'●)
한번 해보겠습니다
안녕하세요, (●'◡'●) 이 페이지 참고해 보실레요 https://hub.glitter.kr/g7-guide
파일저장은 s3 같은거랑 연동되면 좋겠네요