META BOX ํ”„๋กœ์ ํŠธ ๐Ÿš‚

dudgus5766ยท2021๋…„ 10์›” 4์ผ
3

Projects

๋ชฉ๋ก ๋ณด๊ธฐ
2/3
post-thumbnail

METABOX ํ”„๋กœ์ ํŠธ


๐Ÿš‚ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๋ฉ”๊ฐ€๋ฐ•์Šค๋ฅผ ๋ชจํ‹ฐ๋ธŒ๋กœ ํ•œ ํŒ€ ํ”„๋กœ์ ํŠธ์ด๋‹ค. ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•œ ๋ชจ๋“  ์œ ์ €๋“ค์€ ์ƒ์˜์ค‘์ธ ์˜ํ™”๋ฆฌ์ŠคํŠธ์™€ ๊ฐ ์˜ํ™”์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž๋“ค์˜ ํฌ์ŠคํŠธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํšŒ์›์€ ์˜ˆ๋งค๋ฅผ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ด€๋žŒํ•œ ์˜ํ™”์— ๋Œ€ํ•ด์„œ ํฌ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

ํŒ€์›

  • FE: ๊น€๋™์ค€, ๊น€์˜ํ˜„, ์ด์†กํ˜„
  • BE: ์ฃผ์ข…๋ฏผ, ์œคํ˜„๋ฌต, ์†ก์น˜ํ—Œ

์ œ์ž‘ ๊ธฐ๊ฐ„

  • 2021.09.13 - 2021.09.30

๊ธฐ์ˆ  ์Šคํƒ

๊ฐœ๋ฐœ ๋„๊ตฌ

  • JavaScript (ES6)
  • React.js
  • React-Router
  • styled-components

ํ˜‘์—…๋„๊ตฌ

  • Git/ Github
  • Trello : ์ „์ฒด์ ์ธ ์ผ์ • ๊ด€๋ฆฌ ๋ฐ ํŒ€์›๋“ค์˜ ์ž‘์—… ์ƒํ™ฉ ํŒŒ์•…
  • Postman : ํ”„๋ก ํŠธ์™€ ๋ฐฑ ๊ฐ„์˜ ์†Œํ†ต

์ฃผ์š” ๊ตฌํ˜„ ๊ธฐ๋Šฅ

โœ… ๊ฐ€ ๋˜์–ด์žˆ๋Š” ๋‚ด์šฉ์€ ์ง์ ‘ ๊ตฌํ˜„ํ•œ ๋ถ€๋ถ„

ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ

โœ… JWT ํ† ํฐ์„ ์ด์šฉํ•œ ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ
โœ… ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ

๋‚ด๋น„๊ฒŒ์ด์…˜ ๋ฐ”

โœ”๏ธ ์‚ฌ์ดํŠธ๋งต
โœ”๏ธ ๊ฒ€์ƒ‰ ์ฐฝ ํด๋ฆญ ์ด๋ฒคํŠธ

๋ฉ”์ธ ํŽ˜์ด์ง€

โœ”๏ธ ํ‰์ , ๊ฐœ๋ด‰์ผ, ๋ณด๊ณ ์‹ถ์–ด์š” ์ˆœ์œผ๋กœ ํ•„ํ„ฐ๋ง๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ๋ ˆ์ด์•„์›ƒ
โœ”๏ธ ๋™์  ๋ผ์šฐํŒ…์„ ํ†ตํ•œ ๋น ๋ฅธ์˜ˆ๋งค, ๋ฌด๋น„ํฌ์ŠคํŠธ ์ด๋™
โœ”๏ธ ์˜ํ™” ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€๋„ค์ด์…˜

๋ฌด๋น„ ํฌ์ŠคํŠธ

โœ… ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ํฌํ•จํ•œ ํฌ์ŠคํŠธ ์ž‘์„ฑ(fetch ํ•จ์ˆ˜๋กœ ๋ฌด๋น„ ํฌ์ŠคํŠธ ํŽ˜์ด์ง€์— ํฌ์ŠคํŠธ ์ถ”๊ฐ€)
โœ… ํฌ์ŠคํŠธ ์ž‘์„ฑ ์‹œ 50์ž ์ด๋‚ด ์ œํ•œ
โœ… ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ์„ ํ†ตํ•œ ํฌ์ŠคํŠธ ํŽ˜์ด์ง€๋„ค์ด์…˜

๋น ๋ฅธ ์˜ˆ๋งค ํŽ˜์ด์ง€

