λ³Έ νλ‘μ νΈλ λ μ¨ μ 보λ₯Ό κΈ°λ°μΌλ‘ ν μλΉμ€ μ 곡 νλ«νΌμΌλ‘,
μ¬μ©μλ νμκ°μ
λ° λ‘κ·ΈμΈμ ν΅ν΄ κ°μΈνλ κΈ°λ₯μ μ΄μ©ν μ μμ΅λλ€.
νλ‘μ νΈλ ν λ¨μ νμ
μ μ μ λ‘ νμ¬
μΈμ¦/보μ, μΈλΆ API νμ©, νλ‘ νΈμλ UI ꡬνμ μ€μ¬μΌλ‘ κ°λ°λμμ΅λλ€.
μΌμμμ λ μ¨ μ 보λ μμ£Ό νμ©λμ§λ§,
λ¨μ μ 보 μ 곡μ κ·ΈμΉλ κ²½μ°κ° λ§λ€λ μ μμ μΆλ°νμμ΅λλ€.
λ³Έ νλ‘μ νΈλ λ€μμ λͺ©νλ‘ κΈ°νλμμ΅λλ€.
- κ³μ κΈ°λ° μλΉμ€ ꡬ쑰 κ²½ν
- μΈλΆ API μ°λμ ν΅ν μ€μκ° λ°μ΄ν° νμ©
- νλ‘ νΈμλμ λ°±μλ νμ κ²½ν μΆμ
- μ¬μ©μ μΈμ¦μ ν΅ν κ°μΈν μλΉμ€ μ 곡
- λ μ¨ λ°μ΄ν°λ₯Ό νμ©ν μ€μ©μ μΈ μ 보 μ 곡
- μν λΆλ΄ κΈ°λ°μ ν νλ‘μ νΈ κ²½ν
- μΈμ¦ λ° λ³΄μ ꡬ쑰μ λν μ€μ΅ κ²½ν
κΈ°μ‘΄ λ μ¨ μλΉμ€λ€μ λ€μκ³Ό κ°μ νΉμ§μ κ°μ§κ³ μμ΅λλ€.
- μ 보 μ€μ¬μ λ¨μ UI
- μ¬μ©μ μ°Έμ¬ μμ λΆμ‘±
- κ°μΈν κΈ°λ₯μ μ ν
λ³Έ νλ‘μ νΈλ μ΄λ¬ν κΈ°μ‘΄ μλΉμ€λ€μ μ°Έκ³ νμ¬
κ³μ κΈ°λ° κ΅¬μ‘°μ νμ₯ κ°λ₯ν κΈ°λ₯ μ€κ³λ₯Ό μ§ν₯νμμ΅λλ€.
- λ€μ΄λ² λ μ¨
- κΈ°μμ² λ μ¨λ리
- AccuWeather
μ μ¬ μλΉμ€λ€μ μ 보 μ 곡 λ°©μμ μ°Έκ³ νλ,
λ³Έ νλ‘μ νΈλ νμ΅ λͺ©μ μ ꡬνκ³Ό μλΉμ€ ꡬ쑰 μ΄ν΄μ μ€μ μ λμμ΅λλ€.
- νμκ°μ λ° λ‘κ·ΈμΈ κΈ°λ₯
- λΉλ°λ²νΈ ν΄μ± ν μ μ₯
- μ΄λ©μΌ μΈμ¦ κΈ°λ° λΉλ°λ²νΈ μ¬μ€μ
- JWT κΈ°λ° μΈμ¦ (Access / Refresh Token)
- μΈλΆ APIλ₯Ό ν΅ν λ μ¨ λ°μ΄ν° μ‘°ν
- μ§μ κΈ°λ° λ μ¨ μ 보 μ 곡
- Vue κΈ°λ° SPA ꡬ쑰
- μΈμ¦ μνμ λ°λ₯Έ νλ©΄ λΆκΈ°
- μ¬μ©μ μΉνμ μΈ UI ꡬμ±
- λ°μ΄ν°λ² μ΄μ€μ μ°κ²°ν΄μ λ°μ΄ν° μ‘°ν
- λ°μ΄ν° μμΈ μ‘°ν
- λΉμ·ν λ μ¨μ OOTD μΆμ²
- μ€λμ λ μ¨μ OOTD λ±λ‘
- μ¬μ©μ μΈμ¦ νλ¦μ λν μ΄ν΄λ ν₯μ
- νλ‘ νΈμλΒ·λ°±μλ λΆλ¦¬ ꡬ쑰 κ²½ν
- ν νμ κ³Όμ μμμ μν λΆλ΄ λ° μν΅ λ₯λ ₯ ν₯μ
- μ€λ¬΄μ μ μ¬ν νλ‘μ νΈ μ§ν κ²½ν μΆμ
- Figmaλ₯Ό νμ©νμ¬ νλ©΄ νλ¦ λ° UIλ₯Ό μ€κ³νμμ΅λλ€.
- λ‘κ·ΈμΈ, λ©μΈ νλ©΄, μ£Όμ κΈ°λ₯ νμ΄μ§ νλ¦μ μ€μ¬μΌλ‘ ꡬμ±νμμ΅λλ€.
- μ¬μ©μ νμκ°μ λ° λ‘κ·ΈμΈ κΈ°λ₯ μ 곡
- μΈμ¦λ μ¬μ©μλ§ μ£Όμ κΈ°λ₯ μ κ·Ό κ°λ₯
- λ μ¨ μ 보 μ‘°ν κΈ°λ₯ μ 곡
- νλ‘ νΈμλμ λ°±μλ κ° API μ°λ
- κ³΅ν΅ μλ΅ ν¬λ§·μ ν΅ν μΌκ΄λ λ°μ΄ν° μ²λ¦¬
- νμκ°μ μ μ / λΉμ μ μ λ ₯ ν μ€νΈ
- λ‘κ·ΈμΈ μ±κ³΅ / μ€ν¨ ν μ€νΈ
- λΉλ°λ²νΈ μ¬μ€μ νλ¦ ν μ€νΈ
- μΈμ¦ ν ν° λ§λ£ μ μ¬λ°κΈ ν μ€νΈ
- λ μ¨ API μ μ μλ΅ μ¬λΆ ν μ€νΈ
κ°μ€ν
μ€λμ λ μ¨ νμ΄μ§λ₯Ό λ§‘μ νλ‘μ νΈλ₯Ό μ§ννμ΅λλ€. μ¬μ©μμ κΈμ μ μΈ κ²½νμ μν΄ νμ¬ λ μ¨ β λ μ¨μ λ§λ μ·μ°¨λ¦Ό β μκ°λλ³ κΈ°μ¨ β λ€μ νμ΄μ§λ‘ μ΄λνλ νλ¦¬λ·°κ° μμ°μ€λ½κ² μ΄μ΄μ§λλ‘ νλ©΄ νλ¦μ ꡬμ±νμ΅λλ€. μΉμ ν΅μ¬ λͺ©μ μ΄ βκΈ°μ¨μ λ§λ μ·μ°¨λ¦Ό μΆμ²βμΈ λ§νΌ μ· μΆμ²μ μ€μ¬μΌλ‘ λλ, λ μ¨ μλΉμ€λ‘μ νμν μ 보λ μΆ©λΆν μ λ¬ν μ μλλ‘ κ· νμ λ§μ·μ΅λλ€. λν μ€λ κΈ°λ‘νκΈ° λ²νΌκ³Ό ν리뷰 μΉ΄λλ₯Ό ν΅ν΄ κ΄λ ¨ νμ΄μ§λ‘ λ°λ‘ μ΄λν μ μκ² νμ¬ νμ νΈμμ±μ λμμ΅λλ€. μ΄λ €μ λ μ μ Vueμ κΈ°μμ² API λͺ¨λ μ΅μνμ§ μμ, μλ΅ λ°μ΄ν°λ₯Ό νλ©΄μ λ§κ² κ°κ³΅νκ³ μνλ₯Ό κ΄λ¦¬νλ κ³Όμ μμ μ΄λ €μμ κ²ͺμμ΅λλ€. νΉν κΈ°μμ² APIλ μμ² μ€ν¨λ μλ΅ λλ½μ΄ λ°μνλ κ²½μ°κ° μμ΄ λλ²κΉ μ΄ μ΄λ €μ μ΅λλ€. μ΄λ₯Ό 보μνκΈ° μν΄ λ‘λ©/μλ¬/λ°μ΄ν° μμ μν λ©μμ§λ₯Ό νλ©΄μ νμνμ¬ κ°λ°μλΏ μλλΌ μ¬μ©μλ νμ¬ μνλ₯Ό νμΈν μ μλλ‘ κ°μ νμ΅λλ€. μμ¬μ΄ μ μ μΌλΆ λ°μ΄ν° κ°κ³΅ λ‘μ§μ΄ νλ‘ νΈμ μ§μ€λμ΄ μμ΄, API μλ΅ κ΅¬μ‘°κ° λ°λλ©΄ νλ‘ νΈ μμ λ²μκ° μ»€μ§ μ μλ€λ μ μ λλ€. λ€μμλ λ°±μλμμ λ°μ΄ν°λ₯Ό λͺ©μ μ λ§κ² κ°κ³΅ν΄ λ΄λ €μ£Όκ³ , νλ‘ νΈλ νμ μ€μ¬μΌλ‘ λ¨μννμ¬ λ³κ²½μ κ°ν κ΅¬μ‘°λ‘ κ°μ ν΄λ³΄κ³ μΆμ΅λλ€.
μμΉμ¬
μ΄λ² νλ‘μ νΈλ₯Ό ν΅ν΄ APIλ₯Ό νμ©νμ¬ νλ‘ νΈμλμμ λ°μ΄ν°λ₯Ό μ²λ¦¬νκ³ , μ΄λ₯Ό λ°±μλ λ° λ°μ΄ν°λ² μ΄μ€μ μ°λνλ μ λ°μ μΈ νλ¦μ μ§μ κ²½ννλ©° λ§μ κ²μ λ°°μΈ μ μμμ΅λλ€. μ²μμλ νλ‘ νΈμλμ λ°±μλλ₯Ό μ°κ²°νλ μμ μ΄ λΉκ΅μ λ¨μν κ²μ΄λΌκ³ μκ°νμ§λ§, μ€μ λ‘ κ΅¬νν΄ λ³΄λ μμ²κ³Ό μλ΅ κ΅¬μ‘°λ₯Ό μ νν μ΄ν΄νκ³ κ° κ³μΈ΅ κ°μ μν μ λͺ νν ꡬλΆνλ κ²μ΄ μκ°λ³΄λ€ 볡μ‘νκ³ μ΄λ €μ΄ μμ μ΄λΌλ κ²μ λκΌμ΅λλ€. νΉν νλ‘ νΈμλμμ μ λ ₯ν λ°μ΄ν°λ₯Ό λ°±μλμ μμ² κ°μ²΄λ‘ μ λ¬νλ κ³Όμ μμ λ°μ΄ν° νμ, νμ , λ€μ΄λ° κ·μΉ λ±μ λ§μΆλ λΆλΆμ΄ μ½μ§ μμκ³ , νλμ κΈ°λ₯μ΄ μ μμ μΌλ‘ λμνκΈ° μν΄ νλ‘ νΈμλ, λ°±μλ, λ°μ΄ν°λ² μ΄μ€κ° λͺ¨λ μ ννκ² μ°κ²°λμ΄μΌ νλ€λ μ μμ λ§μ μνμ°©μ€λ₯Ό κ²ͺμμ΅λλ€. μ΄ κ³Όμ μμ API λͺ μΈμ μ€μμ±κ³Ό μμ²Β·μλ΅ νλ¦μ 체κ³μ μΌλ‘ μ€κ³νλ κ²μ΄ μΌλ§λ μ€μνμ§ μ²΄κ°ν μ μμμ΅λλ€. λν νμ΄μ§λ₯Ό νλμ© κ΅¬νν΄ λκ°λ©° κ° νλ©΄λ§λ€ μλ‘ λ€λ₯Έ κΈ°λ₯κ³Ό λ°μ΄ν°λ₯Ό μ°κ²°νλ κ³Όμ μμ, λ¨μν κΈ°λ₯μ λ§λλ κ²μ΄ μλλΌ μ 체 νλ‘μ νΈ κ΅¬μ‘°λ₯Ό μ΄ν΄νκ³ νλ¦μ κ³ λ €νλ μκ°μ΄ νμνλ€λ κ²μ μκ² λμμ΅λλ€. κΈ°λ₯μ΄ μΆκ°λ μλ‘ μ½λμ ꡬ쑰μ μ± μ λΆλ¦¬κ° μ€μν΄μ‘κ³ , μμ μμ μ΄ λ€λ₯Έ λΆλΆμ μν₯μ μ€ μ μλ€λ μ μμ μ μ€ν κ°λ°μ νμμ±μ λκΌμ΅λλ€. μ΄λ² νλ‘μ νΈλ₯Ό ν΅ν΄ νλ‘ νΈμλμ λ°±μλκ° μ΄λ»κ² μ κΈ°μ μΌλ‘ λμνλμ§μ λν μ΄ν΄λκ° ν¬κ² ν₯μλμμΌλ©°, λ¨μν ꡬνμ λμ΄ μ€μ μλΉμ€μ κ°κΉμ΄ κ°λ° κ²½νμ ν μ μμλ€λ μ μμ λ§€μ° μλ―Έ μλ μκ°μ΄μλ€κ³ μκ°ν©λλ€. μ΄λ¬ν κ²½νμ λ°νμΌλ‘, μμΌλ‘λ λ μμ μ μ΄κ³ νμ₯μ±μ κ³ λ €ν κ°λ°μ ν μ μμ κ²μ΄λΌλ μμ κ°μ μ»μ μ μμμ΅λλ€.
μ΄μΈμ¬
λ μ¨ μΌκΈ°μ보 μλΉμ€μ μ΄λ²μ£Ό λ μ¨ νμ΄μ§λ₯Ό λ§λ€λ©΄μ λ μ¨ μΌκΈ°μ보 μλΉμ€λ₯Ό μ 곡νκΈ° μν΄μλ λμ 보μ΄λ νλ‘ νΈ νλ©΄ λΏλ§ μλλΌ μ€μ κΈ°μμ²μ API λ°μ΄ν°λ₯Ό κ°μ Έμ μΈν νλ λ°±μλ μμ μ΄ μ€μνλ€λ κ²μ μκ² λμ΅λλ€. νμ ν΄μΈ 리λμ΄, IDEμΈ μν°κ·ΈλλΉν°, VS Codeλ₯Ό μ νκ² λμ΄ μ μ΅νμΌλ©° νμ μ€ λ°μνλ Git μΆ©λμ ν΄κ²°νκΈ° μν΄ μ°μ΅μ΄ νμνλ€λ κ²μ λκΌμ΅λλ€. λν κΈ°μμ² λ¨κΈ°μ보λ 3μΌμΉμ κΈ°μ μ 보λ₯Ό μ 곡νκΈ° λλ¬Έμ μ£Όκ° λ μ¨ μλΉμ€λ₯Ό μ 곡νκΈ° μν΄μλ κΈ°μμ²μ μ€κΈ°μ보 APIλ₯Ό μ°λνλ μμ μ΄ νμνλ€λ κ²μ λκΌμ΅λλ€. νλ‘μ νΈλ₯Ό μ΄λμ΄ μ£Όμ μ¬μ° νμ₯λ, νκ²½λ, μΉμ¬λ, μ€νλκ» κ°μ¬ν©λλ€.
μ΄νκ²½
μ΄λ² κΈ°μμ보 μΉ μλΉμ€ νλ‘μ νΈλ₯Ό μ§ννλ©΄μ νλ‘ νΈμλμ λ°±μλκ° μ΄λ»κ² μ°κ²°λμ΄ νλμ μλΉμ€λ‘ λμνλμ§ μ 체μ μΈ νλ¦μ μ§μ κ²½νν μ μμμ΅λλ€. Vueλ‘ μμ ν΄λ³Έ 건 μ²μμ΄μλλ°, μ»΄ν¬λνΈ κΈ°λ° κ΅¬μ‘° λλΆμ νλ‘ νΈμλμ κΈ°λ³Έ μ리λ₯Ό μ’ λ μ½κ² μ΅ν μ μμμ΅λλ€. μ κ° λ§‘μλ μ§λ νμ΄μ§μμλ μ μ μΈ μ§λ μ΄λ―Έμ§ μμ μ§μλ³λ‘ λ μ¨ μ 보λ₯Ό λΉλκΈ° λ°©μμΌλ‘ νμνμ΅λλ€. μ΄ κ³Όμ μμ λΉλκΈ° λ‘λ©μ΄λ κ°λ¨ν μΊμ± κ°λ λ μμ°μ€λ½κ² λ°°μΈ μ μμκ³ , λΈλΌμ°μ κ°λ°μ λꡬλ₯Ό νμ©ν΄ λ€νΈμν¬ μμ²μ΄λ νλ©΄ λ λλ§ κ³Όμ μ μ§μ νμΈνλ©΄μ νλ‘ νΈμλ λλ²κΉ μ λν κ°λ μ΅νμ΅λλ€. UIλ λ§μ€μ½νΈ λμμΈμ ν λ μμ±ν AIμ λμμ λ°μλλ°, ꡬ쑰μ λͺ©μ μ λͺ νν ν μνμμ AIλ₯Ό νμ©ν΄ μμ μλλ₯Ό νμΈ΅ λμΌ μ μμμ΅λλ€. λ°±μλλ Spring Bootλ₯Ό νμ©ν΄ ꡬμΆνμ΅λλ€. μ²μμλ κΈ°μμ² λ¨κΈ°μ보 APIλ₯Ό λ¨μν μ‘°ννλ κΈ°λ₯μ΄λΌμ μ΄λ ΅μ§ μμ κ±°λΌ μκ°νμ§λ§, μ€μ λ‘λ API ꡬ쑰λ νΈμΆ μ ν λ¬Έμ λλ¬Έμ μμλ³΄λ€ μκ°μ΄ κ±Έλ Έμ΅λλ€. λ°ν μκ°, λ°ν¨ μκ° λ± λͺ κ°μ§ κ·μΉμ λ§μΆ°μ μμ²μ 보λ΄μΌ νκ³ , μ¬λ¬ μ§μμ λ°μ΄ν°λ₯Ό μ£ΌκΈ°μ μΌλ‘ κ°±μ νλ λΆλΆλ κ³ λ―Όμ΄ νμνμ΅λλ€. μ΄λ° κ³Όμ μ κ±°μΉλ©΄μ μΊμ± ꡬ쑰 μ€μ μ΄λ κ³΅ν΅ μλΉμ€ λΆλ¦¬μ νμμ±λ λ§μ΄ λκΌμ΅λλ€. λ, νμ ꡬμ μμ λ°μ΄ν°λ₯Ό νμ±ν΄ μΒ·λ enumμ λ§λ€κ³ , μκ²½λλ₯Ό κΈ°μμ² κ²©μ μ’νλ‘ λ°κΎΈλ μμ μ λ§‘μΌλ©΄μ λ°μ΄ν° μ 리μ μ΄κΈ° μ€κ³μ μ€μμ±μ 체κ°νκ² λμ΅λλ€. νμ λꡬλ‘λ 리λμ΄λ₯Ό μ²μ μ¨λ΄€λλ°, μκ·λͺ¨ νλ‘μ νΈμμ μμ νλ¦μ μ 리ν λ κ½€ μ μ©νλ€λ κ±Έ μκ² λμ΅λλ€. μ 체μ μΌλ‘ μ΄λ² νλ‘μ νΈλ μΉ μλΉμ€μ ꡬ쑰λ₯Ό νλκ² μ΄ν΄νλ λ° ν¬κ² λμμ΄ λ κ°μ§ κ²½νμ΄μμ΅λλ€.
μ μ¬μ°
μ΄λ² νλ‘μ νΈμμλ νμ₯ μν μ λ§‘μΌλ©° νλ‘μ νΈ μ€λΉ λ¨κ³μμμ ꡬ쑰 μ€κ³μ μ§ν λ°©μμ μ€μμ±μ 체κ°ν μ μμμ΅λλ€. νλ‘μ νΈλ₯Ό μ§ννλ©° μ΄κΈ° κΈ°ν λ¨κ³μμ μꡬμ¬νκ³Ό μμ λ²μλ₯Ό λͺ νν μ μνλ κ²μ΄ μ 체 μΌμ κ³Ό μμ±λμ ν° μν₯μ λ―ΈμΉλ€λ μ μ νμΈν μ μμμ΅λλ€. κΈ°μ μ μΌλ‘λ μΌκΈ°μ보μ κ°μ μΈλΆ APIλ₯Ό μ°λνλ©΄μ, νΈμΆ μ νμ κ³ λ €ν μΊμ± μ λ΅μ΄ μλΉμ€ μμ μ±κ³Ό μ§κ²°λλ€λ κ²μ μ€λ¬΄μ μΌλ‘ κ²½νν μ μμμ΅λλ€. λν μΈμ¦κ³Ό μ κ·Ό μ μ΄λ₯Ό ν¬ν¨ν 보μ μ€κ³λ₯Ό ꡬννλ©° κΈ°μ‘΄μ νμ΅νλ 보μ κ°λ μ λ€μ μ 리νκ³ μ μ©ν΄λ³Ό μ μμμ΅λλ€. νμ μΈ‘λ©΄μμλ 리λμ΄(Linear)λ₯Ό μ΄μ κ΄λ¦¬ λκ΅¬λ‘ λμ νμ¬ μ€μ νλ‘μ νΈ νκ²½μμμ νμ© κ°λ₯μ±μ κ²μ¦ν΄λ³Ό μ μμμ΅λλ€. λ€λ§ κΈ°λνλ μμ€μ ν¨μ¨μ ν보νμ§λ λͺ»ν΄, νλ‘μ νΈμ μ±κ²©κ³Ό κ·λͺ¨μ λ³΄λ€ μ ν©ν νμ λꡬλ₯Ό μΆκ°λ‘ νμ΅ν νμμ±μ λκΌμ΅λλ€. μ΄λ² νλ‘μ νΈλ₯Ό ν΅ν΄ κΈ°λ₯ ꡬνλΏλ§ μλλΌ, λꡬ μ νκ³Ό νλ‘μ νΈ μ΄μ λ°©μ μμ²΄κ° κ°λ° μμ°μ±μ μ€μν μν₯μ λ―ΈμΉλ€λ μ μ μΈμν μ μμμ΅λλ€.>





