π λΉμ μ μμ¬μ μν΄, κ°μ‘± κ°μ λλ΄μ μλμμ λ리λ κ°λ³ λ§€λμ§λ¨ΌνΈ νλ«νΌ
λμ리(Don'tWorry)λ κ°λ³ κΈ°λ‘ κ΄λ¦¬λΆν°, μ€μκ° μν΅κΉμ§ κ°μ‘±λ€μ κ°λ³ κ±±μ μ λμ΄μ£Όλ μ’ ν© λ§€λμ§λ¨ΌνΈ νλ«νΌμ λλ€.
μν | μ’ λ₯ |
---|---|
Library | |
Programming Language | |
JavaScript Runtime | |
Package Manager | |
Data Fetching | |
Styling | |
Formatting | |
Version Control |
- React-Native : 0.75.3
- Styled-components : 6.1.13
- Prettier : 2.8.8
- Typescript: 5.0.4
- Node.js : 20.18.0
- NPM : 10.8.2
λΈλμΉ μ λ΅ 1
- main: μ°λ¦¬κ° κ°λ° μ΅μ’ μμ Mergeλ₯Ό νλ κ³³
- feat/{κΈ°λ₯λͺ }: κΈ°λ₯μ κ°λ°νλ©΄μ κ°μκ° μ¬μ©ν λΈλμΉ ex) feat/Login
- μ°λ¦¬κ° μ μνλ κΈ°λ₯λͺ β ꡬν μ€μΈ νμ΄μ§ (ex. Home, MyPage or Common)
$ git branch feat/{κΈ°λ₯λͺ
}
// λΈλμΉ μ²΄ν¬μμ
$ git checkout feat/{κΈ°λ₯λͺ
}
λ°λμ pushλ feat/{κΈ°λ₯λͺ }/#{μ΄μλ²νΈ}μ ν΄μ£Όμκ³ , githubμμ, developμ PR λ 리기!
- μ»€λ° λ¨μλ λ°λμ μ΅μνμ μμ λ¨μλ‘ μͺΌκ°μ, ν PRλΉ 10μ»€λ° μ΄μ λμ΄κ°μ§ μλλ‘ ν©λλ€.
μ»€λ° | μν |
---|---|
Feat | κΈ°λ₯ ꡬνκ³Ό κ΄λ ¨λ μ»€λ° |
Style | μ½λ μμ, cssλ±μ ν¬λ§·μ κ΄ν μ»€λ° (κΈ°λ₯μ λ³νX) |
Design | UI ꡬν (css ꡬ체ν) μ»€λ° |
Fix | λ²κ·Έλ₯Ό κ³ μΉ κ²½μ° |
Refactor | λ μ’μ μ½λλ‘ κ°μ ν κ²½μ° (κΈ°λ₯μ λ³νκ° μλ κ²½μ°) ex-μ½λ리뷰 λ°μ |
Docs | README.md λ± λ¬Έμλ₯Ό μμ±ν κ²½μ° |
Chore | μ£Όμ μΆκ°, μμν λ¬Έμ μμ |
|-- π __tests__
|-- π .bundle
|-- π .idea
|-- π android
|-- π ios
|-- π node_modules
|-- π src
|-- π components
|-- π common
|-- π componentsλ₯Ό μ¬μ©νλ pageμ΄λ¦
|-- π pages
|-- π services
|-- π constants
|-- π hooks
|-- π assets
|-- π icon
|-- π image
|-- π styles
|-- globalStyle.tsx
|-- theme.tsx
|-- π utils
|-- π navigation
|-- π store
|-- App.tsx
|-- index.js
|-- .gitignore
|-- package.json
|-- package-lock.json
|-- README.md
π src > components
μ¬μ¬μ© κ°λ₯ν μ»΄ν¬λνΈλ€μ΄ μμΉνλ ν΄λμ λλ€.
- common ν΄λ
β μ¬λ¬ νμ΄μ§μμ μ¬μ©ν κ³΅ν΅ μ»΄ν¬λνΈ (ex- Button, Header)
- κ° νμ΄μ§λ³ ν΄λ
β κ° νμ΄μ§λ³ ν΄λ μμ± ν, λ΄λΆμ μ°κ΄ μ»΄ν¬λνΈ νμΌ μμ±νκΈ°
π src > assets
- νμΌλͺ
:
ic_arrow.svg
(snake case) - μ»΄ν¬λνΈλͺ
(μ¬μ©ν λ) :
IcArrow.svg
(Pascal case)
μ΄λ―Έμ§ νΉμ ν°νΈμ κ°μ νμΌλ€μ΄ μ μ₯λλ ν΄λμ λλ€. μ΄λ―Έμ§μ κ°μ νμΌλ€μ publicμ μ§μ λ£λ κ²½μ°λ μλλ° λμ μ°¨μ΄λ μ»΄νμΌμμ νμνμ§ μ¬λΆμ λλ€. νλΉμ½κ³Ό κ°μ΄ index.htmlλ΄λΆμμ μ§μ μ¬μ©νμ¬ μ»΄νμΌ λ¨κ³μμ νμνμ§ μμ νμΌλ€μ publicμ λ°λ©΄, μ»΄ν¬λνΈ λ΄λΆμμ μ¬μ©νλ μ΄λ―Έμ§ νμΌμΈ κ²½μ° μ΄ assets ν΄λμ μμΉμμΌμΌ ν©λλ€.
π src > hooks
컀μ€ν ν μ΄ μμΉνλ ν΄λμ λλ€.
π src > pages
react routerλ±μ μ΄μ©νμ¬ λΌμ°ν μ μ μ©ν λ νμ΄μ§ μ»΄ν¬λνΈλ₯Ό μ΄ ν΄λμ μμΉμν΅λλ€. νμ΄μ§μ μ΅μλ¨ μ»΄ν¬λνΈ. κ° μ»΄ν¬λνΈλ₯Ό νλμ νμ΄μ§μμ νΈμΆνλ κ³³
π src > constants
곡ν΅μ μΌλ‘ μ¬μ©λλ μμλ€μ μ μν νμΌλ€μ΄ μμΉνλ ν΄λμ λλ€.
π src > config
config νμΌμ΄ λ§μ§ μμ κ²½μ° λ³΄ν΅ μ΅μμμ μμΉμμΌλμ§λ§ μ¬λ¬κ°μ config νμΌμ΄ μμ κ²½μ° ν΄λλ‘ λΆλ¦¬νκΈ°λ ν©λλ€.
π src > styles
globalStyleλ±μ μ μ css νμΌλ€μ΄ ν¬ν¨λλ ν΄λμ λλ€.
π src > services(=api)
λ³΄ν΅ apiκ΄λ ¨ λ‘μ§μ λͺ¨λ νμΌμ΄ μμΉνλ©° authμ κ°μ΄ μΈμ¦κ³Ό κ΄λ ¨λ νμΌμ΄ ν¬ν¨λκΈ°λ ν©λλ€.
π src > utils
μ κ·ννμ ν¨ν΄μ΄λ 곡ν΅ν¨μ λ± κ³΅ν΅μΌλ‘ μ¬μ©νλ μ νΈ νμΌλ€μ΄ μμΉνλ ν΄λμ λλ€.
π src > navigation
λ€λΉκ²μ΄μ μ€μ νμΌμ λλ€. νμ΄μ§λ§λ€ 보μ¬μ§λ λ€λΉκ²μ΄μ μ νΈλ€λ§ νλλ‘ ν©λλ€.
π src > store
리λμ€, MobX λ±μ μν κ΄λ¦¬ λΌμ΄λΈλ¬λ¦¬μ κ΄λ ¨λ μ½λλ₯Ό μ μ₯νλ ν΄λμ λλ€.
- μ»΄ν¬λνΈλͺ : PascalCase
- λ΄λΆν¨μλͺ : camelCase
- λ³μλͺ : camelCase
- μμλͺ : UPPER_CASE
- handleμ΄λ²€νΈλͺ = () β {}
- handleClick, handleSubmit, ...