π κ°λ°κΈ°κ° : 24λ 5μ 13μΌ ~
EFFI λ ν¨μ¨μ±μ λ»νλ efficiency μμ μ΄λ¦μ κ°μ Έμμ΅λλ€.
νμνμ μ€ λ
Όμνλ μ건μ΄λ λνλ΄μ©μ 리ν¬νΈ νμμΌλ‘ μ 곡ν¨μΌλ‘μ¨ λ°λ‘ νμλ‘μ μμ±νμ§ μκ³ νμμλ§ μ§μ€ν μ μλλ‘ νμ¬ ν¨μ¨μ μΈ νμ
λ¬Ένλ₯Ό μ 곡νλ κ²μ λͺ©νλ‘ νκ³ μμ΅λλ€.
β
μμ
λ‘κ·ΈμΈ λ° λ‘κ·Έμμ - google OAuth λ₯Ό μ¬μ©νμ¬ google μ΄λ©μΌμ ν΅ν΄ λ‘κ·ΈμΈ ν μ μμ΅λλ€.
β
Nav, Side λ° - nav, side λ°λ νμμ€μ μ μΈνκ³ λͺ¨λ λ μ΄μμμ fixedλ‘ κ³΅ν΅μΌλ‘ μ‘΄μ¬ν©λλ€.
- Nav λ°μμλ λ€ν¬λͺ¨λλ₯Ό μ€μ ν μ μκ³ , μλ¦Ό λͺ©λ‘ λ° λ΄ νλ‘νμ μ‘°νν μ μμ΅λλ€. μλ¦Όμ socketμΌλ‘ ꡬνλμ΄ μ€μκ°μΌλ‘ νμΈν μ μμ΅λλ€.
- Side λ°μμλ λ‘λΉ νμ΄μ§λ‘ μ΄λν μ μλ λ²νΌμ΄ μκ³ , κ·Έλ£Ή λ§λ€κΈ° λ° λ΄κ° λ§λ κ·Έλ£Ή 리μ€νΈλ€μ λ³Ό μ μμ΅λλ€.
β
λ‘λΉ νμ΄μ§ - λ‘λΉ νμ΄μ§μμλ μμ½λ νμ μΌμ μ μΊλ¦°λμμ νμΈν μ μκ³ , ν΅λ²νΌμ ν΅ν΄ λ΄ νλ‘νμ 보거λ λ΄κ° λ§λ κ·Έλ£Ήμ νμλ₯Ό λ°λ‘ μμ±ν μ μμ΅λλ€.
β
κ·Έλ£Ή ν - νΉμ κ·Έλ£Ή ν νμ΄μ§μμλ νμ μμ±, κ·Έλ£Ή κ΄λ¦¬ μΈμ 리ν¬νΈ λͺ©λ‘κ³Ό κ·Έλ£Ή λ©€λ²λ€μ μ‘°νν μ μμ΅λλ€.
β
νμμ€ - νμμ€μμλ μ μν λ©€λ²λ€λΌλ¦¬ webRTC λ° socketμΌλ‘ ꡬνλ νμμ±ν
κ³Ό ν
μ€νΈ μ±ν
μ ν μ μμ΅λλ€. λ€λ₯Έ λ©€λ²λ€μ΄ 체ν¬νλ μ건μ μ€μκ°μΌλ‘ νμΈν μ μκ³ , μμ μ’
λ£ μκ° μ΄νμ νμμ€μ λ¨μμλ λ©€λ²κ° 1λͺ
μΌ μ λ°©μ΄ 5λΆ λ€ μλμΌλ‘ μ’
λ£λ©λλ€.
FE_ν©κ²½μ π© |
FE_κΉμ¬μ± |
FE_μ΄μ¬μ± |
FE_μ¬μΉκ΅¬ |
FE_μ΅μμ |
BE_μμ€μ |
![]() DESIGN_μ‘°ν¨μ |
FE
ββ src
ββ api
ββ assets
ββ components
ββ constants
ββ hooks
ββ pages
ββ stores
ββ styles
ββ utils
ββ App.tsx
ββ main.tsx
ββ Router.tsx
- srcν΄λ
-
api: axios μΈμ€ν΄μ€ μ€μ λ° api νΈμΆ ν¨μλ€μ΄ μμΉν©λλ€. -
assets: icons, imagesλ€μ΄ μμΉν©λλ€. -
components: μ μμΌλ‘ μ¬μ¬μ© κ°λ₯ν μ»΄ν¬λνΈλ€μ΄ μμΉν©λλ€. -
constants: 곡ν΅μ μΌλ‘ μ¬μ©λλ μμλ€μ μ μν νμΌλ€μ΄ μμΉν©λλ€. -
hooks: μ μμΌλ‘ μ°μ΄λ 컀μ€ν ν λ€μ΄ μμΉν©λλ€.react-queryλ₯Ό μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό μ μμ μΌλ‘ κ΄λ¦¬νκΈ° μν ν λ μ΄ ν΄λμ μμΉν©λλ€. -
pages: react routerλ₯Ό μ΄μ©νμ¬ λΌμ°ν μ μ μ©ν λ νμ΄μ§ μ»΄ν¬λνΈλ₯Ό μ΄ ν΄λμ μμΉμν΅λλ€. κ° νμ΄μ§ μ»΄ν¬λνΈ λ§λ€ μλ λλ ν 리 ꡬ쑰λ₯Ό μ μ©ν΄ ν΄λΉ νμ΄μ§μμλ§ μ¬μ©λλ μ»΄ν¬λνΈ, ν , μ νΈ ν¨μ λ±μ κ΄λ¦¬νλλ‘ νμ΅λλ€.ββ pages ββ login ββ api ββ components ββ constants ββ hooks ββ utils ββ types ββ index.tsx -
stores: zustandλ₯Ό μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό μ μμ μΌλ‘ κ΄λ¦¬νκΈ° μν ν΄λμ λλ€. -
styles: μ μμ μΈ styledκ° λ΄κΈ΄ ν΄λ -
utils: μμ£Ό μ¬μ©λλ λ‘μ§μ λ΄λ ν΄λ
-
- νμ Stable ν μνμΈ Branchμ λλ€.
- λͺ¨λ 컀λ°μ μΈμ λ λ°°ν¬ν μ μλ μνμ¬μΌνλ©° μΈμ λ Branchλ₯Ό μλ‘ λ§λ€μ΄λ λ¬Έμ κ° μμ΄μΌ ν©λλ€. λν Main Branchμ λͺ¨λ 컀λ°μ λΉλκ° λκ³ ν μ€νΈλ₯Ό ν΅κ³Όν΄μΌν©λλ€.
- κ°λ°μ μν μ½λκ° λ΄κΈ΄ Branchμ λλ€.
- κ°λ°μ΄ λͺ¨λ μλ£κ° λλ©΄ Main Branchλ‘ merge λ©λλ€.
- μλ‘μ΄ κΈ°λ₯μ κ°λ°ν λμλ feature λΈλμΉλ₯Ό develop λΈλμΉλ‘λΆν° μμ±ν©λλ€.
- λ³λλ‘ hotfix λΈλμΉλ₯Ό κ΄λ¦¬νμ§ μμΌλ©°, λ²κ·Έ μμ λ feature λΈλμΉμμ μ§νν©λλ€.
- feature λΈλμΉμ μ΄λ¦μ κΈ°λ₯μ μ€λͺ
νλ λͺ
νν μ΄λ¦μΌλ‘ λ€μ΄λ° ν΄μΌν©λλ€.
ex )
feature/user-content-cache - feature λΈλμΉμ 컀λ°μ κΈ°λ₯μ΄ μμ±λμ§ μμλλΌλ νμλ€κ° μν ν μν΅μ μν΄ κΎΈμ€ν Pushν©λλ€.
- μλ‘μ΄ κΈ°λ₯μ κ°λ°νκΈ° μν΄ feature λΈλμΉλ₯Ό μμ±νκΈ°μ develop λΈλμΉμμ Pullμ ν΄μΌν©λλ€.
- ν΄λΉ λΈλμΉμμ κΈ°λ₯κ°λ°μ μλ£ ν PRμ΄ μΉμΈλμ΄ developμ mergeλλ©΄ remote μ μ₯μμ μλ ν΄λΉ κΈ°λ₯ λΈλμΉλ μμ ν΄μΌ ν©λλ€.
- μ΄λ² μΆμ λ²μ μ μ€λΉνλ λΈλμΉμ λλ€.
- λ°°ν¬λ₯Ό μν μ μ© λΈλμΉλ₯Ό μ¬μ©ν¨μΌλ‘μ¨ ν ννΈκ° ν΄λΉ λ°°ν¬λ₯Ό μ€λΉνλ λμ λ€λ₯Έ ννΈλ λ€μ λ°°ν¬λ₯Ό μν κΈ°λ₯ κ°λ°μ κ³μν μ μμ΅λλ€.
