νμμ€ μμ½, ν°μΌν μ²λΌ 곡ννκ².
KlΓΌme(ν΄λ£Έ)μ λΆνΈμΊ ν νμ₯μμ λ°λ³΅μ μΌλ‘ λ°μνλ
νμμ€ μ μ°©μ ꡬλ μμ½μ λΆνΈν¨κ³Ό λΉν¨μ¨μ±μ ν΄κ²°νκΈ° μν΄ λ§λ μ‘°μ§ κΈ°λ° νμμ€ μμ½ μλΉμ€μ
λλ€.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|---|
| κ°μ§λ₯ | κΉλ―Όμ§ | κΉμ§νΈ | λ°°νμ© | μ μ μ§ | νμ°½ν |
KlΓΌmeμ λ€μκ³Ό κ°μ μ€μ λ¬Έμ μν©μ ν΄κ²°νκΈ° μν΄ κΈ°νλμμ΅λλ€.
- μ μ°©μ ꡬλ μμ½ β μ€μκΈ°, νΌμ‘
- λ§€λμ μΆκ·Ό μ κΉμ§ μ리ν보 λκΈ°
- κ°μλ°μλ³΄λ‘ μ리 λ°°λΆ β μ΄μ λ°λ₯Έ λΆκ³΅μ
- μμ½ νν© νμΈμ΄ μ΄λ €μ
- 곡μ§κ° λμ€μ½λ λ± μ¬λ¬ κ³³μΌλ‘ ν©μ΄μ Έμμ
- β± μ νν μμ½ μ€ν μκ° + μλ νμ±ν λ²νΌ(ν°μΌν λ°©μ)
- β‘ μ¬λ¬ λͺ ν΄λ¦ μ μλ² λ¨μμ λ¨ 1λͺ λ§ μμ½ μ±κ³΅ μ²λ¦¬
- π μΌ/μ£Ό/μ λ¬λ ₯ κΈ°λ° μμ½ νν© μ 곡
- π’ μ‘°μ§/κ·Έλ£Ή λ¨μλ‘ μμ½ νκ²½ κ΄λ¦¬
- π¬ μ€μκ° κ΄λ¦¬μβλ©€λ² μ±ν
β οΈ ν¨λν° κΈ°λ° μ§μ μ μ§(λ ΈμΌ λ°©μ§, μΈμ¦ μ¬μ§ μ λ‘λ)
π€ Β μ‘°μ§
π€ Β μ±ν
π νλ‘μ νΈμμ λ§‘μ μν
- νλ‘μ νΈ κΈ°λ³Έ μΈν
- μ‘°μ§ κ΄λ ¨ μ λ°μ μΈ κΈ°λ₯ ꡬν
- μ‘°μ§ λ° κ·Έλ£Ή μμ± / μμ / μμ κΈ°λ₯ ꡬν
- μ‘°μ§ μ΄λ μ½λ λ°κΈ λ° κ°μ κΈ°λ₯ ꡬν
- μ‘°μ§ λ©€λ² μμ / μ κ±° λ± κ΄λ¦¬ κΈ°λ₯ ꡬν
- νμμ€ μμ½ κΈ°λ₯ ꡬν
π μν μ
- νλ‘μ νΈ μ΄κΈ° μΈν μ λ΄λΉνλ©° νμλ€μ΄ λμΌν νκ²½μμ μμ ν μ μλλ‘ κΈ°λ°μ λ§λ ¨νλ€.
- μλΉμ€ ν΄λμ€μμλ λ©μλ μ± μμ μ΅μνν΄ μΆμν μμ€μ ν΅μΌνλ €κ³ λ Έλ ₯νκ³ λ©μλ μ΄λ¦λ§ λ³΄κ³ λ κΈ°λ₯μ νμ ν μ μλλ‘ μ½λλ₯Ό μμ±νλ€.
- μ½λ 리뷰λ₯Ό ν΅ν΄ νμλ€μ νΌλλ°±μ λ°μνμ¬ μ€λ₯λ₯Ό κ°μ νκ³ μ½λ νμ§μ λμΌ μ μμκ³ λ€λ₯Έ νμλ€μ μ½λλ₯Ό 리뷰νλ©΄μ μ λ°μ μΈ μ½λμ λν μ΄ν΄λλ λμλ€.
π€¨ μμ¬μ΄ μ
- λμμ± μ μ΄λ₯Ό νλ‘μ νΈ νλ°λΆμ λμ νλ€λ³΄λ μΆ©λΆν νμ΅νμ§ λͺ»ν μνμμ μ μ©νμ¬ μ½λκ° μ λλ‘ κ΅¬νλμλμ§μ λν νμ μ΄ λΆμ‘±νλ€.
- λ°±μλ κΈ°λ₯ ꡬνμ μ§μ€νλλΌ νλ‘ νΈ κ°λ°μ μΆ©λΆν μκ°μ ν¬μνμ§ λͺ»νλ€.
- κΈ°λ₯ ꡬνμ μ°μ νλ€ λ³΄λ ν μ€νΈ μ½λλ₯Ό λ³νν΄ μμ±νμ§ λͺ»νλ€.
π― λ°°μ΄ μ
- μ½λ 리뷰λ₯Ό ν΅ν΄ λ΄κ° λμ³€λ λΆλΆλ€μ λ°κ²¬νκ³ κ°μ νλ©΄μ μ½λ νμ§μ λμ΄λ κ³Όμ μ μ€μμ±μ λ°°μ λ€.
- λμμ± μ μ΄κ³Ό κ°μ μ¬μ μ§μμ΄ νμν κΈ°λ₯μΈ κ²½μ° λ¨μν ꡬνν κ²λ³΄λ€ μ κ·Έλ κ² κ΅¬νν΄μΌ νλμ§ λμ μ리λ₯Ό μ΄ν΄νλ κ³Όμ μ΄ μ€μνλ€λ μ μ λ°°μ λ€.
π‘ λ€μ νλ‘μ νΈμ μ μ©νκ³ μΆμ μ
- λ°±μλμ νλ‘ νΈμλ κ°λ°μ κ°κ° κ°λ°μ΄ μλ λμμ λ³νν΄μ μ§ννκ³ μΆλ€.
- κΈ°λ₯ ꡬνκ³Ό ν¨κ» ν μ€νΈ μ½λλ₯Ό λ³ννμ¬ μμ±νκ³ μΆλ€.
- λμμ μ μ΄κ° νμν κΈ°λ₯μ΄ μμ κ²½μ°, μΆ©λΆν νμ΅ν ν ꡬνν΄λ³΄κ³ μΆλ€.
π νλ‘μ νΈμμ λ§‘μ μν
- κΈ°λ₯ λͺ μΈν
- UI λμμΈ μ€κ³
- λ°°ν¬ νκ²½ ꡬμ±
- Docker μ΄λ―Έμ§ μμ±
- GitHub Webhook + Jenkins μλ λΉλ νμ΄νλΌμΈ ꡬμΆ
π μν μ
- Docker, Jenkins, Webhook νκ²½μ μ§μ ꡬμΆνλ©° DevOps μλμ μμ μ μμλ€.
π€¨ μμ¬μ΄ μ
- DevOps κ°λ μ΄ λ―μ€μ΄μ μ μνλ λ° μκ°μ΄ μ€λ κ±Έλ Έκ³ , κ·Έ λλ¬Έμ ArgoCDκΉμ§ μ μ©νμ§ λͺ»ν μ μ΄ μμ½λ€.
- DevOps κ΄λ ¨ λ¬Έμ ν΄κ²° κ²½νμ΄ λ§μ§ μμ νΈλ¬λΈμν μλκ° λλ Έλ λΆλΆμ΄ μμλ€.
π― λ°°μ΄ μ
- CI/CD νλ¦μ μ 체 ꡬ쑰(Docker β Jenkins β λ°°ν¬)λ₯Ό μ§μ ꡬμΆνλ©΄μ DevOps κΈ°λ³ΈκΈ°λ₯Ό λͺ νν μ΄ν΄νκ² λμλ€.
- Webhook, λΉλ μλν, μ΄λ―Έμ§ λ²μ κ΄λ¦¬ λ± μ€μ μλΉμ€ μ΄μμμ νμν μμλ€μ κ²½νν μ μμλ€.
π‘ λ€μ νλ‘μ νΈμ μ μ©νκ³ μΆμ μ
- GitHub Actions κ°μ λ κ³ λνλ CD μλν λꡬλ₯Ό λμ ν΄λ³΄κ³ μΆλ€.
π νλ‘μ νΈμμ λ§‘μ μν
- νλ‘μ νΈ μ λ° κΈ°ν μ°Έμ¬
- ERD λ° μ 체 λͺ¨λΈλ§ μ€κ³
- μΉμμΌ κΈ°λ° μ±ν κΈ°λ₯ ꡬ쑰 λ° μ λ° κ΄λ¦¬(STOMP, SockJS ν¬ν¨)
- νλ‘ νΈΒ·λ°±μλ κ° API λ° λ°μ΄ν° ꡬ쑰 μ‘°μ¨
- μ±ν κΈ°λ₯ UI/UX κ°λ° λ° μμ
- νμκ΄λ¦¬(GitHub) λΈλμΉ μ λ΅Β·PR κ·μΉ κ΄λ¦¬ λ° νμ μ½λ 리뷰 μ°Έμ¬
π μν μ
μ΄μ μ κ²½νν΄λ³΄μ§ μμλ μΉμμΌΒ·STOMPΒ·SockJSμ κ°μ μ€μκ° ν΅μ κΈ°μ κ³Ό λͺ½κ³ DB κ°μ NoSQL κΈ°μ λ€μ μ§μ νμ΅νκ³ , μ ν΄λΉ κΈ°μ λ€μ μ¬μ©ν΄μΌ νλμ§ κ΅¬μ‘°μ Β·κΈ°λ₯μ κ΄μ μμ μ€μ€λ‘ κ³ λ―Όνκ³ λ¬ΈμνμμΌ νμλ€κ³Όλ 곡μ νκ³ μ μ©νλ€λ μ μ΄ ν° μ±μ·¨μλ€. νΉν λ©μμ§κ° λΈλ‘컀λ₯Ό ν΅ν΄ μ΄λ»κ² λΌμ°ν λλμ§, ꡬλ /λ°ν κ΅¬μ‘°κ° μ΄λ»κ² λμνλμ§, ν΄λ°±μ΄ νμν μ΄μ κ° λ¬΄μμΈμ§ λ±μ μ΄ν΄νλ©° μ€μκ° κΈ°λ₯μ μμ μ μΌλ‘ ꡬννκ³ , μ΄λ¬ν νμ΅ κ³Όμ μ νμλ€κ³Όλ 곡μ νλ©° νλ‘μ νΈ νμ§μ λμΌ μ μμλ€. λ, MVPλ₯Ό λ¨Όμ ꡬνν λ€ μ±ν νλ‘ν λμ°κΈ°, μ±ν λ΄λΉνκΈ°, ui/ux κ°μ λ± μ μ§μ μΌλ‘ κΈ°λ₯μ νμ₯νλ λ°©μμΌλ‘ κ°λ°ν΄ 리μ€ν¬λ₯Ό μ€μ΄κ³ λΉ λ₯Έ κ²μ¦μ ν μ μμλ μ λ μ€μ€λ‘ μ’μ μ νμ΄μλ€κ³ λλλ€. λν GitHub λΈλμΉ μ λ΅, μ»€λ° κ·μΉ, PR 리뷰 νλ‘μΈμ€ λ± νμ΄ ν©μν νμκ΄λ¦¬ μμΉκ³Ό μ½λ© 컨벀μ μ μΌκ΄λκ² μ§ν€λ©° νμ ν¨μ¨μ λμ΄κ³ , ν μ 체 μ½λκ° λμΌν μ€νμΌκ³Ό νλ¦μ μ μ§νλλ‘ μ κ²½ μ΄ μ λ μ’μλ€.
π€¨ μμ¬μ΄ μ
μ€κ³ λ¨κ³μμ μ΅λν μμΈνκ³ λͺ νν νλ €κ³ λ Έλ ₯νμ§λ§ ꡬν λ¨κ³μμ λ§μ΄ λ°λκ³ μ¬μ€κ³ λ¨κ³λ₯Ό κ±°μ³μ μκ°μ΄ λ€μ μ§μ°λκ² κ°λ€. SSE κΈ°λ°μ μ€μκ° μλ¦Ό κΈ°λ₯μ μμ±νμ§ λͺ»ν μ μ΄ μμ½λ€. μΉμμΌκ³Ό μ€μκ° ν΅μ μ λν κΉμ μ΄ν΄λ³΄λ€λ μκ°μ μ«κ²¨ ꡬνμλ§ κΈκΈν λͺ¨μ΅μ΄ μμλ κ² κ°λ€.
π― λ°°μ΄ μ
- νμκ΄λ¦¬ κ·μΉκ³Ό μ½λ리뷰λ₯Ό ν μ μ²΄κ° μΌκ΄λκ² μ§ν€λ κ²μ μ€μμ±μ 체κ°νλ€.
- HTTP APIμλ μ ν λ€λ₯Έ λ°©μμΌλ‘ λμνλ μΉμμΌ κΈ°λ° μ€μκ° κΈ°λ₯μ STOMP νλ μ ꡬ쑰, λ©μμ§ λΌμ°ν , μΈμ ·ꡬλ κ΄λ¦¬λ±μ μ§μ μ€κ³Β·κ΅¬ννλ©΄μ μ΄ν΄νκ² λμλ€.
- MongoDBλ₯Ό μ¬μ©νλ©΄μ λ¬Έμ κΈ°λ° μ μ₯μ μ₯μ , 쿼리 λ°©μ, λ°μ΄ν° λͺ¨λΈλ§μ κ΄μ μ μλ‘κ² μ΅ν μ μμλ€.
- μλ‘κ² λ°°μ°κ² λλ κΈ°μ μ λν λ§μ°ν λλ €μμ΄ μμ΄μ§κ³ "νλ©΄ λκ² μ§"λΌλ μμ κ°μ μ»μ μ μμλ€.
π‘ λ€μ νλ‘μ νΈμ μ μ©νκ³ μΆμ μ
μ΄κΈ°μ MVPλ₯Ό λΉ λ₯΄κ² μμ±νκ³ κ·Έ μμ κΈ°λ₯μ μμ°μ€λ½κ² νμ₯ν΄κ°λ λ°©μμ λ 체κ³μ μΌλ‘ μ μ©νκ³ μΆλ€. μ€μκ° ν΅μ κΈ°λ₯μ λ€μ ꡬννλ€λ©΄ μΉμμΌλΏ μλλΌ SSE κΈ°λ° μλ¦Ό μμ€ν , Redis Pub/Sub, λ©μμ§ ν, μ½μ μ²λ¦¬Β·μ€νλΌμΈ λ©μμ§ κ΄λ¦¬ λ± μ€μλΉμ€μ λ κ°κΉμ΄ ꡬ쑰λ₯Ό μ μ©νκ³ μΆλ€. λν νλ‘ νΈμ λ°±μλκ° λ λΉ λ₯Έ ν ν¬λ‘ νμ ν μ μλλ‘ APIμ μ΄λ²€νΈ λ¬Έμνλ₯Ό μ μ°©μν€κ³ , μ΄λ° λ¨κ³μμ end-to-end νλ¦μ λΉ λ₯΄κ² κ²μ¦νλ λ°©ν₯μΌλ‘ μ§ννκ³ μΆλ€.
π νλ‘μ νΈμμ λ§‘μ μν
-
νμκ°μ (λ‘컬, Google OAuth) κΈ°λ₯ κ°λ°
-
Spring Security κΈ°λ° λ‘κ·ΈμΈ μΈμ¦Β·μΈκ° μ²λ¦¬
-
κ³΅ν΅ μ»΄ν¬λνΈ(header, sidebar, button, input) μ μ
-
Front-End μꡬμ¬νμ λ§μΆ Back-End DTO μΆκ° λ° API ꡬ쑰 μ 리
μ΄λ² νλ‘μ νΈλ νμ λλ©μΈμ μ€μ¬μΌλ‘ μ 체 μΈμ¦ νλ¦μ μ± μμ‘κ³ , ν΄λΌμ΄μΈνΈ κ°λ°κ³Όμ μ°κ²°λ κ½€ λ°μ νκ² μ§ννλ€.
π μν μ
- Spring Securityλ₯Ό νμ©ν μΈμ¦/μΈκ° ꡬμΆ
μ΄λ² νλ‘μ νΈμμ λ΄κ° κ°μ₯ λ§μ μκ°μ ν¬μν λΆλΆμ΄μλ€. Spring Securityλ μ¬μ ν λμ΄λκ° λμ μμμ΄λΌ μ²μ ꡬ쑰λ₯Ό μ‘λ κ³Όμ λΆν° μνμ°©μ€κ° λ§μλ€. μμ λλ λ°λΌκ°κΈ° λ°λΉ΄μ§λ§, μ€μ λ‘ νλ‘μ νΈμμ μ§μ ꡬννλ©΄μ ꡬ쑰λ₯Ό μ΄ν΄ν μ μμκ³ , μΈμ¦ νλ¦μ λ΄ μμΌλ‘ μ λλ‘ κ΅¬μ±ν΄λ³Ό μ μμλ€λ μ μ΄ κ°μ₯ ν° μ±μ·¨μλ€. νΉν Local νμκ°μ λΏ μλλΌ Google OAuthκΉμ§ νμ₯νλ©΄μ λ¨μν API μ°λμ΄ μλλΌ,
- Spring Security νν° κ΅¬μ‘°
- OAuth2 ν΄λΌμ΄μΈνΈ μ€μ
- μ¬μ©μ μ 보 λ§€ν
- νμ ν μ΄λΈκ³Ό OAuth μ¬μ©μ μ 보 λκΈ°ν
λ± μ¬λ¬ ν¬μΈνΈλ₯Ό κ²½νν μ μμ΄μ μ€μ μλΉμ€ ꡬμ±μ ν λ° λ λ€κ°κ° λλμ λ°μλ€. μ²μμ μ΄λ €μ μ§λ§ κ²°κ΅ μμ±ν΄μ ν μ μ²΄κ° μμ μ μΌλ‘ μ¬μ©ν μ μμλ€λ μ μ΄ κ½€ λΏλ―νλ€. π
π€¨ μμ¬μ΄ μ
Google OAuthμ μ΄μ΄ μΉ΄μΉ΄μ€/λ€μ΄λ² κ°μ κ΅λ΄ OAuthλ₯Ό μ μ©νμ§ λͺ»ν μ μ κ°μΈμ μΌλ‘ λ§μ΄ μμ¬μ λ€. OAuth ꡬ쑰 μ체λ λΉμ·νμ§λ§, Providerλ³λ‘ μΈμ¦ λ°©μμ΄λ λ°ν λ°μ΄ν°κ° λ¬λΌ μ€μ λ‘ λΆμ¬λ³΄λ κ²½νμ ν΄λ³΄κ³ μΆμλ€. DevOps νλ‘μ νΈμμ§λ§, μ€μ κ°λ°μμλ DevOps μν μ λ§μ΄ λ§‘μ§ μμ CI/CD, μΈνλΌ κ΅¬μ± λ±μ κΉκ² κ΄μ¬νμ§ λͺ»νλ€. μμ μ λ€μ κ²κ³Ό μ€μ νλ‘μ νΈμμ μ§μ λ€λ€λ³΄λ κ²μ μ°¨μ΄κ° ν¬κΈ° λλ¬Έμ, DevOps μ€μ κ²½νμ μμ§ λͺ»ν μ μ΄ μ§κΈ λμ보면 μμ½λ€.
π― λ°°μ΄ μ
- Redis νμ© λ₯λ ₯ ν₯μ
μ΄λ²μλ νμκ°μ μΈμ¦ μ΄λ©μΌ λ°μ‘ ν μΈμ¦ μ ν μκ°μ κ΄λ¦¬νκΈ° μν΄ Redisλ₯Ό μ¬μ©νλ€. μ§λ νλ‘μ νΈμμλ λ€λ₯Έ νμμ΄ κ°λ°ν΄ μ€μΉλ Redisλ₯Ό κ·Έλ₯ μ¬μ©νλ μμ€μ΄μλ€λ©΄, μ΄λ²μλ μ§μ νμκ°μ κΈ°λ₯μ λ§‘μΌλ©΄μ TTL μ€μ , key/value ꡬ쑰 μ€κ³, μΈμ¦ λ²νΈ κ΄λ¦¬ λ‘μ§ λ±μ λ κΉμ΄ μκ² μ΄ν΄νκ³ μ¬μ©ν μ μμλ€.
π‘ λ€μ νλ‘μ νΈμ μ μ©νκ³ μΆμ μ
λ¨μ ν μ€νΈ μ½λ μμ± μ΅κ΄ κ°μ κΈ°λ₯μ μμ±ν ν μλ ν μ€νΈμλ§ μμ‘΄νλ€ λ³΄λ 리ν©ν λ§ μ λΆμν¨μ΄ μμκ³ , μ΄λ² κ²½νμ ν΅ν΄ ν μ€νΈ μ½λμ νμμ±μ λ€μ 체κ°νλ€. λ€μ νλ‘μ νΈμμλ μΈμ¦/μΈκ°, λ ν¬μ§ν 리, μλΉμ€ λ μ΄μ΄ μ€μ¬μΌλ‘ λ¨μ ν μ€νΈλ₯Ό μ κ·Ήμ μΌλ‘ μμ±νκ³ μΆλ€.
λμμΈ ν¨ν΄ νμ© λ₯λ ₯ ν₯μ μ΄λ²μ μΈμ¦ κ΄λ ¨ λ‘μ§μ ꡬννλ©΄μ μ€λ³΅ μ½λκ° μκΈ°κ±°λ νμ₯μ± μλ ꡬ쑰λ₯Ό λ§λ€μ§ λͺ»ν λΆλΆμ΄ μ‘°κΈ μμ¬μ μλ€. μ΄ λ€μ μ΅μ’ νλ‘μ νΈ λμ μ λ΅ ν¨ν΄, ν νλ¦Ώ λ©μλ ν¨ν΄ λ± μν©λ³λ‘ μ μ©ν΄λ³Ό μ μλ ν¨ν΄λ€μ λ μ κ·Ήμ μΌλ‘ κ³ λ―Όν΄λ³΄κ³ μΆλ€.
π νλ‘μ νΈμμ λ§‘μ μν
- κ΄λ¦¬μμ μμ½ κ°λ₯ μκ° κ΄λ ¨ κΈ°λ₯ ꡬν
- μμ½ κ°λ₯ μκ° μμ± / μμ / μμ κΈ°λ₯ ꡬν
- νΉμ μΌμμ μμ½ μμ / μμ κΈ°λ₯ ꡬν
- κ΄λ¦¬μλ©λ΄
π μν μ
μμ½ κ°λ₯ μκ° κΈ°λ₯μ λ§‘μΌλ©΄μ μ¬λ¬ ν μ΄λΈμ΄ μ°λλκ³ , μμ±Β·μμ μ λ°λ₯Έ μ μ½ μ‘°κ±΄λ€μ΄ λ§μ μκ°ν΄μΌ ν λΆλΆμ΄ λ§€μ° λ³΅μ‘νμ§λ§ μ΄λ¬ν μν© μμμ λ€μν μΌμ΄μ€λ₯Ό κ³ λ €νλ©° ꡬνν΄λ΄λκ² μ½μ§ μμμ§λ§, κΈ°λ₯μ΄ λͺ¨λ λ§λ¬Όλ € μ ννκ² λμνλ λͺ¨μ΅μ νμΈνμ λ ν° λ³΄λμ λκΌλ€.
π€¨ μμ¬μ΄ μ
νλ‘ νΈμ μ°κ²°νλ κ³Όμ μμ, API μμ²μ νμν λ°μ΄ν°λ₯Ό μΆ©λΆν κ³ λ €νμ§ μμ μ± λ°±μλλ₯Ό λ¨Όμ ꡬνν νμ λ§μ§λ§μ DTOλ₯Ό κΈνκ² μμ ν΄μΌ νλ λΆλΆμ΄ μμ¬μ κ³ , λν νλ‘ νΈ κ°λ°μ μΆ©λΆν μκ°μ ν¬μνμ§ λͺ»ν΄, λ°±μλμμλ μ μ λμνλ κΈ°λ₯μ΄ λ§μ§λ§μ νλ‘ νΈμμλ μ λλ‘ μλνμ§ μμλ κ²μ΄ λ무 μμ¬μ λ€.
π― λ°°μ΄ μ
- λ λ²μ νλ‘μ νΈλ₯Ό κ±°μΉλ©° MyBatisμ μ€νλ§ λΆνΈμ νμΈ΅ λ μ΅μν΄μ‘κ³ , μ΄μ λ³΄λ€ λ κΉλνκ³ κ΅¬μ‘°μ μΈ μ½λλ₯Ό μμ±ν μ μκ² λμλ€.
- μμ½ κ°λ₯ μκ° μμ±/μμ /μμ , νΉμ λ μ§ μμ½ μμ /μμ λ±μ ν μ΄λΈ κ° μ°κ΄κ΄κ³λ λ§κ³ 볡μ‘ν 쑰건λ€λ μμλλ° μ΄ κΈ°λ₯μ ꡬννλ©΄μ μꡬμ¬νμ λ Όλ¦¬μ μΌλ‘ μͺΌκ°κ³ μμλ₯Ό μ 리νλ λ₯λ ₯μ΄ ν₯μλμλ€.
π‘ λ€μ νλ‘μ νΈμ μ μ©νκ³ μΆμ μ
- λ°±μλμ νλ‘ νΈ μ€ νμͺ½μλ§ μκ°μ κ³Όλνκ² μμ§ μκ³ , μ 체μ μΈ κ· νμ λ§μΆμ΄ μμͺ½ λͺ¨λμ μΆ©λΆν μκ°μ λ°°λΆνλ©° κ°λ°νκ³ μΆλ€.
- κΈ°λ₯ ꡬν μ μμ΄λ€ νλ©΄μμ μ΄λ€ λ°μ΄ν°κ° νμν μ§, μ΄λ€ ννλ‘ μ λ¬ν΄μΌ νλ‘ νΈκ° νΈν μ§λ₯Ό 미리 κ³ λ €νκ³ μ§ννκ³ μΆλ€.
π νλ‘μ νΈμμ λ§‘μ μν
- μꡬμ¬νλͺ μΈμ μ 리
- νμμ€ CRUD ꡬν λ° νλ©΄ μ°λ
π μν μ
μꡬμ¬ν β API κ³μ½μΌλ‘ λΉ λ₯΄κ² μ ννμ¬ λͺ μΈμμ API κ·κ²©μ μ΄κΈ°μ κ³ μ νμ¬, νλ‘ νΈμμ ννμ μ€μλ€. νλ©΄μμ μ¬μ©μ νλ¦μ λ§€λλ½κ² νμ¬ μ¬μ©μμ UX κ²½νμ κ°μ νλ€.
π€¨ μμ¬μ΄ μ
μΆ©λΆν μκ°μ΄ μμμλ λΆκ΅¬νκ³ μΌμ κ΄λ¦¬λ₯Ό μ λλ‘ νμ§ λͺ»ν΄ λν μΌμ μ΄λ¦¬μ§ λͺ»ν λΆλΆμ΄ λ§€μ° μ»Έλ€.
π― λ°°μ΄ μ
- PMμ μ€μμ±μ κΉ¨λ«κ² λμλ€.
- UI/UXλ λ°μ΄ν° νλ¦μ κ±°μΈλ‘ μλ΅ μνΒ·μλ¬ λ©μμ§Β·νλλ³ κ²μ¦μ μΌκ΄λκ² λ΄λ €μ£Όλ©΄ νλ‘ νΈλ μμ°μ€λ½κ² μ’μ UXλ₯Ό λ§λ€ μ μλ€λ κ²μ λ°°μ λ€.
π‘ λ€μ νλ‘μ νΈμ μ μ©νκ³ μΆμ μ
- λ¨μν μ€νΈ μ½λλ₯Ό μμ±νλ μ΅κ΄μ λ€μ¬ ν μ€νΈνλ μκ°μ μ€μ΄κ³ μΆλ€.
- λμμΈν¨ν΄μ μ κ·Ή νμ©νμ¬ μ€λ³΅λ μ½λλ₯Ό μ€μ΄κ³ κΈ°λ₯νμ₯μ μκ°νμ¬ νλ‘μ νΈμ ν리ν°λ₯Ό λμ΄κ³ μΆλ€.











































