Skip to content

πŸ™πŸ» μ†Œν”„νŠΈμ›¨μ–΄ 곡학 IIIE - Front-End νŒ€ μ €μž₯μ†Œμž…λ‹ˆλ‹€.

Notifications You must be signed in to change notification settings

IIIE-DontWorry/FE

Repository files navigation

λˆμ›Œλ¦¬(Don'tWorry)

πŸ’š λ‹Ήμ‹ μ˜ μ•ˆμ‹¬μ„ μœ„ν•΄, κ°€μ‘± 같은 λŒλ΄„μ„ μ†λμ—μ„œ λˆ„λ¦¬λŠ” 간병 λ§€λ‹ˆμ§€λ¨ΌνŠΈ ν”Œλž«νΌ

πŸ“– μ†Œκ°œ

λˆμ›Œλ¦¬(Don'tWorry)λŠ” 간병 기둝 관리뢀터, μ‹€μ‹œκ°„ μ†Œν†΅κΉŒμ§€ κ°€μ‘±λ“€μ˜ 간병 걱정을 λœμ–΄μ£ΌλŠ” μ’…ν•© λ§€λ‹ˆμ§€λ¨ΌνŠΈ ν”Œλž«νΌμž…λ‹ˆλ‹€.

βš™οΈ 기술 μŠ€νƒ

μ—­ν•  μ’…λ₯˜
Library
Programming Language JavaScript
JavaScript Runtime NodeJS
Package Manager NPM
Data Fetching Axios
Styling Styled Components
Formatting ESLint Prettier
Version Control Git GitHub
[Version]
  • 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, ...

About

πŸ™πŸ» μ†Œν”„νŠΈμ›¨μ–΄ 곡학 IIIE - Front-End νŒ€ μ €μž₯μ†Œμž…λ‹ˆλ‹€.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •