Werecord project -v2๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป

Werecord project -v2๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป

Werecord -v2 project ํ›„๊ธฐ ๋ฐ ํ”ผ๋“œ๋ฐฑ์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ We Record -v2?!?!


๐Ÿ’๐Ÿปโ€โ™‚๏ธ ๋ฒ„์ „1 - WeRecord ํ›„๊ธฐ
๐Ÿ’๐Ÿปโ€โ™‚๏ธ ๋ฒ„์ „1 - WeRecord ์˜์ƒ

ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ํ•œ We Record project๊ฐ€ ๋งˆ๋ฌด๋ฆฌ ๋œ์ง€ ์–ด๋А๋ง ํ•œ๋‹ฌ์ด ์ง€๋‚˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค..(์‹œ๊ฐ„์ด ์ง„์งœ ๋น ๋ฅด๋‹ค..๐Ÿš—) ํ•จ๊ป˜ํ–ˆ๋˜ ํŒ€์›๋“ค๋„ ๊ฐ์ž๋„์ƒ..?์˜ ๋А๋‚Œ์œผ๋กœ ํฉ์–ด์ ธ ์ž์‹ ๋งŒ์˜ ์Šคํƒ€์ผ, ๋ฐฉ์‹๋Œ€๋กœ ์ทจ์—…์„ ์ค€๋น„ํ•˜๋Š” ์‹œ๊ฐ„์„ ๋ณด๋‚ด๊ฒŒ ๋  ๊ฒƒ ๊ฐ™์•˜๋‹ค.

๋น ๋“ฏํ•œ ์ทจ์—… ์ค€๋น„๋กœ We Record์˜ ํ”„๋กœ์ ํŠธ๋Š” ์šฐ๋ฆฌ์˜ ์ฝ”๋”ฉ ์„ฑ์žฅ์˜ ์–‘๋ถ„์ด ๋˜์–ด ๊ธฐ์–ต ์†์— ์žŠํ˜€์งˆ ๊ฒƒ๋งŒ ๊ฐ™์•˜์ง€๋งŒ,, ์‚ฌ๋žŒ ์ผ์€ ๋ชจ๋ฅด๋Š” ๊ฒƒ!!โญ๏ธ ๊ทธ์ € ์ฝ”๋”ฉ์ด ์žฌ๋ฏธ์žˆ๊ณ , ๋ฐฐ์šฐ๊ณ  ์‹ถ์€ ๊ธฐ์ˆ  ์Šคํƒ๋„ ๋งŽ์•˜๊ณ , ๋ฌด์—‡๋ณด๋‹ค ์„œ๋น„์Šค๋ฅผ ๋ชฉ์ ์œผ๋กœ ์ฒ˜์Œ ์ž‘์—…ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋”์šฑ ์™„์„ฑ๋„ ์žˆ๋Š” ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์— ๋งˆ์Œ์ด ๊ฐ”๋‹ค. ์ด๋Ÿฐ ๋‚˜๋ฅผ ํŒ€์›๋ถ„๋“ค๊ณผ ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ๋ฐฐ๋ คํ•ด์ฃผ์…”์„œ ํ˜ผ์ž We Record -v2๋ฅผ ์ž‘์—…ํ•  ๊ธฐํšŒ๊ฐ€ ์ƒ๊ธฐ๊ฒŒ ๋˜์—ˆ๋‹ค!! ๐Ÿ”ฅ (๋‘๋‘”)

์•ฝ 2์ฃผ ์ •๋„๊ฐ€ ์ง€๋‚œ ์ง€๊ธˆ ํ”„๋กœ์ ํŠธ๋Š” ์ƒ๊ฐ๋ณด๋‹ค ์žฌ๋ฏธ์žˆ์—ˆ๊ณ  ๋‹ค๋ฅธ ๋™๊ธฐ๋“ค์ด ์งฐ๋˜ ์ฝ”๋“œ๋“ค์„ ๋ณด๋ฉด์„œ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š”์ง€ ๋ชฐ๋ž๋˜ ๋กœ์ง๋„ ์•Œ๊ฒŒ ๋˜๊ณ , ๋‚ด๊ฐ€ ์งฐ๋˜ ์ฝ”๋“œ์™€ ๋™๊ธฐ ์ฝ”๋“œ๋ฅผ ๋น„๊ตํ•˜๋ฉด์„œ ์–ด๋–ค๊ฒŒ ๋” ํšจ์œจ์ ์ผ๊นŒ ๊ณ ๋ฏผ๋„ ํ•˜๋ฉด์„œ ์žฌ๋ฐŒ๊ณ  ์•Œ์ฐฌ ์‹œ๊ฐ„์„ ๋ณด๋‚ธ ๊ฒƒ ๊ฐ™์•„ ๊ธฐ๋ถ„์ด ์ข‹์•˜๋‹ค.๐Ÿ˜Š

