/no-sunday

I really want to rest on sunday.

Primary LanguageTypeScript

๐Ÿ’— Project Bounce

bounce-mockup

  • ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ : 2023.01.20 ~ 2023.01.30

๐Ÿ”— ๋ฐฐํฌ๋งํฌ

๐Ÿ”— ์‹œ์—ฐ์˜์ƒ ์œ ํŠœ๋ธŒ


์†Œ๊ฐœ

  • ๋ฐ”์šด์Šค๋Š” ์•„ํ‹ฐ์ŠคํŠธ์™€ ํŒฌ์„ ์ด์–ด์ฃผ๋Š” ํŒฌ๋ค ๋ผ์ดํ”„ ํ”Œ๋žซํผ ์ž…๋‹ˆ๋‹ค.
  • ๊ฐ ์•„ํ‹ฐ์ŠคํŠธ๋ณ„๋กœ ๊ณต์‹ ์ฑ„๋„์˜ ์œ ํŠœ๋ธŒ ์˜์ƒ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๋“ค์€ ์œ ํŠœ๋ธŒ ์˜์ƒ์— ์ข‹์•„์š”์™€ ๋Œ“๊ธ€์„ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“ ํšŒ๊ณ  ๋ฐ ๊ด€๋ จ ๊ธฐ๋ก

๐ŸŽ‰ ํ”„๋กœ์ ํŠธ S.A

๐Ÿ“‘ ํ”„๋กœ์ ํŠธ ๋…ธ์…˜

๐Ÿ““ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ์น˜๋ฉฐ, KPT ํšŒ๊ณ 



๐Ÿ™Œ ํŒ€์› ์†Œ๊ฐœ

์ด๋ฆ„ ๊นƒํ—ˆ๋ธŒ
๊น€์›์ค€ @kimwonjuun
๋ฐ•์ง„์–‘ @Jinyang-Park
์ด์œ ์ • @yujleee
์ •๋‹ค์ธ @dada992

์—ญํ•  ๋ถ„๋‹ด ๊ด€๋ จํ•ด์„œ๋Š” ํ”„๋กœ์ ํŠธ ๋…ธ์…˜์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.

๐Ÿ“‘ ํ”„๋กœ์ ํŠธ ๋…ธ์…˜



๐Ÿ–ฅ ๊ธฐ์ˆ  ์Šคํƒ

Front-end

React Redux-toolkit Redux-Thunk Axios TypeScript Styled-components

Back-end

firebase

Deploy

Vercel



๐Ÿ—‚ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ

๐Ÿ“ฆpublic
 โ”ฃ ๐Ÿ“‚assets
 โ”ฃ ๐Ÿ“‚favicon
 โ”— ๐Ÿ“œindex.html