โœ”๏ธ ์˜ˆ๋งค ํ™”๋ฉด์˜ ์ƒ๋‹จ ์บ˜๋ฆฐ๋” ๋กœ์ง
โœ”๏ธ ๋‹ฌ๋ ฅ ์•„์ด์ฝ˜ ํด๋ฆญ ์‹œ, ํ…Œ์ด๋ธ” ํ˜•ํƒœ์˜ ์บ˜๋ฆฐ๋” fold/unfold ๊ตฌํ˜„

โœ… Footer ์ œ์ž‘

๋กœ๊ณ  ๋ฐ favicon

โœ… METABOX ๋กœ๊ณ  ๋ฐ ํŒŒ๋น„์ฝ˜ ์ œ์ž‘


๊ตฌํ˜„ ์ด๋ฏธ์ง€

๐Ÿ‘‰ ๋กœ๊ทธ์ธ / ํšŒ์›๊ฐ€์ž…

๊ธฐ์กด ์ง„ํ–‰ํ–ˆ๋˜ ๋กœ๊ทธ์ธ / ํšŒ์›๊ฐ€์ž… ๋ฟ ์•„๋‹ˆ๋ผ ์นด์นด์˜ค api๋ฅผ ์ด์šฉํ•˜์—ฌ ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ง„ํ–‰ํ–ˆ๋‹ค.

ํšŒ์›๊ฐ€์ž… Validation

๋ฐฑ์—”๋“œ์™€ ํ†ต์‹ ํ•˜๊ธฐ ์ „์— ํšŒ์›๊ฐ€์ž… validation์„ ์ง„ํ–‰ํ•ด ์ž˜๋ชป๋œ ์–‘์‹์„ ๋ฐฉ์ง€ํ–ˆ๋‹ค. ํšŒ์›๊ฐ€์ž…์€ ์ด 5๊ฐœ์˜ ํ•ญ๋ชฉ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์š”๊ตฌํ•˜์—ฌ 5๊ฐœ์˜ validation์„ ๊ตฌํ˜„ํ–ˆ๋‹ค.

๐Ÿ‘‰ ๋ฌด๋น„ ํฌ์ŠคํŠธ

๋”๋ณด๊ธฐ ๋ฒ„ํŠผ์„ ํ†ตํ•œ ํŽ˜์ด์ง€๋„ค์ด์…˜

Query String์œผ๋กœ offset ๊ณผ limit ๋œ ๋ฐ์ดํ„ฐ๋ฅผ fetchํ•˜์—ฌ 8๊ฐœ ์”ฉ ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ์œผ๋กœ ํŽ˜์ด์ง€๋„ค์ด์…˜ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ๋‹ค.

๋ฌด๋น„ ํฌ์ŠคํŠธ ํด๋ฆญ ์‹œ ๋ชจ๋‹ฌ์ฐฝ ํŒ์—…

ํฌ์ŠคํŠธ๋ฅผ ํด๋ฆญ ์‹œ์— ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ํŒ์—… ๋ชจ๋‹ฌ์ฐฝ์„ ์ œ์ž‘ํ–ˆ๋‹ค.

๋ฌด๋น„ ํฌ์ŠคํŠธ ๋ฆฌ๋””์ž์ธ

๊ธฐ์กด์˜ ๋ฉ”๊ฐ€๋ฐ•์Šค ์‚ฌ์ดํŠธ์—์„œ์˜ ์‚ฌ์šฉ์ž ํŽธ์˜์„ฑ๊ณผ ๋””์ž์ธ ์ ์ธ ๋ถ€๋ถ„์„ ๊ณ ๋ คํ•ด ์ƒˆ๋กญ๊ฒŒ ๋””์ž์ธํ•˜์˜€๋‹ค.

๐Ÿ‘‰ ๋ฌด๋น„ ํฌ์ŠคํŠธ ์ž‘์„ฑ

ํฌ์ŠคํŠธ ์ž‘์„ฑ ํŽ˜์ด์ง€

ํ† ํฐ์„ ํ†ตํ•œ ์ธ๊ฐ€๋กœ ์ž‘์„ฑ ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค. ๋˜ํ•œ ๋“ฑ๋ก ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๊ธฐ์กด์— ๋ฐ›์•˜๋˜ ๋ฐ์ดํ„ฐ์™€ state ๊ฐ’์„ ํ™œ์šฉํ•˜์—ฌ url ์ด๋™์—†์ด ํŽ˜์ด์ง€ ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ–ˆ๋‹ค.

์ž‘์„ฑ ํ›„ ๋ฌด๋น„ํฌ์ŠคํŠธ ํŽ˜์ด์ง€ ์ด๋™

fetch ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ํฌ์ŠคํŠธ ๋‚ด์šฉ์„ ์ €์žฅ ํ›„ ๋ฌด๋น„ํฌ์ŠคํŠธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ”๋กœ ์ž์‹ ์˜ ํฌ์ŠคํŠธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ๋” ํ–ˆ๋‹ค.