์ด์ œ๋Š” ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐ”๋€Œ์—ˆ์ง€๋งŒ ์ปจ๋ฒค์…˜๊ณผ trello๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ• ์ผ์„ ์ฒดํฌํ•˜๊ณ  ๊ธฐ๋ก์„ ๋‚จ๊ฒจ๋‘์–ด ์Šค์Šค๋กœ ํ”ผ๋“œ๋ฐฑ์„ ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ์ปจ๋ฒค์…˜์€ ์ตœ๋Œ€ํ•œ ์ด์ „ ํ”„๋กœ์ ํŠธ๋ฅผ ๋”ฐ๋ผ๊ฐ€๊ณ  trello๋ฅผ ํ™œ์šฉํ•˜์—ฌ blocker์™€ ๋ฐฑ์•ค๋“œ๋ถ„๊ป˜ ์ถ”๊ฐ€์ ์œผ๋กœ ์š”์ฒญํ•ด์•ผ๋  ๋ถ€๋ถ„๋“ค์„ ํ‹ฐ์ผ“์œผ๋กœ ๋งŒ๋“ค์–ด ๋ณด๊ด€ํ–ˆ๋‹ค.

trello

๐Ÿ“Œ ๊ฐ ํŽ˜์ด์ง€ ์†Œ๊ฐœ


๐ŸŒฑ Initail Setting

  • ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐ”๋€Œ๋ฉด์„œ ์ œ์ผ ๋จผ์ € ์†๋ดค๋˜ ๊ฒƒ์€ ์ดˆ๊ธฐ์„ธํŒ…์ด์—ˆ๋‹ค. ๋ฐ˜์‘ํ˜•์„ ์‹œ์ž‘์œผ๋กœ ํฐํŠธ, ์ƒ‰์ƒ๋“ค์ด ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค master๊ฐ€ merge๋˜๋‹ค๊ฐ€ ์ง€์ณ ๊ฒฐ๊ตญ ๊ฐ์ž ์ปดํฌ๋„ŒํŠธ์—์„œ ์ผ์ผํžˆ ๋”ฐ๋กœ ์„ ์–ธํ–ˆ๋˜ ๊ธฐ์–ต์ด ๋– ์˜ฌ๋ž๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • 1์ฐจ ํ”„๋กœ์ ํŠธ ๋‹น์‹œ์— ์‚ฌ์šฉํ–ˆ๋˜ ์ดˆ๊ธฐ์„ธํŒ…์˜ ๊ธฐ์–ต์„ ๋˜์‚ด๋ ค ํฐํŠธ ์ƒ‰์ƒ, ๋ฐ˜์‘ํ˜• breakpoint ๋“ฑ๋“ฑ์„ ๋‹ค์‹œ ์ž‘์—…ํ–ˆ๋‹ค.
  • ์ดˆ๊ธฐ ์„ธํŒ…์—์„œ ์ œ์ผ ์‹ ๊ฒฝ์ผ๋˜ ๊ธฐ๋Šฅ์€ background์˜€๋‹ค!! ํŽ˜์ด์ง€ ๋’ค์— ๋ณด์ด๋Š” ์‚ฐ๊ฐ™์€ ์‹ค๋ฃจ์—ฃ๋“ค์ด ์˜†์œผ๋กœ ๊ณ„์† ์›€์ง์ด๋Š” ๊ฒƒ๊ณผ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ์ƒ‰์ƒ์ด ๋ณ€ํ•˜๋Š” ๊ธฐ๋Šฅ์ด์—ˆ๋‹ค.(์™€์šฐ!!)