๐Ÿ“ฆsrc
 โ”ฃ ๐Ÿ“‚common
 โ”ฃ ๐Ÿ“‚components
 โ”ƒ โ”ฃ ๐Ÿ“‚Auth
 โ”ƒ โ”ฃ ๐Ÿ“‚Detail
 โ”ƒ โ”ฃ ๐Ÿ“‚Layout
 โ”ƒ โ”ฃ ๐Ÿ“‚Main
 โ”ƒ โ”ฃ ๐Ÿ“‚Mypage
 โ”ƒ โ”ฃ ๐Ÿ“œScrollToTopButton.tsx
 โ”ƒ โ”ฃ ๐Ÿ“œScrollUpTo.tsx
 โ”ƒ โ”— ๐Ÿ“œSearchList.tsx
 โ”ฃ ๐Ÿ“‚hooks
 โ”ฃ ๐Ÿ“‚pages
 โ”ฃ ๐Ÿ“‚redux
 โ”ฃ ๐Ÿ“‚shared
 โ”ฃ ๐Ÿ“‚utils
 โ”ฃ ๐Ÿ“œApp.css
 โ”ฃ ๐Ÿ“œApp.test.tsx
 โ”ฃ ๐Ÿ“œApp.tsx
 โ”ฃ ๐Ÿ“œindex.css
 โ”ฃ ๐Ÿ“œindex.tsx
 โ”ฃ ๐Ÿ“œreact-app-env.d.ts
 โ”ฃ ๐Ÿ“œreportWebVitals.ts
 โ”— ๐Ÿ“œsetupTests.ts
  • assets: ๋กœ๊ณ  ๋ฐ ์ด๋ฏธ์ง€ ํŒŒ์ผ๋“ค
  • components:
    • common: ๊ณตํ†ต์ ์œผ๋กœ ์“ฐ์ด๋Š” ํŒŒ์ผ๋“ค
    • Auth: ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž… ๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ
    • Detail : ์œ ํŠœ๋ธŒ ์ƒ์„ธํŽ˜์ด์ง€ ๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ
    • Layout: ํ—ค๋”, ํ‘ธํ„ฐ, ๊ฒ€์ƒ‰์ฐฝ ์ปดํฌ๋„ŒํŠธ
    • Main: ๋ฉ”์ธ ํŽ˜์ด์ง€ ๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ
    • Mypage : ๋งˆ์ดํŽ˜์ด์ง€
  • hooks : ์ปค์Šคํ…€ ํ›… ์ปดํฌ๋„ŒํŠธ๋“ค
  • redux : ๋ฆฌ๋•์Šค ๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ๋“ค
  • pages: ๊ฐ ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ๋“ค
  • shared: ๋ผ์šฐํ„ฐ ์„ค์ • ํŒŒ์ผ
  • utils: ๊ธฐํƒ€ ๊ณต์šฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ จ ํŒŒ์ผ๋“ค


๐Ÿค ๊ทœ์น™

  • ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜ (์œ ๋‹ค์‹œํ‹ฐ ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜ ์ฐธ๊ณ !)

    ํ‚ค์›Œ๋“œ ์„ค๋ช…
    feat ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ ๊ฒฝ์šฐ
    fix ๋ฒ„๊ทธ๋ฅผ ๊ณ ์นœ ๊ฒฝ์šฐ
    refactor ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
    docs ๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ
    perf ์„ฑ๋Šฅ๊ฐœ์„ 
    chore ๊ทธ๋ŸฐํŠธ ์ž‘์—… ์—…๋ฐ์ดํŠธ, ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์Œ
  • ์ฝ”๋“œ ์ปจ๋ฒค์…˜

    • prettierrc๋กœ prettier ์„ค์ • ํ†ต์ผ
    • ๋ณ€์ˆ˜/ํ•จ์ˆ˜/ํ•ธ๋“ค๋Ÿฌํ•จ์ˆ˜ ์ด๋ฆ„ ํ†ต์ผ
      • ๋ณ€์ˆ˜๋Š” ๋ช…์‚ฌํ˜• / ๋ณต์ˆ˜๋ฐ์ดํ„ฐ ๋ณ€์ˆ˜๋Š” ๋ช…์‚ฌ๋ณต์ˆ˜ํ˜•
        • ex) todo
        • ex) todos
    • ํ•ธ๋“ค๋Ÿฌํ•จ์ˆ˜๋ช…์€ handle์„ ์•ž์— ๋ถ™์ด๊ธฐ
      • ex) handleTodoFormSubmit


๐Ÿ‘ฅ ๊นƒํ—ˆ๋ธŒ ํ˜‘์—… ๋ฐฉ์‹

๐Ÿ’ก ํ•˜๋‚˜์˜ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์ธ main ์ค‘์ ์œผ๋กœ ์šด์šฉํ•˜๋ฉฐ PR์„ ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์™„๋ฃŒํ•˜๋ฉด main ๋ธŒ๋žœ์น˜๋กœ Pull Request ์š”์ฒญ
  • Vercel์˜ Countinuous Deploy๋ฅผ ํ™œ์šฉํ•ด Preview ์‚ฌ์ดํŠธ ํ…Œ์ŠคํŠธ
  • ํŒ€์› 1๋ช… ์ด์ƒ ๋ฆฌ๋ทฐ ํ›„ ์Šน์ธ, Merge ์ง„ํ–‰