ํฌ์ŠคํŠธ ์ž‘์„ฑ ์‹œ 50์ž ์ œํ•œ

input์˜ value๊ฐ€ 50์ž ์ด์ƒ ์ž‘์„ฑ ์‹œ alert ์ฐฝ๊ณผ ์ˆซ์ž color ์Šคํƒ€์ผ ๋ณ€๊ฒฝ์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์คฌ๋‹ค.

๐Ÿ‘‰ ๋กœ๊ณ  ๋ฐ favicon


๋ฐฐ์šด์ 

๐Ÿ‘ ์ƒˆ๋กœ์šด ๊ฒƒ์— ๋Œ€ํ•œ ๋ง‰์—ฐํ•œ ๋‘๋ ค์›€ ๊ทน๋ณต

์ฒ˜์Œ ๋ฆฌ์•กํŠธ๋ฅผ ๋ฐฐ์šธ ๋•Œ๋Š” ๋„๋Œ€์ฒด props๊ฐ€ ๋ญ๊ณ  state๋Š” ๋ญ๊ณ  ๋ณต์žกํ•˜๊ณ  ๋ง‰์—ฐํ•œ ๋‘๋ ค์›€ ๋•Œ๋ฌธ์— vscode๋ฅผ ์ผœ๋Š” ๊ฒƒ ์กฐ์ฐจ ํž˜๋“ค์—ˆ๋‹ค.

์ด์ œ๋Š” ๋ง‰์—ฐํ•œ ๋‘๋ ค์›€ ๋ณด๋‹ค๋Š” ํŽ˜์ด์ง€์˜ ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ํ•œ ๋ฒˆ ๋ณด๊ณ  ์ผ๋‹จ ์ง์ ‘ ๋ฐ”๋กœ ์ณ๋ณด๋Š” ์Šต๊ด€์„ ๊ธฐ๋ฅด๋„๋ก ํ–ˆ๋‹ค. ์ด๋Ÿฐ ๋ฐฉ๋ฒ•์„ ์“ฐ๋‹ค๋ณด๋‹ˆ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ์ „ ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋•๋ถ„์— ๊ทธ ์ „์—๋Š” ํ•  ์ˆ˜ ์—†์—ˆ๋˜ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ๋˜๋Š” ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด ์น˜๊ณ  ์žˆ๋Š” ๋‚˜ ์ž์‹ ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.

๋ฌด์–ธ๊ฐ€์— ๋ถ€๋”ชํžˆ๊ณ  ๋ง‰ํžˆ๋Š” ๊ฒƒ์€ ๋‹น์—ฐํ•œ ์ผ์ด๋‹ค! ๋‘๋ ค์›€์„ ๊ทน๋ณตํ•˜์ž!

๐Ÿ‘ ํŒ€ ํ”„๋กœ์ ํŠธ

ํ”„๋กœ์ ํŠธ๊ฐ€ ์•„๋‹Œ ํŒ€ ํ”„๋กœ์ ํŠธ

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ํŒ€(team)์— ๋Œ€ํ•œ ์ค‘์š”์„ฑ์— ๋Œ€ํ•ด ๋˜ ํ•œ ๋ฒˆ ๊นจ๋‹ฌ์•˜๋‹ค.

ํ”„๋ก ํŠธ์—์„œ๋Š” PM์•„๋‹Œ PM ์—ญํ• ์„ ๋งก์•„ ํ‰์†Œ์˜ ๋‚ด ์„ฑ๊ฒฉ๊ณผ ๋‹ค๋ฅด๊ฒŒ ์กฐ๊ธˆ ๋” ๋‹จํ˜ธํ•œ ๋‹จ์–ด์™€ ์ฐจ๊ฐ€์šด ๋งํˆฌ๋กœ ํŒ€์›์„ ๋Œ€ํ–ˆ๋‹ค.

Trello์— ํ”„๋ก ํŠธ์™€ ๋ฐฑ ์ „์ฒด ํšŒ์˜๋ก์„ ์ œ์™ธํ•˜๊ณ  ํ”„๋ก ํŠธ ๋ผ๋ฆฌ์˜ ํšŒ์˜๋ก์„ ํ•˜๋‚˜ ๋” ๋งŒ๋“ค์–ด์„œ ๋งค์ผ๋งˆ๋‹ค์˜ ์ง„ํ–‰ ์ƒํ™ฉ์„ ์ฒดํฌํ–ˆ๋‹ค. ๋‹ค๋ฅธ ํŒ€์›์˜ ๋ณดํญ์— ๋งž์ถ”๊ณ  ์ง„ํ–‰์—์„œ์˜ ๋ธ”๋กœ์ปค๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ถ”๊ฐ€ ๊ตฌํ˜„ ๊ธฐ๋Šฅ๋„ ํฌ๊ธฐํ•ด์•ผ ํ–ˆ์ง€๋งŒ ๋‚˜์—๊ฒŒ๋Š” ๋„ˆ๋ฌด๋‚˜ ๊ฐ’์ง„ ๊ฒฝํ—˜์ด์—ˆ๋‹ค.