morning ์•„์นจ afternoon ์ ์‹ฌ evening ์ €๋… dawn ์ƒˆ๋ฒฝ

  • ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ• ๊นŒ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ global css์— dayjs๋ฅผ import์‹œํ‚ค๊ณ  ์‹œ๊ฐ„ ๊ฐ’์— ๋”ฐ๋ผ์„œ background๋ฅผ ์ง€์ •ํ•ด์ฃผ์–ด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋๋ƒˆ๋‹ค! (styled component ์งฑ์ด๋‹ค!! ๐Ÿ‘๐Ÿผ)

  • ๋’ค์— ๋™์‚ฐ๊ฐ™์ด ์ƒ๊ธด ๊ณก์„ ์ด ์˜†์œผ๋กœ ์›€์ง์ด๋Š” ๋กœ์ง์€ ๋™์‚ฐ ์ด๋ฏธ์ง€์— animation์„ ์ฃผ์–ด ์˜†์œผ๋กœ ๋ฌดํ•œํžˆ ์›€์ง์ด๋„๋ก ์ฝ”๋“œ๋ฅผ ์งฐ๋Š”๋ฐ.. ์ƒ๊ฐ๋ณด๋‹ค ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆฌ๋Š” ๋“ฏํ•œ ๋А๋‚Œ์ด๋ผ ์ถ”ํ›„์— request animation frame์œผ๋กœ ๊ตฌํ˜„ํ•ด๋ณผ๊นŒ ํ•œ๋‹ค.


๐ŸŒฑ Global Component

  • GNB์™€ footer๋„ ์กฐ๊ธˆ ๋‹ค์‹œ ์†๋ด์•ผํ–ˆ๋‹ค. GNB์™€ footer์˜ ์–‘ ์˜† margin์ด page๋งˆ๋‹ค ์ผ์ •ํ•ด์•ผํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • ๋˜ํ•œ ๊ธฐ์กด์— ํ•ด๋‹น ํŽ˜์ด์ง€์— ์žˆ์œผ๋ฉด ๊ทธ ๋ฒ„ํŠผ์ด ์•ˆ๋ณด์ด๊ฒŒ ๋˜์—ˆ๋˜ ๊ฒƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ, ๋ฐ”๋€ GNB๋Š” ๊ฐ ํŽ˜์ด์ง€์— ์žˆ์„ ๋•Œ ํฐํŠธ ์ƒ‰์ƒ์ด ํฐ์ƒ‰์œผ๋กœ ๋ฐ”๋€Œ์–ด์•ผํ–ˆ๋‹ค.
  • location.pathname์„ ์‚ฌ์šฉํ•ด ์กฐ๊ฑด๋ถ€ ๋žœ๋”๋ง์œผ๋กœ ๋˜์–ด์žˆ๋˜ ์ฝ”๋“œ๋ฅผ styled component์— ๋„˜๊ฒจ์ฃผ์–ด ์œ ๋™์ ์œผ๋กœ ๋ฐ”๋€Œ๋„๋ก ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค.

GNB desktop GNB mobile

  • ๊ธฐ์กด์˜ modal๋„ ๋‹ค์‹œ ์ž‘์—…ํ–ˆ๋‹ค! ์ด์ œ๋Š” start๋ฅผ ๋ˆŒ๋ €์„ ๋•Œ ๋˜ํ•œ ๋ชจ๋‹ฌ์ฐฝ์ด ๋– ์•ผํ–ˆ๊ณ  ๋ชจ๋‹ฌ ํฌ๊ธฐ๋Š” ์ผ์ •ํ•ด์•ผํ•˜์ง€๋งŒ ๋‚ด๋ถ€ ์ปจํ…์ธ  ํฌ๊ธฐ๊ฐ€ ์ œ๊ฐ๊ฐ์ด์–ด์„œ ๋‚ด๋ถ€์— padding์„ ์ฃผ๊ธฐ๋ณด๋‹จ width์™€ height๋ฅผ ์ง์ ‘ ์„ค์ •ํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค.