๐Ÿ’ก ๊ตฌํ˜„ ๊ธฐ๋Šฅ

  • ํ—ค๋”
    • ๋กœ๊ทธ์ธ / ๋น„ ๋กœ๊ทธ์ธ ์‹œ ์•„์ด์ฝ˜, ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ๋‹ค๋ฅด๊ฒŒ ๋…ธ์ถœ
    • ๊ฐ ์•„ํ‹ฐ์ŠคํŠธ ์œ ํŠœ๋ธŒ ๋ชฉ๋ก์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ
  • ๋ฉ”์ธํŽ˜์ด์ง€
    • ํŒŒ์ด์–ด๋ฒ ์ด์Šค์—์„œ ์•„ํ‹ฐ์ŠคํŠธ ์ •๋ณด ๋ฐ ์ด๋ฏธ์ง€๋ฅผ ๋กœ๋“œํ•˜์—ฌ ์นด๋“œ ์ƒ์„ฑ
    • ์•„ํ‹ฐ์ŠคํŠธ ์นด๋“œ๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋ฏธ๋””์–ด ํŽ˜์ด์ง€๋กœ ์ด๋™
  • ๋ฏธ๋””์–ด ํŽ˜์ด์ง€
    • ์•„ํ‹ฐ์ŠคํŠธ ํด๋ฆญ ์‹œ ์œ ํŠœ๋ธŒ API๋กœ ํ•ด๋‹น ์•„ํ‹ฐ์ŠคํŠธ ์œ ํŠœ๋ธŒ ์˜์ƒ ๋ฆฌ์ŠคํŠธ ๋ณด๊ธฐ
  • ์œ ํŠœ๋ธŒ ์˜์ƒ ํŽ˜์ด์ง€
    • ๋ฏธ๋””์–ด ํŽ˜์ด์ง€์—์„œ ํด๋ฆญํ•œ ์•„ํ‹ฐ์ŠคํŠธ์˜ ์œ ํŠœ๋ธŒ ์˜์ƒ ๋ณด๊ธฐ ๊ธฐ๋Šฅ
    • ๋Œ“๊ธ€ CRD ๊ธฐ๋Šฅ์„ ํ†ตํ•˜์—ฌ ์œ ํŠœ๋ธŒ ์˜์ƒ์— ๋Œ€ํ•œ ์ฝ”๋ฉ˜ํŠธ ๋‹ฌ๊ธฐ ๊ธฐ๋Šฅ
    • ์ข‹์•„์š” ๊ธฐ๋Šฅ
    • ์†Œ์…œ ๊ณต์œ  ๊ธฐ๋Šฅ
    • ์ธ๊ธฐ์ˆœ ๋ฏธ๋””์–ด(์œ ํŠœ๋ธŒ ์˜์ƒ) ํ‘œ์‹œ
  • ๋งˆ์ดํŽ˜์ด์ง€
    • ์œ ์ €๋ณ„ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€, ๋‹‰๋„ค์ž„ ๋ Œ๋”๋ง
    • ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ๋ณ€๊ฒฝ
    • ์œ ์ €๊ฐ€ ์ข‹์•„์š” ํ•œ ์˜์ƒ๋“ค ๋ฆฌ์ŠคํŠธ ๋ Œ๋”๋ง
    • ์œ ์ €๊ฐ€ ์ž‘์„ฑํ•œ ๋Œ“๊ธ€ ๋ฆฌ์ŠคํŠธ ๋ Œ๋”๋ง
    • ๋กœ๊ทธ์•„์›ƒ
  • ๋กœ๊ทธ์ธ / ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€
    • ์ด๋ฉ”์ผ ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž… + ์œ ํšจ์„ฑ๊ฒ€์‚ฌ, disabled
    • ์†Œ์…œ๋กœ๊ทธ์ธ


๐Ÿ”ฅ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

๐Ÿ”— ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๋กœ๊ทธ์ธ ์œ ์ง€ ์ด์Šˆ

๐Ÿ”— ์ข‹์•„์š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๊ด€๋ จ ์ด์Šˆ

์ด ์™ธ์˜ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…์€ ํŒ€ ๋ฉค๋ฒ„๋“ค์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ์กฐํ•ด์ฃผ์„ธ์š”.