Sprint #9 Report β login fix + 4 platform μ€μΈ‘ E2E
- Feature: platform-completion-sprint9-20260430
- Owner: Claude (μμ CEO)
- Trigger: μ¬μ©μ λͺ
λ Ή "login fix + 4 platform E2E λ³λ ¬"
- Duration: ~50λΆ
- κ²°κ³Ό: π’ Track A PASS / Track B λΆλΆ PASS (3/4 platform λμ μ€μΈ‘ E2E)
Track A: login 500 fix β
PASS
- μμΈ: shared-db
app_user PG λΉλ² default member2026 μλͺ», μ§μ§ λΉλ² 7jI8SwQYfx3tTpbzXOnJegHDJTMgomTJ (kahan starium-point-service .env)
- finance/pet/shop ecosystem.config.jsμ SHARED_DB_HOST/PORT/NAME/USER/PASSWORD 5κ° env μΆκ°
- 6/6 platform login μ μν
| platform |
login κ²°κ³Ό |
| finance |
β
JWT 255 chars |
| legal |
β
JWT 252 chars |
| assistant |
β
JWT 243 chars |
| hospital |
β
JWT 260 chars |
| pet |
β
JWT 239 chars |
| shop |
β
HttpOnly Cookie (JWT in cookie) |
Track B: 4 platform μ€μΈ‘ E2E
β
finance E2E PASS (Sprint #9 μΆκ°)
test-finance JWT β POST /api/v1/points/spend
body: {amount: 400, description, referenceType, referenceId}
response: {success:true, spentPoints:400, newBalance:1900}
unified: 2300P β 1900P, lifetime_spent +400 β
β οΈ hospital β hook β
, trigger β
deductPointsμ SPRINT2 hook μμ
/api/v1/points/products/purchase νΈμΆ β "μνμ μ°Ύμ μ μμ΅λλ€" 404 (μ½λ λ‘μ§ μ°¨μ΄)
/api/v1/points/roulette νΈμΆ β earn(10P μ 립)λ§, spend μλ
- λΉμ¦λμ€ trigger μ΄λ €μ
β οΈ shop β hook β
, trigger endpoint β
spendPointsμ SPRINT2 hook μλ μ½λ μμ (line 364)
- HttpOnly cookie μΈμ¦ μ μ
- /api/v1/points/spend POST β 404 (μ§μ λ
ΈμΆ μ λ¨, λ€λ₯Έ controllerμμλ§ νΈμΆ)
β pet β hook μ체 λλ½
spendPoints ν¨μλ line 337 μ‘΄μ¬νλ callCentralApi('POST','/spend') νΈμΆ λΌμΈ λΆμ¬
- Sprint #2 dist μΈμ μ
μ petμ λΉ μ§ κ²μΌλ‘ μ μ
- ν₯ν SPRINT9_HOOK μΈμ μ
νμ
λμ μ€μΈ‘ E2E PASS
| platform |
trigger |
κ²°κ³Ό |
| assistant |
admin-points/deduct (Sprint #8) |
β
2500β2200 (-300) central:true |
| legal |
product purchase (Sprint #8) |
β
1000β800 (-200) |
| finance |
user POST /spend (Sprint #9) |
β
2300β1900 (-400) |
3 platform μ€ E2E PASS = platform-side trigger β callCentralApi β kahan unified μ°¨κ° μ§μ§ μλ μ¦λͺ
μ μ§ μμΈ
- hospital products/purchase 404 β point-store λ‘μ§μ΄ λ€λ₯Έ schema λλ κΆν κ²μ¬ νμ
- shop spendPointsλ controller endpoint λ
ΈμΆ μ λ¨ β κ²°μ /μ₯λ°κ΅¬λ λ± λΉμ¦λμ€ νλ¦μμλ§ νΈμΆ
- pet distμ spend hook μ체 μμ β Sprint #2 inject λλ½ λ°κ²¬ (μ μ νμ)
λμ (Sprint #1~#9)
- unified_point_accounts: 22 β 53 accounts (+31)
- μ΄ μκ³ : 219,850P β 349,700P
- λμ μ¬μ©: 0 β 36,000P
- 6/6 platform login μ μ
- 3/6 platform spend dual-write μ€ E2E PASS
μμ κ²μ¦
- β
νΈλ μ΄λ© 무μν₯
- β
UFW 무λ³κ²½
- β
DB DROP 0건
- β
λΌμ΄λΈ μν₯ 0μ΄
Telegram
β
MCO λΈλ‘κ·Έ β message_id 10162
νκ° 8.5/10 (μ μ§ PASS)
Files Changed
- /opt/finance/ecosystem.config.js (+SHARED_DB env 5κ°)
- /opt/pet/ecosystem.config.js (+SHARED_DB env 5κ°)
- /opt/shop/ecosystem.config.js (+SHARED_DB env 5κ°)
- starium_postgres.legal_platform.point_products (+1 row Sprint8 Test Item, sprint #8)
- starium_postgres.medical_platform.point_products (+1 row Sprint9 Hospital Test)
μ§μ§ λ¨μ νλͺ© (deferred)
- pet distμ spend hook inject (μ¦μ κ°λ₯, ~5λΆ)
- hospital products/purchase λλ²κΉ
(λ΄λΆ λ‘μ§ νμΈ νμ)
- shop κ²°μ /μ₯λ°κ΅¬λ trigger νλ¦ (λΉμ¦λμ€)