๐ŸŒฑ Landing Page

  • ์ˆ˜์ •ํ•˜๋Š”๋ฐ ์กฐ๊ธˆ ๋ณต์žกํ–ˆ๋˜ ๋žœ๋”ฉํŽ˜์ด์ง€..! ์†Œ์…œ ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„์•ˆํ•ด๋ณธ ๋‚˜๋กœ์„œ๋Š” ๋ฉ€ ๊ฑด๋“œ๋ฆฌ๋ฉด ์•ˆ๋˜๊ณ  ๋˜๋Š”์ง€.. ํ•˜๋‚˜ํ•˜๋‚˜ ์†๋ณผ ๋•Œ๋งˆ๋‹ค ์กฐ์‹ฌ์Šค๋Ÿฝ๊ฒŒ ๋‹ค๋ค˜๋˜ ๊ฒƒ ๊ฐ™๋‹ค.
  • ํฌ์ธํŠธ๋Š” -v1์—์„œ๋Š” SignIn์ด ๋ชจ๋‹ฌ์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์กŒ๋Š”๋ฐ -v2์—์„œ๋Š” ํ•œ ํŽ˜์ด์ง€ ๋‚ด์—์„œ ๊ตฌํ˜„์„ ํ•ด์•ผํ–ˆ๋‹ค..!!
  • ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๋Š” ๊ฒƒ๊นŒ์ง€๋Š” ์–ด๋ ต์ง€ ์•Š์•˜์ง€๋งŒ ์ฒ˜์Œ๋ณด๋Š” ์†Œ์…œ๋กœ๊ทธ์ธ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  JWT๋ฅผ ๋ฐฉ์‹์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ž‘์—…ํ•ด์„œ ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ์†Œ์š”๋˜์—ˆ๋‹ค.(๋‚˜์ค‘์— JWT ํฌ์ŠคํŒ…ํ•ด์•ผ์ง€~)

landing


๐ŸŒฑ Main Page

  • ๋“œ๋””์— ์‹œ๊ฐ„์ด ์ œ์ผ ๋งŽ์ด ๊ฑธ๋ฆฐ Main Page๋‹ค..
  • ๋”ฑ ๋ด๋„ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋Š”๋ฐ ๋ฐ”๋กœ ์‹ค์‹œ๊ฐ„ ํƒ€์ด๋จธ๊ธฐ๋Šฅ, ์Šคํฌ๋ฆฐ์ƒท ๊ธฐ๋Šฅ์ด๋‹ค.

1. ์‹ค์‹œ๊ฐ„ ํƒ€์ด๋จธ ๊ธฐ๋Šฅ

