Files
slot/docs/06-feature-inventory.md
chpark 980d7d905d Add Next.js + PostgreSQL rewrite scaffold with 4-theme system
Stack
- Next.js 15 (App Router) + TypeScript + Drizzle ORM + postgres-js
- Node scrypt for password hashing; PBKDF2 verifier for legacy gnuboard5 hashes
- pnpm workspace monorepo: apps/web + packages/{db,auth,themes,...}

Themes (admin-selectable at /admin/themes)
- basic     : 그누보드 default reproduction (light, blue accent)
- eyoom     : eb4_maga_005 매거진 reproduction (dark, orange accent, ranking sidebar)
- amina     : Aminam Builder reproduction (light, violet gradient, card grid)
- youngcart : 영카트 shop reproduction (red accent, search bar, category nav)

DB
- New schema (12 tables) pushed to PG via drizzle-kit: members, sessions, boards,
  posts, point_ledger, app_settings, bacara_*, lottery_tickets, roulette_spins,
  game_points, board_groups
- Legacy data still readable from inspection2 schema via @slot/db/legacy

Verified end-to-end against the migrated DB on localhost:3000:
- Home renders with active theme tokens injected as CSS variables
- /free lists 442K real posts from inspection2.g5_write_free
- Login (testlogin/test1234) issues session cookie, header switches to
  "테스트님 환영합니다 / 로그아웃"
- Switching app_settings.theme.global from eyoom → amina swaps colors,
  layout, and Korean nav labels site-wide on next request

Migration docs added: 03-migration-plan, 04-theme-architecture,
05-local-dev-setup, 06-feature-inventory.
2026-04-27 18:51:32 +09:00

13 KiB

Feature Inventory — slot-ss.com (슬롯/카지노 커뮤니티 도메인)

이 문서는 신규 시스템 (Next.js + Node.js + PostgreSQL) 으로 옮겨야 할 모든 기능을 도메인별로 정리한다. 항목당 (1) 기존 위치, (2) DB 의존, (3) 신규 패키지 매핑.

1. 회원·인증

