Skip to content

Routing & Protocol

BOHYEON SEO edited this page Nov 21, 2019 · 7 revisions

SPA Router 섀계

  • 둜그인 νŽ˜μ΄μ§€

    • URL: /
    • 졜초 접속 μ‹œ, 둜그인 된 μœ μ €λ©΄ λ‘œλΉ„ νŽ˜μ΄μ§€λ‘œ 이동
    • OAuth 성곡 μ‹œ, λ‘œλΉ„ νŽ˜μ΄μ§€λ‘œ 이동
    • 게슀트 둜그인 성곡 μ‹œ, λ‘œλΉ„ νŽ˜μ΄μ§€λ‘œ 이동
  • λ‘œλΉ„ νŽ˜μ΄μ§€

    • URL: /lobby
    • λŒ€κΈ° μƒνƒœμΈ λ°© 클릭 μ‹œ, ν•΄λ‹Ή λ°© νŽ˜μ΄μ§€λ‘œ 이동
    • λ°© λ§Œλ“€κΈ° μ™„λ£Œ μ‹œ, ν•΄λ‹Ή λ°© νŽ˜μ΄μ§€λ‘œ 이동
  • λ°© νŽ˜μ΄μ§€

    • URL: /room/:room_id
    • λ°© λ‚˜κ°€κΈ° 클릭 μ‹œ, λ‘œλΉ„ νŽ˜μ΄μ§€λ‘œ 이동

ν΄λΌμ΄μ–ΈνŠΈ-μ„œλ²„ ν”„λ‘œν† μ½œ 섀계

1. OAuth 둜그인

2. 게슀트 둜그인

  • OAuth λ‘œκ·ΈμΈν•œ μ‚¬μš©μžκ°€ μ•„λ‹ˆλ©΄ κ·Έλƒ₯ λ‹€ 게슀트둜 μ²˜λ¦¬ν•˜κΈ°λ‘œ

Socket (on Client-side at Lobby)

Emit(= μ„œλ²„λ‘œ λ³΄λ‚΄λŠ” 것)

event name string note
join_lobby - λ‘œλΉ„ 졜초 이동 μ‹œ 전달. 둜그인 된 μœ μ € μ—¬λΆ€ 확인 + λ°© λͺ©λ‘ 제곡 μš”μ²­
logout - λ‘œκ·Έμ•„μ›ƒ λ²„νŠΌ 클릭 μ‹œ. μ†ŒμΌ“ μ—°κ²° 끊고 둜그인 νŽ˜μ΄μ§€λ‘œ 이동
create_room { room name } λ°© μƒμ„±ν•˜κΈ° λ²„νŠΌ 클릭 μ‹œ

On(= μ„œλ²„μ—κ²Œ λ°›λŠ” 것)

event name callback note
join_lobby 둜그인된 μ—¬λΆ€ 확인 + λͺ¨λ“  λ°© λͺ©λ‘ 화면에 좜λ ₯ μš”μ²­ μ‚¬μš©μžμ—κ²Œλ§Œ 전달
create_room μƒμ„±λœ 방으둜 μžλ™ μž…μž₯ μš”μ²­ μ‚¬μš©μžμ—κ²Œλ§Œ 전달
added_room λ°© λͺ©λ‘μ— μ‹ κ·œ λ°© μΆ”κ°€
change_room_info νŠΉμ • 방의 μƒνƒœ 정보λ₯Ό λ³€κ²½

Socket (on Client-side at Room)

Emit(= μ„œλ²„λ‘œ λ³΄λ‚΄λŠ” 것)

event name string note
join_room { room id } 졜초 λ°© μ ‘μ†μ‹œ
leave_room -
start_game - λ°©μž₯만 κ°€λŠ₯
move { direction }
chat_message { message }

On(= μ„œλ²„μ—κ²Œ λ°›λŠ” 것)

event name args callback note
join_room μžμ‹ μ˜ 캐릭터 및 λ‹‰λ„€μž„, 캐릭터+λ‹‰λ„€μž„λ“€ μœ„μΉ˜, 문제?, 남은 μ‹œκ°„? 캐릭터 + λ‹‰λ„€μž„ (랜덀) ν• λ‹Ή, 문제 λ°‹ 남은 μ‹œκ°„ 곡개 μš”μ²­ μ‚¬μš©μžμ—κ²Œλ§Œ 전달
leave_room μ‚­μ œν•  캐릭터듀 ν•„λ“œ μœ„ 캐릭터 μ‚­μ œ
start_game μ „κ΄‘νŒ λ³€κ²½ μ „κ΄‘νŒ μƒνƒœ λ³€κ²½, μƒνƒœλ₯Ό κ²Œμž„ μ€‘μœΌλ‘œ λ³€κ²½
move 각 캐릭터 이동할 μ’Œν‘œ 리슀트 각 캐릭터듀 νŠΉμ • μ’Œν‘œλ‘œ 이동
chat_message μ±„νŒ… 둜그(λ‹‰λ„€μž„+λ©”μ‹œμ§€) μ±„νŒ… 기둝 μΆ”κ°€
start_round 문제, 각 캐릭터 μœ„μΉ˜, μΉ΄μš΄νŠΈν•  μ‹œκ°„ μ „κ΄‘νŒ 문제 좜λ ₯, 각 캐릭터 μœ„μΉ˜ μ΄ˆκΈ°ν™”, μ‹œκ°„ 카운트 μ‹œμž‘ μ œν•œ μ‹œκ°„ μΉ΄μš΄νŠΈλŠ” ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ ν•œλ‹€
end_round μ •λ‹΅, μ˜€λ‹΅ ν”Œλ ˆμ΄μ–΄ 리슀트 μ •λ‹΅ ν‘œμ‹œ, μ˜€λ‹΅ ν”Œλ ˆμ΄μ–΄ 캐릭터 μ‚­μ œ(?)
not_end_round 문제, 각 캐릭터 μœ„μΉ˜, μΉ΄μš΄νŠΈν•  μ‹œκ°„ 문제 μƒˆλ‘œ 좜λ ₯, 각 캐릭터 μœ„μΉ˜ μ΄ˆκΈ°ν™”, μ‹œκ°„ 카운트 μ‹œμž‘
end_game 우승자 λ‹‰λ„€μž„ 우승자 ν‘œμ‹œ, μƒνƒœλ₯Ό λŒ€κΈ° μ€‘μœΌλ‘œ λ³€κ²½
Clone this wiki locally