timer

  • ๊ธฐ์กด์— ์—†๋˜ ๊ธฐ๋Šฅ์ด๋ผ ๊ณ ๋ฏผ์„ ๋งŽ์ด ํ–ˆ๋‹ค. ๋งˆ์ด ํŽ˜์ด์ง€์—๋„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ทผํƒœ ์‹œ๊ฐ„์ด ๋ฐ˜์˜๋˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์ง€๋งŒ ๊ทธ๊ฒƒ์€ ์‹œ๊ฐ„๋งŒ ๋”ฐ๋กœ ๋นผ๋‚ด์–ด ๋žœ๋”๋ง ์‹œํ‚จ ๊ฒƒ์ด๋ผ๋ฉด, ์ด ๊ธฐ๋Šฅ์€ flipClock๊ธฐ๋Šฅ๋„ ์ถ”๊ฐ€์‹œ์ผœ์•ผ ํ–ˆ๋‹ค.
  • npm์„ ๊ตฌ์„๊ตฌ์„ ์ฐพ๋‹ค๊ฐ€ ํŽ˜์ด์ง€ ์ปจ์…‰๊ณผ ์ž˜ ๋งž์„ ๊ฒƒ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์•˜๋‹ค. react-simple-flipClock์ด ๋ฐ”๋กœ ๊ทธ๊ฒƒ์ด์ง€๋งŒ ๋ฌธ์ œ์ ์ด ํ•˜๋‚˜ ์žˆ์—ˆ๋Š”๋ฐโ€ฆ ์‹œ๊ฐ„์ด 0์œผ๋กœ ๊ฐ€๋Š” ํƒ€์ด๋จธ ๊ธฐ๋Šฅ๋งŒ ์žˆ์—ˆ๊ณ  ์ •๊ตํ•œ ์Šคํƒ€์ผ๋ง์„ ์ง€์›์„ ํ•˜์ง€ ์•Š์•˜๊ณ ,, pause๋ฅผ ๋ˆŒ๋Ÿฌ ๋ฉˆ์ถ”๊ณ  ๋‹ค์‹œ ๊ฐ€๊ฒŒํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์—†์—ˆ๋˜ ๊ฒƒ.. ๋„ˆ๋ฌด๋‚˜ pureํ•œ ํƒ€์ด๋จธ์˜€๋‹ค. ๐Ÿ‘ถ๐Ÿป

  • ๊ฒฐ๊ตญ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋œฏ์–ด ์ปค์Šคํ…€ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ.. ์ƒ๊ฐ๋ณด๋‹ค ์žฌ๋ฏธ์žˆ๋„ค..?? ๐Ÿคญ

  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋™์ž‘ ๋ฐฉ์‹์„ ์‚ดํŽด๋ณด๋‹ˆ ์ดˆ๋ฅผ ๋„˜๊ฒจ์ฃผ๋ฉด ๋‚ด๋ถ€์—์„œ ์•Œ์•„์„œ 1์ดˆ๋งˆ๋‹ค transform์ด ์ผ์–ด๋‚˜๋„๋ก ์ฝ”๋“œ๊ฐ€ ์งœ์—ฌ์ ธ ์žˆ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  0์— ๋„๋‹ฌํ•˜๋ฉด ํƒ€์ด๋จธ๊ฐ€ ๋ฉˆ์ถ”๋Š” ๋ฐฉ์‹์ด์—ˆ๋‹ค.

  • ์ด๊ฒƒ์„ ์ด์šฉํ•˜์—ฌ ๋ฒก์•ค๋“œ๋ถ„๊ป˜ ์ง€๊ธˆ๊นŒ์ง€ ์ง„ํ–‰ํ•œ total time๊ณผ last stop time์„ ์š”์ฒญํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค.

    • start๋ฅผ ๋ˆŒ๋ €์„ ๋•Œ๋Š” 0๋ถ€ํ„ฐ serinterval๋กœ 1์”ฉ ์ฆ๊ฐ€
    • restart๋‚˜ pause๋ฅผ ๋ˆŒ๋ €์„ ๋•Œ๋Š” ๋ฐฑ์—”๋“œ๋กœ๋ถ€ํ„ฐ total time์„ ์ดˆ๋กœ ๋ฐ›์•„์„œ ๋กœ์ง์— ์ ์šฉ
    • start๋ฅผ ๋ˆ„๋ฅธ ์ƒํƒœ์—์„œ ํŽ˜์ด์ง€๋ฅผ ๋‚˜๊ฐ”๋‹ค๊ฐ€ ๋‹ค์‹œ ๋“ค์–ด์™”์„ ๋•Œ๋„ ๊ณ„์† ๋ณ€ํ•˜๋Š” ๊ฐ’์„ ๊ธฐ์–ตํ•˜๋Š” ๋ฐฉ๋ฒ•์€ total์‹œ๊ฐ„์— (๊ฐ€์žฅ ๋‚˜์ค‘์— ๋ˆ„๋ฅธ start์‹œ๊ฐ„ - ํ˜„์žฌ ์‹œ๊ฐ„)์œผ๋กœ ๊ณ„์‚ฐํ–ˆ๋‹ค.
    • ๋ฌธ์ œ์ ์ด ํ•˜๋‚˜ ์žˆ๋Š”๋ฐ ๋ฐฑ์—”๋“œ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ์™€ ํ”„๋ก ํŠธ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ๊ฐ„ํ˜น ๋ฐœ์ƒํ•œ๋‹ค.. ์ด๋กœ ์ธํ•ด 1~2์ดˆ ์ •๋„ ์˜ค์ฐจ๊ฐ€ ๋‚˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ๋ฐœ์ƒํ•˜๋Š”๋ฐ.. ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋Š” ํ•œ์ชฝ์—์„œ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด ์ข€ ๋” ์•ˆ์ •์ ์œผ๋กœ ๋ณด์ธ๋‹ค..ใ… 

2. ์Šคํฌ๋ฆฐ ์บก์ณ ๊ธฐ๋Šฅ

screenCapture

  • ์ด๊ฒƒ๋„ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด๋ผ ์‹ ๊ธฐํ•˜๊ณ  ์žฌ๋ฏธ์žˆ์—ˆ๋‹ค :)
  • html2canvas ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ ์šฉํ–ˆ๋Š”๋ฐ ์ฒ˜์Œ์—๋Š” desktop์˜์—ญ์„ ์ง€์ •ํ•˜๋ ค ํ–ˆ์—ˆ์ง€๋งŒ, desktop์˜์—ญ์—๋Š” ์—†๋Š” ์š”์†Œ๋“ค๋„ ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ desktop์—๋Š” ์žˆ์ง€๋งŒ screenCapture์—๋Š” ๋ณด์ด์ง€ ์•Š์•„์•ผํ•˜๋Š” ์š”์†Œ๋“ค์ด ์žˆ์—ˆ๋‹ค.
  • ๊ฒฐ๊ตญ ScreenModal์„ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด ๊ทธ modal๋ฅผ captureํ•˜๋Š” ์‹์œผ๋กœ ๊ณ„ํš์„ ๋ณ€๊ฒฝํ–ˆ๋‹ค! ๐Ÿ˜ƒ

