Skip to content

ErunJrun/ErunJrun_FE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

448 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ν•¨κ»˜ λ›°λŠ” 즐거움 πŸƒβ€β™€οΈπŸƒμ΄RUN μ €RUNπŸ’¨πŸ’¨

banner


πŸ“Œ λ°”λ‘œκ°€κΈ°


⏱ ν”„λ‘œμ νŠΈ κΈ°κ°„

2022.04.22 ~ 2022.06.03 (6μ£Ό)


πŸ‘Ύ FRONTEND MEMBERS

μœ μ§„μ—΄ κΉ€λ‹€μš΄
Front-End Front-End

μœ μ§„μ—΄ πŸ”°

βœ… νŽ˜μ΄μ§€
둜그인 νŽ˜μ΄μ§€, 메인 νŽ˜μ΄μ§€, κ·Έλ£ΉλŸ¬λ‹ νŽ˜μ΄μ§€, μΆ”μ²œμ½”μŠ€ νŽ˜μ΄μ§€, κ·Έλ£Ήμ±„νŒ…

βœ… κΈ°λŠ₯
카카였 둜그인 넀이버 둜그인 JWT토큰(Access, Refresh) 적용
``
λ°°λ„ˆ&κ²Œμ‹œλ¬Ό μŠ¬λΌμ΄λ“œ `μ•Œλ¦Ό κΈ°λŠ₯` `쀑볡 ν•„ν„° 검색 κΈ°λŠ₯` `μΊ˜λ¦°λ” κΈ°λŠ₯`
`κ²Œμ‹œκΈ€ κ΄€λ ¨ κΈ°λŠ₯(쑰회,등둝,μˆ˜μ •)` `카카였 지도 연동(Polyline λ“œλ‘œμž‰)` `사진 닀쀑 μ—…λ‘œλ“œ`
`카카였 κ³΅μœ ν•˜κΈ° κΈ°λŠ₯` `λŒ“κΈ€ & λŒ€λŒ“κΈ€ κΈ°λŠ₯` `λŸ¬λ‹ μ‹ μ²­ν•˜κΈ°` `Scroll 이벀트 κΈ°λŠ₯` `뢁마크 κΈ°λŠ₯` `평점 κΈ°λŠ₯`
`CI/CD μ„ΈνŒ… 및 λ°°ν¬ν™˜κ²½ ꡬ좕(AWS Route53, Amplify)`
`λ°˜μ‘ν˜•CSS κ΅¬ν˜„`

κΉ€λ‹€μš΄

βœ… νŽ˜μ΄μ§€
마이 νŽ˜μ΄μ§€, λžœλ”© νŽ˜μ΄μ§€, μΆœμ„μ²΄ν¬ νŽ˜μ΄μ§€, 호슀트 평가 νŽ˜μ΄μ§€

βœ… κΈ°λŠ₯
μΆœμ„μ²΄ν¬ 호슀트 평가 μ„œλΉ„μŠ€ μ†Œκ°œ λͺ¨λ‹¬ μŠ¬λΌμ΄λ“œ
νœ΄λŒ€ν° 인증 νšŒμ› νƒˆν‡΄ κΈ°λŠ₯ νšŒμ› 정보 μˆ˜μ • 사진 μ—…λ‘œλ“œ
μ°Έμ—¬ μ˜ˆμ •, μ°Έμ—¬ μ™„λ£Œ, λ‚΄κ°€λ§Œλ“  κ·Έλ£ΉλŸ¬λ‹, 뢁마크 ν•œ κ²Œμ‹œλ¬Ό, λ‚΄κ°€λ§Œλ“  μ½”μŠ€μΆ”μ²œ κ²Œμ‹œκΈ€ 쑰회 호슀트 평가 ν‘œ 쑰회
λ°˜μ‘ν˜•CSS κ΅¬ν˜„


