π WEEK 04 λ°μΌλ¦¬ μ 체 μ€ν¬λΌ - 42-Gang/project-wiki GitHub Wiki
μΈλΆ λ΄μ© 보기
- μμ
- β
κ΅¬κΈ Oauth λ‘μ§ κ΅¬κΈλ§
- κΈ°μ‘΄μ ꡬνν firebaseμμ μ΄λ»κ² λ‘μ§ λ³λν μ§
- β κ΅¬κΈ Oauth λ‘μ§ λ³κ²½λ λ²μ μΌλ‘ ꡬν
- νμ£Ό
- β λ‘κ·ΈμΈ νμ΄μ§μμ λ‘κ·ΈμΈ ν κ²½μ° accesstokenκ³Ό refreshtokenμ μ μμ±νλμ§ νμΈ, ν ν° μ κ°±μ λλλ‘ νκΈ°, μΈμ
λ§λ£ λ‘μ§ κ΅¬ν(μ΄μ μ μ΄ν΄κ° μ λμ΄μ λ°±μλνμ ν΄κ·Ό μ μ μ§λ¬Ένμμ)
- β useEffectλ₯Ό ν΅ν΄ μ
λ ₯κ°μ λ°μμ€λλ‘ νκΈ°
- β
λ‘κ·ΈμΈ κ΄λ ¨ λ‘μ§ μμ
- μμ
-
κ΅¬κΈ Oauth λ‘μ§λ λ²μ μΌλ‘ ꡬν β보λ₯
- λͺ¨λ νμ΄μ§μ μλ²ν΅μ λ‘μ§μ μ©. (useEffect)
- Socket.io μ¬μ©λ² κ³΅λΆ λ° μ μ© ν
μ€νΈ β mock serverλ§λ€μ΄μ ν
μ€νΈ (λ°λ‘ λ΄μΌλΆν° μ μ© κ°λ₯ν μ λ μμ€μΌλ‘)
- νμ£Ό
- accesstoken λ§λ£μ refreshtoken λ§λ£μ μ΄λ»κ² λμνλμ§μ λν΄μ μμΈνκ² κ΅¬ννκΈ°
- Register νμ΄μ§μμ μ
λ ₯κ°μ useEffectλ₯Ό μ¬μ©νμ¬ μ λ°μμ€λλ‘ κ΅¬ννκΈ°
- μ
λΉ
- β
μμΈμ€ ν ν° μ¬λ°κΈ APIλ§
- β
μμΈμ€ ν ν° κ²μ¦ API
- β
λ‘κ·Έμμ API
- β
μΈμ¦ κ΄λ ¨ ν
μ€ν
- β μ μ κ΄λ ¨ ν
μ€νΈμ½λ μμ±
- β OAuth κ΄λ ¨ API (보λ₯)
- μ μ
- β
μ±ν
μλ² #2 μ΄μ Socket io κ΄λ ¨ λ‘μ§, PR μ¬λ¦¬κΈ°
- β
socket join ꡬννκΈ°
- β
μ±ν
μ£Όκ³ λ°κΈ°
- μΈμ
- β
μ
λΉ λ PR νμΈ
- β
ν΅ν©μ μν μ κ· λΈλμΉ μμ± -> PR μ¬λ¦¬κΈ°
- βμΉκ΅¬λͺ©λ‘ μ‘°ν
- β
μΉκ΅¬ κΈ°λ₯ ν
μ€νΈ μ½λ μμ±
μμ±λμ§ μμ API μ 리νκΈ°
- μ
λΉ
- κ²μμλ² μν€ν
μ² μ€κ³
- μ μ μλ² κ΄λ ¨ ν
μ€νΈμ½λ μμ±
- μ μ
- μ±ν
μλ² νΌλλ°± λ°μ ν μΈμλκ» μΉμΈ λ°κΈ°
- swagger λ¬Έμμ μλ¬λ ν¬ν¨ν μ μλλ‘ λ³κ²½ (μ μ , μΈμ¦, μ±ν
)
μ±ν
μλ² redis adaptor μ μ©
μ±ν
μλ² kafka μ΄λ²€νΈ μ²λ¦¬
- μΈμ
- μΉκ΅¬ λͺ©λ‘ μ‘°ν API
- μΉκ΅¬ λͺ©λ‘ μ‘°ν API ν
μ€νΈ
μΈλΆ λ΄μ© 보기
- μμ
- β λͺ¨λ νμ΄μ§μ μλ²ν΅μ λ‘μ§μ μ©. (useEffect)
- β Socket.io μ¬μ©λ² κ³΅λΆ λ° μ μ© ν
μ€νΈ β mock serverλ§λ€μ΄μ ν
μ€νΈ (λ°λ‘ λ΄μΌλΆν° μ μ© κ°λ₯ν μ λ μμ€μΌλ‘)
- β Chat serverμμ webSocket μ°κ²° (mockServer μ°κ²° μλ£)
- νμ£Ό
- β
accesstoken λ§λ£μ refreshtoken λ§λ£μ μ΄λ»κ² λμνλμ§μ λν΄μ μμΈνκ² κ΅¬ννκΈ°
- β Register νμ΄μ§μμ μ
λ ₯κ°μ useEffectλ₯Ό μ¬μ©νμ¬ μ λ°μμ€λλ‘ κ΅¬ννκΈ°
- μμ
- λͺ¨λ νμ΄μ§μ μλ²ν΅μ λ‘μ§μ μ©. (useEffect) β μ΄κ² μ€μ
- Socket.io μ¬μ©λ² κ³΅λΆ λ° μ μ© ν
μ€νΈ β mock serverλ§λ€μ΄μ ν
μ€νΈ (λ°λ‘ λ΄μΌλΆν° μ μ© κ°λ₯ν μ λ μμ€μΌλ‘)
- νμ£Ό
- Register νμ΄μ§μμ μ
λ ₯κ°μ useEffectλ₯Ό μ¬μ©νμ¬ μ λ°μμ€λλ‘ κ΅¬ννκΈ°
- Setting νμ΄μ§μμ μ
λ ₯κ°μ useEffectλ₯Ό μ¬μ©νμ¬ μ λ°μμ€λλ‘ κ΅¬ννκΈ°
- history νμ΄μ§μμ μ
λ ₯κ°μ λ°μμ€λλ‘ κ΅¬ννκΈ°
- friend list νμ΄μ§μμ μ
λ ₯κ°μ λ°μμ€λλ‘ κ΅¬ννκΈ°
game νμ΄μ§μμ μ
λ ₯κ°μ λ°μμ€λλ‘ κ΅¬ννκΈ° β X κ²μ μ μΈ
- μ
λΉ
- β
κ²μμλ² μν€ν
μ² μ€κ³
- β
μ μ μλ² κ΄λ ¨ ν
μ€νΈμ½λ μμ±
- μ μ
- β
μ±ν
μλ² νΌλλ°± λ°μ ν μΈμλκ» μΉμΈ λ°κΈ°
- β swagger λ¬Έμμ μλ¬λ ν¬ν¨ν μ μλλ‘ λ³κ²½ (μ μ , μΈμ¦, μ±ν
)
- μΈμ
- β
μΉκ΅¬ λͺ©λ‘ μ‘°ν API ꡬν
- β
μΉκ΅¬ λͺ©λ‘ μ‘°ν API ν
μ€νΈμ½λ μμ±
- μ
λΉ
- κ²μμλ² κ°λ°νκ²½ μ΄λ»κ² ν μ§ μ€κ³
- κ²μμλ² κ°λ° μ§ν (ν° νλΆν° μ‘λκ±°)
- μ μ μ¨λΌμΈ μν νμΈ κΈ°λ₯ μμ (μ μ μλ² μΉκ΅¬μλ² ν΅ν© μ΄ν μμ μ¬ν μκΉ)
- νλ‘ νΈ, λ°± ν΅ν© ν
μ€νΈ νκ²½ ꡬμ±
- μ μ
- swagger λ¬Έμμ μλ¬λ ν¬ν¨ν μ μλλ‘ λ³κ²½ (μ μ , μΈμ¦, μ±ν
)
- μ±ν
μλ² redis adaptor μ μ©
- μ±ν
μλ² kafka μ΄λ²€νΈ μ²λ¦¬
- μΈμ
- μΉκ΅¬ λͺ©λ‘ μ‘°ν κΈ°λ₯ μμ , λ΄κ² μ¨ μΉκ΅¬μμ² μ‘°ν API ꡬν
- μΉκ΅¬κ΄λ ¨ apiμ kafkaμμ
(μ΄λ²€νΈλ₯Ό λ°μμν€κΈ°)
μΈλΆ λ΄μ© 보기
- μμ
- λͺ¨λ νμ΄μ§μ μλ²ν΅μ λ‘μ§μ μ©. (useEffect) β μ΄κ² μ€μ
- β
Socket.io μ¬μ©λ² κ³΅λΆ λ° μ μ© ν
μ€νΈ β mock serverλ§λ€μ΄μ ν
μ€νΈ (λ°λ‘ λ΄μΌλΆν° μ μ© κ°λ₯ν μ λ μμ€μΌλ‘)
- νμ£Ό
- β
Register νμ΄μ§μμ μ
λ ₯κ°μ useEffectλ₯Ό μ¬μ©νμ¬ μ λ°μμ€λλ‘ κ΅¬ννκΈ°
- β
Setting νμ΄μ§μμ μ
λ ₯κ°μ useEffectλ₯Ό μ¬μ©νμ¬ μ λ°μμ€λλ‘ κ΅¬ννκΈ°
- β
history νμ΄μ§μμ μ
λ ₯κ°μ λ°μμ€λλ‘ κ΅¬ννκΈ°
- βfriend list νμ΄μ§μμ μ
λ ₯κ°μ λ°μμ€λλ‘ κ΅¬ννκΈ°
game νμ΄μ§μμ μ
λ ₯κ°μ λ°μμ€λλ‘ κ΅¬ννκΈ° β X κ²μ μ μΈ
- μμ
- μ°¨λ¨ API μ μ©
- μΉκ΅¬ νμ΄μ§ κ΄λ ¨ νμ΄μ§ μμ±
- νμ£Ό
- friend list νμ΄μ§μμ μ
λ ₯κ°μ λ°μμ€λλ‘ κ΅¬ννκΈ°
- μ
λΉ
- β κ²μμλ² κ°λ°νκ²½ μ΄λ»κ² ν μ§ μ€κ³
- β κ²μμλ² κ°λ° μ§ν (ν° νλΆν° μ‘λκ±°)
- β
μ μ μ¨λΌμΈ μν νμΈ κΈ°λ₯ μμ (μ μ μλ² μΉκ΅¬μλ² ν΅ν© μ΄ν μμ μ¬ν μκΉ)
- β νλ‘ νΈ, λ°± ν΅ν© ν
μ€νΈ νκ²½ ꡬμ±
- μ μ
- swagger λ¬Έμμ μλ¬λ ν¬ν¨ν μ μλλ‘ λ³κ²½ (μ μ , μΈμ¦, μ±ν
)
- β
μ±ν
μλ² redis adaptor μ μ©
- β
μ±ν
μλ² kafka μ΄λ²€νΈ μ²λ¦¬
- μΈμ
- β
μΉκ΅¬ λͺ©λ‘ μ‘°ν κΈ°λ₯ μμ , λ΄κ² μ¨ μΉκ΅¬μμ² μ‘°ν, μΉκ΅¬ κ΄κ³ μ‘°ν API ꡬν λ° ν
μ€νΈμ½λ μμ±
- β
μΉκ΅¬κ΄λ ¨ apiμ kafkaμμ
(μ΄λ²€νΈλ₯Ό λ°μμν€κΈ°)
- μ
λΉ
- μΉκ΅¬ κ²μμ κ΄κ³ νμ
- λ°°ν¬νκ²½ μ
ν
&νλ‘ νΈμ ν
μ€ν
- μ μ
- kafka PR μμ±
- start consume μΆκ°ν μμΉ μμ
- μμΌ message μλ΅μ nickname μΆκ°
- error μλ΅ api μμ
- νκ²½λ³μ μ²λ¦¬
- μΈμ
- μΉκ΅¬ λͺ©λ‘ μ‘°ν κΈ°λ₯ PR μ¬λ¦¬κΈ°
- notionμ internal API νμ
β οΈ **GitHub.com Fallback** β οΈ