๐ŸŒฑ My Page

myPage

  • ๋งˆ์ดํŽ˜์ด์ง€๋Š” ์ „์ฒด์ ์ธ UI๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด ์ฃผ ์ž‘์—…์ด์—ˆ๋‹ค.
  • ์•ž์„œ ์†Œ๊ฐœํ•œ ๋žœ๋”ฉ ํŽ˜์ด์ง€์™€ ๋งˆ์ด ํŽ˜์ด์ง€๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด์„œ ๋А๋‚€ ๊ฒƒ์ด ์žˆ๋‹ค๋ผ๋ฉด,, ๋‹ค๋ฅธ ์‚ฌ๋žŒ ์ฝ”๋“œ๋„ ๋‚ด ์ฝ”๋“œ์ฒ˜๋Ÿผ ๋ณด๋Š” ๋Šฅ๋ ฅ์„ ๊ธฐ๋ฅด๋Š” ๊ฒƒ!! ๊ต‰์žฅํžˆ ์ค‘์š”ํ•œ ๋Šฅ๋ ฅ์ธ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐ๋˜์—ˆ๋‹ค!๐Ÿฅธ
  • ๊ธฐ์กด์˜ highChart์˜ ๋‚ด๋ถ€ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผํ•˜๋Š” ์ž‘์—…, ๋žœ๋”๋ง ์‹œ์ผœ์•ผํ•˜๋Š” ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ฝ”๋“œ ์ˆ˜์ • ์ž‘์—…์„ ์ œ์™ธํ•˜๋ฉด ๋น ๋ฅด๊ฒŒ ์ž‘์—…ํ•œ ํŽ˜์ด์ง€์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค. :)

๐ŸŒฑ Mate Page

matePage

  • ๊ธฐ์ˆ˜ํŽ˜์ด์ง€ ๋˜ํ•œ ๋น ๋ฅด๊ฒŒ ์ž‘์—…ํ•œ ํŽ˜์ด์ง€์˜€๋‹ค.
  • ์ „์ฒด์ ์ธ UI๋ถ€๋ถ„์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ์ฃผ ์ž‘์—…์ด์—ˆ๋‹ค.
  • ๊ธฐ์ˆ˜ํŽ˜์ด์ง€๋Š” ๋‚˜ ํ˜ผ์ž ์ž‘์—…ํ•˜๊ธฐ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ๊ณ  ๋ฐฑ์—”๋“œ๋ถ„๊ป˜ ์ถ”๊ฐ€์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญ๋“œ๋ ค์•ผํ–ˆ๋‹ค! (๊ณต์†๊ณต์†)

๐ŸŒฑ Responsive Web (๋ฐ˜์‘ํ˜• ์›น)

responsiveWeb

  • ๋ฐ˜์‘ํ˜•์€ ์ตœ๋Œ€ 1440px, ๋ชจ๋ฐ”์ผ 1024px๋กœ ์ง€์ •ํ•˜์—ฌ ์ ์šฉํ•˜์˜€๋‹ค.
  • styled์— media๋ฅผ ์ ์šฉํ•˜์—ฌ ํ•ด๋‹น breakPoint๋ณ„๋กœ ๋ณ€ํ™”๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ฐ component์— ์„ ์–ธํ•ด์ฃผ์–ด์•ผ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค.
  • ํ•˜์ง€๋งŒ ์ด ๋ฐฉ๋ฒ•์ด ๊ฐ€๋…์„ฑ์ด๋‚˜ ํšจ์œจ์ ์ธ ์ฝ”๋“œ์ธ์ง€๋Š” ๋‹ค์‹œ ๊ฒ€ํ† ํ•ด๋ณด๊ณ  ์ ์šฉ์‹œํ‚ฌ ์˜ˆ์ •์ด๋‹ค.