πŸ“’ 이RUNμ €RUN μ„œλΉ„μŠ€ μ£Όμš”κΈ°λŠ₯

🎡 ν•¨κ»˜ λ›°κ³  싢은 μ‚¬λžŒλ“€μ„ μœ„ν•œ κ·Έλ£Ή λŸ¬λ‹ λ§€μΉ­ ν”Œλž«νΌ

πŸ” 카카였/넀이버 μ†Œμ…œ 둜그인

  • λ³„λ„μ˜ 정보 μž…λ ₯ 없이 κ°„νŽΈν•˜κ²Œ λ‘œκ·ΈμΈν•  수 μžˆμŠ΅λ‹ˆλ‹€.

πŸƒβ€β™€κ·Έλ£ΉλŸ¬λ‹ λͺ¨μ§‘ & κ·Έλ£Ήμ±„νŒ…

  • λ‹€λ₯Έ μ‚¬λžŒκ³Ό λ›°κ³  싢은 μ½”μŠ€λ₯Ό 직접 κ·Έλ €μ„œ ν•¨κ»˜ λ›Έ μ‚¬λžŒμ„ λͺ¨μ§‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ±„νŒ…μ„ 톡해 질문과 닡변에 λŒ€ν•œ μ†Œν†΅μ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

βœ” μΆœμ„μ²΄ν¬/크루μž₯ 평가

  • μΆœμ„μ²΄ν¬μ™€ 크루μž₯ 평가λ₯Ό 톡해 κ·Έλ£ΉλŸ¬λ‹μ— λŒ€ν•œ ν›„κΈ°λ₯Ό 남길 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μΆœμ„μ²΄ν¬μ™€ 크루μž₯ ν‰κ°€λŠ” μœ μ €μ˜ κ΅ΏλŸ¬λ„ˆ 레벨과 μ—°λ™λ©λ‹ˆλ‹€.

πŸ—Ύ μ½”μŠ€μΆ”μ²œ

  • λ‚΄κ°€ λ›°μ–΄λ³Έ μ½”μŠ€λ₯Ό 직접 κ·Έλ €μ„œ λ‚˜λ§Œμ˜ μ½”μŠ€ 맛집을 λ‹€λ₯Έ μ‚¬λžŒκ³Ό κ³΅μœ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ“± ν•Έλ“œν° 인증 및 SMS μ•Œλ¦Ό κΈ°λŠ₯

  • μ‹ μ²­ν•œ κ·Έλ£ΉλŸ¬λ‹μ„ μžŠμ§€ μ•Šκ³  μ°Έμ„ν•˜κ³  ν›„κΈ°λ₯Ό 남길 수 μžˆλ„λ‘, SMS 문자 μ•Œλ¦Όμ„ λ³΄λ‚΄λ“œλ¦½λ‹ˆλ‹€.

πŸ”¨ κΈ°μˆ μŠ€νƒ

Tech




Design

Tools



πŸ“š 라이브러리

