980d7d905d
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.
46 lines
805 B
JSON
46 lines
805 B
JSON
{
|
|
"extends": "../../tsconfig.base.json",
|
|
"compilerOptions": {
|
|
"plugins": [
|
|
{
|
|
"name": "next"
|
|
}
|
|
],
|
|
"noEmit": true,
|
|
"baseUrl": ".",
|
|
"paths": {
|
|
"@/*": [
|
|
"./src/*"
|
|
],
|
|
"@slot/db": [
|
|
"../../packages/db/src"
|
|
],
|
|
"@slot/db/*": [
|
|
"../../packages/db/src/*"
|
|
],
|
|
"@slot/auth": [
|
|
"../../packages/auth/src"
|
|
],
|
|
"@slot/auth/*": [
|
|
"../../packages/auth/src/*"
|
|
],
|
|
"@slot/themes": [
|
|
"../../packages/themes/src"
|
|
],
|
|
"@slot/themes/*": [
|
|
"../../packages/themes/src/*"
|
|
]
|
|
},
|
|
"allowJs": true
|
|
},
|
|
"include": [
|
|
"next-env.d.ts",
|
|
"src/**/*.ts",
|
|
"src/**/*.tsx",
|
|
".next/types/**/*.ts"
|
|
],
|
|
"exclude": [
|
|
"node_modules"
|
|
]
|
|
}
|