๐ŸŒฑ Error & Fix

  • ๋‚˜๋ฆ„ ๊ผผ๊ผผํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ์ดˆ๊ธฐ์—๋Š” ์—๋Ÿฌ์™€ ํ•จ๊ป˜ํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹คโ€ฆใ… ใ… (๋””์ž์ธ์ด๋‚˜ ๋ฌธ๊ตฌ๋„ ์กฐ๊ธˆ์”ฉ ๋ฐ”๋€Œ๋Š” ๊ฒƒ๋“ค๋„ ํ•จ๊ป˜ ๊ณ ๋ ค..!) ์ƒ๊ฐ์ง€๋„ ๋ชปํ–ˆ๋˜ ์—๋Ÿฌ๋“ค์„ ์ ‘ํ•˜๋ฉด์„œ ์ฝ”๋“œ์˜ ์งˆ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๊ณ ๋ฏผ์„ ํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ์•ผ๊ฒ ๋‹ค!!

๐Ÿ”ฅ ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ํ™•์ธํ•ด์ฃผ์‹  Error & Fix & Design ์ˆ˜์ •

  1. window.innerheight๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™”๋ฉด ํฌ๊ธฐ๊ฐ€ ๋‹ฌ๋ผ๋„ ํ•œ ํ™”๋ฉด์— ๋ณด์—ฌ์งˆ ์ˆ˜ ์žˆ๋„๋ก
  2. ํ™”๋ฉด์ด ์ปค์ ธ๋„ ์š”์†Œ๋“ค์ด ์ฐฝ ๊ฐ€์šด๋ฐ ์žˆ๋„๋ก
  3. ์š”์†Œ๋“ค dragEvent์‹œ ํฌ์ธํŠธ ์ƒ‰์ƒ์œผ๋กœ ๋ณ€๊ฒฝ
  4. Screen Capture Modal ์œ„, ์•„๋ž˜์— ํŽ˜์ด์ง€ ์ด๋ฆ„, ๋„ฃ๊ธฐ
  5. ๋‹ค๋ฅธ ๊ธฐ์ˆ˜ ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด url์„ ๋ฐ”๊พธ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •
  6. ๋ฐ˜์‘ํ˜• ๋ชจ๋ฐ”์ผ์ผ ๋•Œ ScreenCapture Modal์ด desktopํ™”๋ฉด๊ณผ ๋™์ผํ•˜๋„๋ก ์ˆ˜์ •
  7. ๋ฐ˜์‘ํ˜• ๋ชจ๋ฐ”์ผ์ผ ๋•Œ ๊ธฐ์ˆ˜ํŽ˜์ด์ง€ ๊ธฐ์ˆ˜ ๋“ฑ์ˆ˜๋ฅผ ๋ˆ„๋ฅด๋ฉด z-index๊ฐ€ ์•ž์œผ๋กœ ๋‚˜์˜ค๋„๋ก ํ•˜๋Š” ์ด๋ฒคํŠธ ๊ฑธ๊ธฐ

(์ƒ๊ฐ๋ณด๋‹ค ๋ฒ„๊ทธ๋ณด๋‹ค๋Š” ๋””์ž์ธ์ด ๊ณ ์น  ๋ถ€๋ถ„์ด ๋งŽ์€ ๊ฒƒ ๊ฐ™์•„์„œ ๊ดœํžˆ ๋ฟŒ๋“ฏํ–ˆ๋‹ค :) )


๐Ÿ“Œ ๋งˆ์น˜๋ฉฐ..


