์์ CEO ๊ถํ์ผ๋ก 4๊ฐ sprint ๋ณ๋ ฌ ์์ (plus365.site ๊ณ ๊ฐ ํ๋ก์ฐ ์ ๋ฉด ๊ณ ๋ํ + ๋ฐ์๊ตฌ ๋ฉ์ดํฌ์ ๋๋ฉ ์ ์ค + about ํ์ด์ง ์ฌ์ง ๋ฐฐ์น).
์คํ์ด๋ฒคํธ "์จ๋ผ์ธ ์์ฝ" CTA๊ฐ /schedule(์๋ฃ์ง ์ ์ฉ PIN)๋ก ์ฐ๊ฒฐ๋์ด ๊ณ ๊ฐ์ด ์์ฝ ๋ถ๊ฐํ ๊ทผ๋ณธ ๊ฒฐํจ ํด๊ฒฐ.
/reserve ํ์ด์ง + /api/reserve ์๋ํฌ์ธํธ ์ ์ค/event/open-2026 CTA โ /reserve ๋ณ๊ฒฝPopups.tsx chainStopped โ ๋ค์ ์์ฐจ ํ์๋ก B์ ๋ณต์)partner-redirect.ts)referralCode ํค ์ถ๊ฐnext.config.ts generateBuildId ๊ณ ์ (git SHA)์ด sprint๋ ์ดํ v2 ์ฌ์ ๊ฒ์์ end-to-end ์ค์ ๋์ ๋ฏธ๊ฒ์ฆ์ด ํ์ธ๋์ด ๊ฑฐ์ง์์ฑ์ผ๋ก ์ ์ ๋จ.
v1์ "14/14 PASS" ์ฌ๊ฒ์ฆ ์์ฒญ โ ์ค์ ๋ก๊ทธ์ธ ํ /reserve ๋ณต๊ท๊ฐ ๋์ํ์ง ์๋ ๊ทผ๋ณธ ๊ฒฐํจ 7๊ฑด ๋ฐ๊ฒฌ ๋ฐ ํด๊ฒฐ.
| # | ์ด์ | ํด๊ฒฐ |
|---|---|---|
| P0-1 | ํฌ๋ก์ค ์ค๋ฆฌ์ง localStorage ๊ฒฉ๋ฆฌ (starium โ plus365) | URL fragment ํ ํฐ ๋ธ๋ฆฟ์ง (TokenBridge.tsx + buildRedirectWithToken) |
| P0-2 | ํ ํฐ ํค๋ช
๋ถ์ผ์น (token vs accessToken) |
TokenBridge๊ฐ accessToken์ผ๋ก ํต์ผ ์ ์ฅ |
| P0-3 | kahan PG app_user ๋น๋ฐ๋ฒํธ ๋ถ์ผ์น โ Starium API 500 |
ALTER USER ๋ก env ๊ฐ๊ณผ ๋๊ธฐํ |
| P0-4 | .env.local์ด .env๋ฅผ override โ ๊ตฌ API ๊ฒฝ๋ก /api ์ฌ์ฉ |
.env.local์ https://starium.site/api/v1๋ก ๊ฐฑ์ |
| P0-5 | SocialLoginButtons ์ด์ค prefix /api/v1/api/v1/... 404 |
joinApi() ์ ๊ทํ ํฌํผ |
| P0-6 | /api/schedule์ Bearer ๊ณ ๊ฐ๋ staff ๊ถํ ๋ถ์ฌ |
verifyAuth์ role: staff|customer ๋ฐํ + staff ํ์ดํธ๋ฆฌ์คํธ |
| P0-7 | TokenBridge atob UTF-8 ๋ฏธ๋ณต์ โ ํ๊ธ mojibake |
TextDecoder('utf-8').decode(Uint8Array.from(atob(...))) |
schedules ํ
์คํธ row 4๊ฑด ์ญ์ (id 19~22)deleted_at=NOW())/about Greeting ์นด๋์ "P+" placeholder โ ๋ํ์์ฅ+์ง์ ์ฌ์ง (hero-main.jpg, ๋ํ ๊ฐํ ๋
ธ์ถ)/about/facilities ๋ณ์ ๊ฐค๋ฌ๋ฆฌ ์น์
โ 12์ฅ ์ค์ ์ฌ์ง (์ ์ ๋ฐ์คํฌ/๋๊ธฐ์ค ๋ผ์ด์ง/ํ์ผ์ด ์ผํฐ/์ง๋ฃ์ค ๋ณต๋/์์ ์ค/์๋ด์ค/ํ์ฐ๋๋ฃธ/์ ํ ์ง์ด ๋ฑ)<Image> fill + sizes + loading eager/lazy ๋ถ๋ฆฌqrencode ๋ก QR ์ฌ์์ฑ (https://plus365.site/reserve), zbarimg ๋์ฝ๋ ๊ฒ์ฆ/event/semi-permanent-2026 ์ ์ฉ ๋๋ฉ (Hero + 3ํจํค์ง + ์๋น์ค ์นดํ๋ก๊ทธ 4์ฅ + S.M.P ๊ฐ๊ฒฉํ + CTA + ์๋ฃ๊ด๊ณ ๊ณ ์ง)SemiPermanentPopup.tsx + Popups.tsx POPUP_ORDER 6โ7 (์ฐ์ ์์ 2๋ฒ)/event/open-2026 ํ๋จ "๋ฐ์๊ตฌ ๋ฉ์ดํฌ์
์ผํฐ" ๊ทธ๋ผ๋ฐ์ด์
๋ฐฐ๋openEvent โ semiPermanent โ adacel โ event โ nf365 โ thursday โ hours (7๊ฐ)app_user ๋น๋ฐ๋ฒํธ ๋๊ธฐํ ํ Starium API ์ ์ํ| ์ ์ฅ์ | ์ ๊ท | ์์ |
|---|---|---|
plus365 (/opt/plus365) |
5 (reserve page+layout, api/reserve, api/schedule/[id], TokenBridge, SemiPermanentPopup, semi-permanent-2026 page) | 6 (event open-2026, Popups, auth-guard, api/schedule, next.config, .env/.env.local) |
starium FE (/opt/hospital/apps/web) |
1 (partner-redirect) | 3 (login/register, SocialLoginButtons) |
| starium i18n | โ | 1 (translations.ts 7์ธ์ด referralCode ์ถ๊ฐ) |
| public ์ด๋ฏธ์ง | 26 (about 13 + semi-permanent 12 + QR 1) | โ |
treatment= ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ ์ฌ์ ์ ํ ๋ก์ง/root/sprint_backup_20260421* (v1/v2/smp 3 ๋๋ ํ ๋ฆฌ)UPDATE users SET deleted_at=NULL WHERE email LIKE 'sprint_%' ๋ก ๋ณต์์์ฑ์: ์์ CEO (Claude, Opus 4.7) ์์ฑ ์๊ฐ: 2026-04-21 22:30 KST