기능 기존 DB 신규 패키지
일반 회원가입 bbs/register*.php g5_member apps/web/auth/register
로그인 / 로그아웃 bbs/login.php, login_check.php, logout.php g5_member, g5_login packages/auth (NextAuth.js)
비밀번호 찾기 bbs/password_lost.php g5_member.mb_lost_certify apps/web/auth/recovery
메일 인증 (다양한 register*.php) g5_member.mb_email_certify packages/auth/email-verify
2FA OTP plugin/ask-otp/ (별도 외부 OTP 서버) packages/auth/totp
본인인증 — OK-Name plugin/okname/ g5_member_cert_history, g5_cert_history packages/auth/okname
본인인증 — KCP cert plugin/kcpcert/ 동상 packages/auth/kcp
본인인증 — iNICert plugin/inicert/ 동상 packages/auth/inicert
소셜 로그인 plugin/sns/ (Naver/Kakao/Facebook) g5_member_social_profiles NextAuth providers
회원 등급 (lv 1-12) g5_member.mb_level + g5_auth g5_auth packages/auth/permissions
차단/탈퇴 g5_member.mb_intercept_date, mb_leave_date 동상 동상
회원 검색/관리 adm/member_*.php g5_member apps/admin/members
레벨/랭크 시스템 bbs/*rank.php (12종) + lib/member.rank.lib.php g5_eyoom_member, 게임별 포인트 테이블 packages/games/ranking
출석체크 bbs/attendance.php, data/attendance.config.php g5_eyoom_attendance apps/web/attendance
회원 활동 로그 g5_eyoom_activity, writing_activity 동상 packages/shared/activity
회원 메모 (관리자 메모) g5_eyoom_mbmemo 동상 apps/admin/members/memo
옐로카드 (경고) g5_eyoom_yellowcard 동상 apps/admin/members/yellowcard

2. 게시판

기능 기존 DB 신규
게시판 목록 bbs/group.php, bbs/board.php?bo_table=X g5_group, g5_board apps/web/[boardSlug]
글 작성/수정/삭제 bbs/write.php, write_update.php, delete.php g5_write_<bo_table> apps/web/[boardSlug]/write + API
글 보기 bbs/board.php?bo_table=X&wr_id=N g5_write_<bo_table> + g5_board_file apps/web/[boardSlug]/[wrId]
댓글 bbs/write_comment_update.php g5_write_<bo_table> (is_comment) 동상
추천/비추천 bbs/good.php, bbs/bad.php g5_board_good API
첨부 파일 업로드 lib/board.lib.php g5_board_file packages/shared/upload (S3)
글 검색 bbs/search.php, lib/parsing.lib.php, lib/SphinxSearch.class.php sphinx index Meilisearch 또는 PG FTS
인기 검색어 bbs/popular*.php, lib/popular.lib.php g5_popular API + Redis
신규글 위젯 lib/latest.lib.php g5_board_new RSC + ISR
인기글 / 추천글 lib/eblatest.* g5_eyoom_* 동상
글 임시저장 bbs/autosave.php g5_autosave localStorage + 서버 백업
스크랩 bbs/scrap_popin.php g5_scrap 동상
1:1 문의 bbs/qa*.php g5_qa_config, g5_qa_content apps/web/help/qa
자주묻는질문 bbs/faq.php g5_faq, g5_faq_master apps/web/help/faq
메모(쪽지) bbs/memo*.php g5_memo apps/web/inbox
새창 알림 bbs/new.php g5_new_win apps/admin/popups
게시판 새글 표시 (자동 — g5_board_new) 동상 동상
멀티미디어 게시판 (webtoon, ai) board skin 변형 게시판 데이터 테마 슬롯 + <MediaGrid />

운영 게시판 36종

카테고리 게시판 슬러그
종합 / 자유 free, humor, notice, event, column, news
슬롯 후기/리뷰 review, slotreview, pick
슬롯 제조사 slotche, slotche2~12 (프라그마틱, 플레이엔고, 릴랙스게이밍, 하바네로, CQ9 등)
게임/이벤트 lottery_ticket(슬생복권), dividend(배당), gift_coupons/gift_exchanges(기프티콘)
검수/검증 mukti(먹튀사이트), fakesite(가품사이트), complaint(먹튀신고), inspection(검수), guarantee(보증)
AI / 19금 ai(AI 사진), webtoon(번역망가), rear(후방)
안내 guide, qa, reservation
가짜 (테스트?) fakes, fakeframe

3. 슬롯/카지노 게임

기능 기존 DB 신규
바카라 게임 plugin/bacara/, bbs/bacara.php bacara_betting packages/games/bacara + WebSocket
바카라 랭킹 bbs/bacararank.php 동상 apps/web/games/bacara/rank
룰렛 게임 roulette/index.php, plugin/roulette/ g5_eyoom_* packages/games/roulette
룰렛 어드민 adm/roulette/{roulettelist,form,rewardlist,chancelist}.php 동상 apps/admin/games/roulette
복권 (슬생복권) lottery/index.php, bok.php, lib/lottery.lib.php g5_write_lottery_ticket, lottery_history packages/games/lottery
복권 추첨 adm/roulette/lotterywinninglist.php 동상 BullMQ cron + 어드민
Swiun 슬롯 API plugin/swiunApi/ (trans_point, game, get_betlist, _config) swiun_betting, game_point packages/games/swiun
게임 포인트 (전반적) game_point (4.4M rows), g5_point (5.9M) point_ledger 통합
27개 게임별 랭크 자동 업데이트 plugin/cron/auto.{slot,bacara,marilyn,...}rankup.php (27개) g5_eyoom_member + 게임 포인트 packages/workers/jobs/rank.update.ts
가짜 게임 포인트 (개발용?) plugin/cron/fake_game_points.php 동상 dev-only 시드

4. 검수·블랙리스트 (커뮤니티 신뢰)

기능 기존 DB 신규
먹튀 사이트 등록/검색 bbs/inspection.php, inspection.list.update.php, inspection.update.php, bbs/cagumsa.php(가검사) blacklist_table (193K), blacklist_search, check_table apps/web/blacklist
블랙리스트 어드민 adm/eyoom_admin/core/board/blacklist_search.php 동상 apps/admin/blacklist
100up 블랙리스트 (구버전) db100up/ 동상 (legacy, 사용 안 함)
검수 로그 writing_activity, writing_activity_bak, writing_today 동상 inspection_logs

5. 포인트·환전

기능 기존 DB 신규
포인트 적립/사용 원장 lib/common.lib.php::insert_point() g5_point point_ledger
포인트 환전 신청 (회원 페이지) point_exchange, event_point_exchange apps/web/wallet/exchange
기프티콘 교환 bbs/giftcon*.php g5_write_gift_coupons, g5_write_gift_exchanges, officecon_products apps/web/wallet/gifticon
슬롯버프 (특별 보상) bbs/slotbuff*.php slotbuff, slotbuff-category apps/web/wallet/slotbuff
베팅 어드민 adm/betting_list.php, betting_list_update.php bacara_betting, swiun_betting, game_point apps/admin/betting

6. 영카트 쇼핑몰 (현재 데이터 거의 없음, 기능은 보존)

기능 기존 DB 신규
상품 등록/수정 adm/shop_admin/item_*.php g5_shop_item, g5_shop_item_option apps/admin/shop/items
카테고리 shop/list.php, adm/shop_admin/categoryform.php g5_shop_category apps/admin/shop/categories
브랜드 shop/brand.php (g5_shop_item.it_brand) 동상
장바구니 shop/cart.php g5_shop_cart apps/web/cart
주문/결제 shop/orderform*.php, shop/inicis/* g5_shop_order, g5_shop_order_data, g5_shop_inicis_log apps/web/checkout
결제 게이트웨이 — 이니시스 shop/inicis/, shop/kcp/ 동상 packages/shop/payments/inicis
결제 게이트웨이 — KCP shop/kcp/, plugin/kcpcert/ 동상 packages/shop/payments/kcp
결제 게이트웨이 — LG U+ plugin/lgxpay/ 동상 packages/shop/payments/lgxpay
쿠폰 g5_shop_coupon, g5_shop_coupon_zone, g5_shop_coupon_log 동상 apps/web/coupons
위시리스트 shop/wishlist.php g5_shop_wish 동상
상품 후기 shop/itemuse*.php g5_shop_item_use 동상
상품 Q&A shop/itemqa*.php g5_shop_item_qa 동상
재입고 SMS g5_shop_item_stocksms 동상 packages/shop/restock-notify

7. SMS / 메일 / 알림

기능 기존 DB 신규
SMS 발송 (Aligo) plugin/sms5/, data/aligo-sms.data sms5_* (book, book_group, config, form, form_group, history, write) packages/notify/sms
이메일 발송 plugin/PHPMailer/ g5_mail packages/notify/email (Resend/SES)
푸시 알림 plugin/notifier/, g5_plugin_notifier_hist 동상 packages/notify/push (Web Push)
Slack 알림 plugin/slack/ packages/notify/slack

8. 챗봇 (AI)

기능 기존 DB 신규
챗봇 대화 plugin/chatbot/api_proxy.php, view.php, script.js, style.css chatbot_conversations packages/chatbot (OpenAI/Anthropic)
챗봇 피드백 plugin/chatbot/feedback.php chatbot_feedback 동상
챗봇 로그 plugin/chatbot/log.php 동상 동상

9. SEO·마케팅

기능 기존 DB 신규
SEO 메타 (페이지/게시판별) data/eyoom.seocfg.php, theme/.../meta_config.php, theme/.../seo.map.php ask_seo, ask_seo_url packages/shared/seo + Next.js metadata API
robots.txt / sitemap robots.txt Next.js sitemap.ts
Naver Syndication plugin/syndi/ packages/notify/naver-syn
Google Indexing API google_indexing-api.php, silicon-cocoa-*.json API 라우트
OG 이미지 / Twitter 카드 head.html.php 인라인 Next.js Open Graph
도메인 이력 / 도메인체크 domainCheck.php, domainCheck2.php, ajax.domainCheck.php, DB DomainCheck (별도 DB, 거의 빈 상태) apps/web/tools/domain-check (옵션)

10. 관리자

기능 기존 DB 신규
관리자 대시보드 adm/index.php (요약쿼리) apps/admin/dashboard
회원 관리 adm/member_*.php g5_member apps/admin/members
게시판 관리 adm/boardgroup_*.php, board_*.php g5_board, g5_group apps/admin/boards
환경설정 adm/config_*.php g5_config apps/admin/settings
메뉴 관리 adm/menu_*.php g5_menu apps/admin/menu
권한 관리 adm/auth_*.php g5_auth apps/admin/permissions
점프 (관리자 전환) (이윰) g5_eyoom_manager apps/admin/managers
베팅/룰렛/복권 어드민 (위 §3) (위 §3) apps/admin/games/*
통계 (방문/회원/포인트) adm/visit_*.php g5_visit, g5_visit_sum, g5_login apps/admin/stats
테마 관리 (4종 선택) (없음 — 이윰 빌더 내부) (신규) app_settings apps/admin/themes

11. 기타 / 인프라

기능 기존 DB 신규
캐시 (Sphinx Search) lib/SphinxSearch.class.php, sphinx.conf sphinx index Meilisearch
캐시 (Redis) lib/RedisCache.class.php redis Redis (그대로)
캐시 (파일) lib/Cache/ data/cache/ Redis
훅 시스템 lib/Hook/ (run_event, run_replace) EventEmitter / Plugin pattern
reCAPTCHA plugin/recaptcha/, plugin/recaptcha_inv/ next-recaptcha-v3
자체 캡차 plugin/kcaptcha/ (필요 시)
디버그바 plugin/debugbar/ dev only — Next.js devtools
jQuery 차트 plugin/jqplot/ Recharts / Chart.js
HTML 정화 plugin/htmlpurifier/ DOMPurify (server side: sanitize-html)

12. 도메인 데이터 통계 (현재 운영)

항목
회원 수 3,064
관리자 수 4 (admin, admin2, admin3, admin4)
운영 게시판 수 36
총 게시글 수 (모든 g5_write_*) ~764K
자유게시판 글 / 댓글 90,591 / 351,685
후기게시판 글 / 댓글 8,399 / 112,462
먹튀사이트 글 / 댓글 1,824 / 35,501
가품사이트 글 / 댓글 1,517 / 31,609
포인트 원장 행 수 5,950,013
게임 포인트 행 수 4,383,542
슬롯 게임 회차 (games_table) 303,238
바카라 베팅 7,987
복권 응모 45,724
블랙리스트 193,190
누적 방문 4,566,650
첨부파일 메타 12,606
첨부파일 실용량 (서버) data/file 8.5GB + data/editor 74GB