리슀트
Name Appliance Version
swiper μŠ¬λΌμ΄λ“œ 2.1.2
sweetalert μ—λŸ¬ λ©”μ„Έμ§€ 핸듀링 2.1.2
styled-components μ»΄ν¬λ„ŒνŠΈ μŠ€νƒ€μΌλ§ 5.3.5
Redux μƒνƒœ 관리 4.2.0
axios μ„œλ²„ν†΅μ‹  0.26.1
React-redux μƒνƒœκ΄€λ¦¬ 8.0.1
React-router-dom λΌμš°ν„° 5.3.0
Redux-thunk λ¦¬λ•μŠ€ 미듀웨어 2.4.1
Redux-actions μ•‘μ…˜ 관리 2.6.5
Connected-react-router νžˆμŠ€ν† λ¦¬ 객체 관리 6.9.2
Immer λΆˆλ³€μ„± μœ μ§€ 9.0.12
History νŽ˜μ΄μ§€ 이동 4.10.1
express-rate-limit API μ‚¬μš©λŸ‰ μ œν•œ(λ³΄μ•ˆ) 6.4.0
react-geocode μœ„λ„,κ²½λ„λ‘œ μ£Όμ†Œ μ–»κΈ° 0.2.3
react-calendar 달λ ₯ 3.7.0
react-icons μ•„μ΄μ½˜ 4.3.1
react-responsive λ°˜μ‘ν˜• μ›Ή 9.0.0-beta.6
React-share SNS κ³΅μœ ν•˜κΈ° 4.4.0
Dayjs λ‚ μ§œ, μ‹œκ°„ 라이브러리 1.11.0
react-scroll 슀크둀 1.8.7
react-date-range 달λ ₯ λ‚ μ§œ λ²”μœ„ 1.4.0
react-datepicker μΊ˜λ¦°λ” 4.7.0
react-intersection-observer λ¬΄ν•œ 슀크둀 9.1.0
react-kakao-maps-sdk 카카였 지도 1.0.6
react-photo-collage 이미지 λ ˆμ΄μ•„μ›ƒ νŽΈμ§‘ 1.0.9
lodash 데이터 ꡬ쑰 4.17.21
socket.io-client 데이터 ꡬ쑰 4.5.1


πŸ”₯ Trouble shooting

issue1: JWT μ•‘μ„ΈμŠ€,λ¦¬ν”„λ ˆμ‰¬ 토큰 관리

πŸ™ situation

  • 토큰 νƒˆμ·¨μ— λŒ€ν•œ λ³΄μ•ˆμ„ κ°•ν™”ν•˜κΈ° μœ„ν•΄ μ•‘μ„ΈμŠ€ ν† ν°μ˜ μ‹œκ°„μ„ 짧게 ν•˜κ³  μ•‘μ„ΈμŠ€ν† ν°μ˜ μž¬λ°œκΈ‰μ΄ κ°€λŠ₯ν•œ λ¦¬ν”„λ ˆμ‰¬ 토큰 λ„μž…

πŸ›‘ cause

  • 두 κ°€μ§€μ˜ 토큰을 둜그인이 ν•„μš”ν•œ λͺ¨λ“  톡신에 λ‹΄μ•„μ£Όλ‹€λ³΄λ‹ˆ λΆˆν•„μš”ν•œ μ½”λ“œκ°€ κΈΈμ–΄μ§€κ³  토큰을 빠트리게 λ˜λŠ” 문제 λ°œμƒ
  • μ•‘μ„ΈμŠ€ 토큰이 만료될 μ‹œ λ¦¬ν”„λ ˆμ‰¬ 토큰을 톡해 μž¬λ°œκΈ‰μ„ ν•΄μ£Όμ§€λ§Œ μ‹€νŒ¨ν•œ μš”μ²­μ„ μž¬μš”μ²­ν•˜μ§€ μ•ŠμŒ

πŸš₯ solution

  • request μš”μ²­μ— λŒ€ν•œ 인터셉터λ₯Ό λ§Œλ“€μ–΄ μžλ™μœΌλ‘œ λͺ¨λ“  μš”μ²­μ— λ‘κ°€μ§€μ˜ 토큰을 전달
  • responseκ°€ μ‹€νŒ¨ μ‹œ μ•‘μ„ΈμŠ€ν† ν°μ΄ λ§Œλ£Œλ˜μ–΄ μž¬λ°œκΈ‰ λ˜λŠ” 경우면 μƒˆν† ν°μ„ 쿠킀에 μ €μž₯ν•˜κ³  본래의 μš”μ²­μ„ λ‹€μ‹œ μš”μ²­ν•˜λŠ” 인터셉터 ꡬ성
issue2: κ²Œμ‹œλ¬Ό 등둝 μ‹œ 각 단계별 데이터 μ „μ—­ 관리