METABOX ํŒ€ Trello

์•„์‰ฌ์šด ์ 

๐Ÿ‘Ž ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ์น˜์ค‘ํ•œ ๋‚˜๋จธ์ง€ ๋ฆฌํŒฉํ† ๋ง์˜ ๋ถ€์กฑ

2์ฐจ ํ”„๋กœ์ ํŠธ์ธ ๋งŒํผ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ฒ ๋‹ค๋Š” ์š•์‹ฌ์ด ์ปค ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ์‹œ๊ฐ„์„ ๋งŽ์ด ์ผ๋Š”๋ฐ ๋ฐ˜๋Œ€๋กœ ๋ฆฌํŒฉํ† ๋ง์—๋Š” ์‹œ๊ฐ„์„ ์“ฐ์ง€ ๋ชปํ–ˆ๋‹ค. ๋ฆฌํŒฉํ† ๋ง์— ์‹ ๊ฒฝ์„ ์ผ๋‹ค๋ฉด ์กฐ๊ธˆ ๋” ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์งค ์ˆ˜ ์žˆ์—ˆ์„ ํ…๋ฐ ์•„์‰ฝ๋‹ค.

๐Ÿ‘Ž ๋ฐฑ์—”๋“œ์™€์˜ ์†Œํ†ต

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ํŒ€ ์ „์ฒด์˜ ์ง„ํ–‰ ์ƒํ™ฉ์„ ์ฒดํฌํ•˜๋ฉด์„œ ๋ฌด๋น„ํฌ์ŠคํŠธ ๋‚ด์˜ ๊ตฌ์กฐ ์„ค๊ณ„์— ์ฐธ์—ฌํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ์ด ์ œ์ผ ์•„์‰ฝ๋‹ค.

๋ฌด๋น„ํฌ์ŠคํŠธ ์ข‹์•„์š” ๋ฒ„ํŠผ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์ˆ˜์ ์ธ isLiked : true / false ๊ฐ’์ด ์™œ ํ•„์š”ํ•œ ์ง€ ๊ทธ ๊ฐ’์„ ํ†ตํ•ด ํ™”๋ฉด์— ์–ด๋–ค ์‹์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ง€์— ๋Œ€ํ•œ ์„ค๋ช…์ด ๋ถ€์กฑํ–ˆ๋‹ค.

๋ฐฑ์—”๋“œ์™€์˜ ์†Œํ†ต์€ ์ฒ˜์Œ๋ถ€ํ„ฐ!!

profile
RN App Developer

2๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2021๋…„ 10์›” 4์ผ

์˜ํ˜„๋‹˜ ๊ณ ์ƒ ๋งŽ์œผ์…จ์–ด์š”๐Ÿ™Œ๐Ÿ™Œ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด์„œ login/signup๋ชจ๋‹ฌ ๋ณ€๊ฒฝ๋˜๋Š”๊ฑด ๋ด๋„๋ด๋„ ์ฐธ ์‹ ๊ธฐํ•˜๋„ค์š”!
๋‚ด์ผ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๊ธฐ์—…ํ˜‘์—…๋„ ํŒŸํŒ…์ž…๋‹ˆ๋‹ค๐Ÿ’ช๐Ÿ’ช

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ
comment-user-thumbnail
2021๋…„ 10์›” 4์ผ

์ •๋ง ๊ณ ์ƒ๋งŽ์œผ์…จ์–ด์š” ์˜ํ˜„๋‹˜!!!
๊ธ€์—์„œ ๊ณ ์ƒํ–ˆ๋˜ ๊ฒƒ๋“ค์ด ๋ฌป์–ด๋‚˜์˜ค๋„ค์š”!
๊ทธ๋ž˜๋„ ๊นŠ์€ ๊ณ ๋ฏผ๋“ค๋กœ ์ข‹์€ ๊ฒฐ๊ณผ๋ฌผ์€ ๋‚ด์‹  ๊ฒƒ ๊ฐ™์•„์„œ ๋Œ€๋‹จํ•ฉ๋‹ˆ๋‹ค!
๊ธฐ์—…ํ˜‘์—…๋„ ํ™”์ดํŒ…์ž…๋‹ˆ๋‹ค!

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