์‚ฌ์‹ค ์•„์ง ์•„์‰ฌ์šด ๋ถ€๋ถ„๋“ค๋„ ๋‚จ์•„์žˆ๋‹ค. Redux๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ „์—ญ์œผ๋กœ state๋ฅผ ๊ด€๋ฆฌํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๊ณ , typeScript๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํŠธ๋ Œ๋“œ์— ๋งž๋Š” ์ฝ”๋“œ๋ฅผ ๊ฒฝํ—˜ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋‹ค. ์ด๋Ÿฐ ๋ฐ”๋žจ๊ณผ ๋‹ฌ๋ฆฌ ์˜ค๋Š˜ ๋ฉ˜ํ† ๋‹˜๊ณผ ํ”„๋กœ์ ํŠธ ์—๋Ÿฌํ”ฝ์Šค๋ฅผ ๋งˆ์น˜๋ฉด ๋ฐ”๋กœ ๋ฐฐํฌ ์ง„ํ–‰ํ•ด์„œ ์‹ค์ œ ์„œ๋น„์Šคํ•  ์˜ˆ์ •์ด๋ผ๊ณ  ๋ง์”€ํ•ด์ฃผ์…”์„œ ์™ ์ง€ ๋ชจ๋ฅด๊ฒŒ ์‹ ๊ธฐํ–ˆ๋‹ค. ์‹ค์ œ ์ฝ”๋”ฉ์„ ํ†ตํ•ด โ€˜๊ฐœ๋ฐœโ€™์„ ํ–ˆ๋‹ค๋ผ๋Š” ๊ฒƒ์ด ๊ธฐ๋ถ„์ด ๋ฌ˜ํ•ด์กŒ๋‹ค. ์•ž์œผ๋กœ๋„ ๊ฐœ๋ฐœ๊ณผ ํ•จ๊ป˜ ์‚ถ์„ ์‚ด์•„๊ฐ„๋‹ค๋Š” ๊ฒƒ ๋˜ํ•œ ์‹ ๊ธฐํ–ˆ๋‹ค.๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป

์šฐ์—ฌ๊ณก์ ˆ์ด ๋งŽ์•˜๋˜ WeRecord ํ”„๋กœ์ ํŠธ! ์‹ค์ œ ์„œ๋น„์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ๋๊นŒ์ง€ ํ•จ๊ป˜ํ–ˆ๋˜ ์‹œ๊ฐ„์„ ํ†ตํ•ด ๋งŽ์€ ๊ฒƒ๋“ค์„ ์•Œ์•„๊ฐ”๋‹ค. ๋งˆ๋ƒฅ ์ฝ”๋”ฉ์ด ์žฌ๋ฏธ์žˆ์–ด์„œ, ์ƒˆ๋กœ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ํ†ต์พŒ, ์ƒˆ๋กœ์šด ๊ธฐ์ˆ  ์Šคํƒ์œผ๋กœ ์•ˆ์ •์„ฑ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ์ฆ๊ฑฐ์›€โ€ฆ ์ด๋Ÿฐ ๊ฒƒ๋“ค์ด ์ „๋ถ€์˜€๋˜ ๋‚˜์—๊ฒŒ(๋‹น์—ฐํžˆ ์ € ์š”์†Œ๋“ค๋„ ์ค‘์š”ํ•˜๊ฒ ์ง€๋งŒ ๐Ÿค—) โ€˜๋‚ด ํ”„๋กœ์ ํŠธ, ๋‚ด ์ฝ”๋“œโ€™๋ผ๋Š” ์• ์ฐฉ์ด ์ƒ๊ฒผ๋‹ค. ๋” ํšจ์œจ์ ์œผ๋กœ, ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋ด๋„ ๊ฐ€๋…์„ฑ์žˆ๊ฒŒ, ๋ฌด์—‡๋ณด๋‹ค ์‹ค์ œ ์„œ๋น„์Šค๋ฅผ ๋ฐ›๋Š” ํด๋ผ์ด์–ธํŠธ๋ฅผ ์œ„ํ•œ ์พŒ์ ํ•œ ์„œ๋น„์Šคํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๋งˆ์Œ์ด ์ƒ๊ฒผ๋‹ค.

๊ฐ€์น˜๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ๊ฐ€์น˜๊ด€์—์„œ โ€˜์–ด๋–ค ๊ฐ€์น˜๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์€์ง€โ€™์— ๋Œ€ํ•ด ์•ฝ๊ฐ„ ๊ฐ€๋‹ฅ์ด ์žกํ˜€๊ฐ€๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ํŠน์ • ๋ถ„์•ผ๊ฐ€ ์•„๋‹ˆ๋ผ ์–ด๋А ๋ถ„์•ผ์—์„œ๋„ ์‹ค์ œ ์„œ๋น„์Šค๋ฅผ ๋ฐ›๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋งŒ์กฑํ•  ์ˆ˜ ์žˆ๋Š” โ€˜๊ฐœ๋ฐœโ€™์„ ํ•˜๊ณ  ์‹ถ๋‹ค. ๊ทธ๋Ÿฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋  ์ˆ˜ ์žˆ๋„๋ก ์•ž์œผ๋กœ๋„ ํ™”์ดํŒ…์ด๋‹ค!! ๐Ÿ’ช๐Ÿป

๐ŸŽˆ We-Record Github repo


ยฉ 2021. All rights reserved.