πŸ™ situation

  • κ²Œμ‹œλ¬Ό 등둝 μ‹œ μž…λ ₯ μ •λ³΄λŸ‰(μ§€λ„λ§ˆν‚Ή, 10μ—¬κ°œμ˜ μž…λ ₯κ°’, 닀쀑 이미지)이 λ§Žμ•„ 3λ‹¨κ³„λ‘œ λ‚˜λˆ„μ–΄μ§„ 등둝 ν”„λ‘œμ„ΈμŠ€ μ§„ν–‰

πŸ›‘ cause

  • 각 단계λ₯Ό λ„˜λ‚˜λ“€ λ•Œ μ»΄ν¬λ„ŒνŠΈκ°€ λ§Žμ•„ useState의 데이터λ₯Ό props둜 μ£Όκ³ λ°›λŠ” κ³Όμ •μ—μ„œ 데이터가 μ΄ˆκΈ°ν™” 되고 μžμ‹μ»΄ν¬λ„ŒνŠΈμ—μ„œ λΆ€λͺ¨μ»΄ν¬λ„ŒνŠΈμ˜ 데이터λ₯Ό λ°”κΏ”μ•Ό ν•˜λŠ” κ²½μš°κ°€ λ°œμƒ

πŸš₯ solution

  • μƒμ†λœ μ»΄ν¬λ„ŒνŠΈκ°€ 많고 λΆ€λͺ¨,μžμ‹ μ»΄ν¬λ„ŒνŠΈμ˜ μ›ν™œν•œ 데이터 μ „μ—­ 관리λ₯Ό μœ„ν•œ λ¦¬λ•μŠ€ ν™œμš©
issue3: 이미지 μ—…λ‘œλ“œ 속도

πŸ™ situation

  • μ„œλΉ„μŠ€ νŠΉμ„±μƒ κ²Œμ‹œλ¬Ό(κ·Έλ£ΉλŸ¬λ‹/μ½”μŠ€μΆ”μ²œ) 등둝 μ‹œ 닀쀑 사진 μ—…λ‘œλ“œλ‘œ κ³ ν™”μ§ˆ 이미지 μ—…λ‘œλ“œμ˜ κ°€λŠ₯성이 있음

πŸ›‘ cause

  • μœ μ € ν…ŒμŠ€νŠΈ κ²°κ³Ό 2mbκ°€ λ„˜κ±°λ‚˜ 슀마트폰 ν›„λ©΄μΉ΄λ©”λΌλ‘œ 찍을 μ‹œ 5mbκ°€ λ„˜λŠ” 사진듀이 μ—…λ‘œλ“œ 될 μ‹œ μ—…λ‘œλ“œκ°€ 였래 κ±Έλ € μœ μ €κ°€ 등둝 ν›„ 였λ₯˜λ‘œ μΈμ‹ν•˜λŠ” 상황 λ°œμƒ

πŸš₯ solution

  • browser-image-compression 라이브러리둜 1μž₯,2μž₯,3μž₯ μ—…λ‘œλ“œ λ˜λŠ” 각각의 상황을 κ³ λ €ν•˜μ—¬ 이미지λ₯Ό μ••μΆ•ν•œ ν›„ μ„œλ²„λ‘œ 전달 -> λ°μŠ€ν¬νƒ‘ ν…ŒμŠ€νŠΈ κ²°κ³Ό 5Mbκ°€ λ„˜λŠ” 사진은 1Mb μ΄λ‚΄λ‘œ μš©λŸ‰μ„ μ••μΆ•ν•˜μ˜€κ³  μ—…λ‘œλ“œ 속도λ₯Ό 50% 이상 쀄여 μ—…λ‘œλ“œ 속도 κ°œμ„ 



🌸 More Info

[🌿 ν”„λ‘œμ νŠΈ μ†Œκ°œ λ¬Έμ„œ]
πŸ’Ύ μ™€μ΄μ–΄ν”„λ ˆμž„

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors