Refribank Front ๐Ÿฆ

image

๐Ÿ’ก The purpose of a project

First cooperation project

1๏ธโƒฃ Idea

์—ฌ๋Ÿฌ๋ถ„์˜ ๋ƒ‰์žฅ๊ณ ๋Š” ํ˜„์žฌ ์–ด๋–ค ์ƒํƒœ์ธ๊ฐ€์š”? ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์‹์žฌ๋ฃŒ๋กœ ์–ด๋–ค ์š”๋ฆฌ๋ฅผ ํ• ์ง€ ๊ณ ๋ฏผ์ด ๋˜๊ฑฐ๋‚˜ ๋˜๋Š” ์žŠํ˜€์ง„ ์‹์žฌ๋ฃŒ๊ฐ€ ์žˆ์ง€๋Š” ์•Š๋‚˜์š”?

์ด๋Ÿฌํ•œ ๊ณ ๋ฏผ์„ ๊ฐ€์ง„ 5๋ช…์˜ ํ•™์ƒ๋“ค์ด ์ œ์ž‘ํ•œ Refri Bank๋Š” ๋ƒ‰์žฅ๊ณ ๋ฅผ ์˜๋ฏธํ•˜๋Š” Refrigerator์™€ ๊ด€๋ฆฌ๋ฅผ ๋Œ€์‹ ์ˆ˜ํ–‰ํ•˜๋Š” Bank๋ฅผ ํ•ฉ์นœ ๋‹จ์–ด์ž…๋‹ˆ๋‹ค.

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

์–ด์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ธ๊ธฐ์žˆ๋Š” ๋ ˆ์‹œํ”ผ, ํ˜น์€ ๊ถ๊ธˆํ•œ ๋ ˆ์‹œํ”ผ๋ฅผ ๊ฒ€์ƒ‰ํ•ด๋ณด์„ธ์š”! ๋งŒ์•ฝ ํšŒ์›๊ฐ€์ž…์„ ํ•˜์‹œ๋ฉด ๋ƒ‰์žฅ๊ณ  ํŽ˜์ด์ง€์—์„œ ์‹์žฌ๋ฃŒ์˜ ์œ ํ†ต๊ธฐํ•œ์„ ํ‘œ์‹œํ•  ์ˆ˜์žˆ๊ณ , Refri Bank๋Š” ๋ƒ‰์žฅ๊ณ ์— ๋“ค์–ด์žˆ๋Š” ์‹์žฌ๋ฃŒ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•˜์—ฌ ์ถ”์ฒœ ๋ ˆ์‹œํ”ผ๋ฅผ ์ œ๊ณตํ•ด์ค๋‹ˆ๋‹ค.

2๏ธโƒฃ Technology stack

3๏ธโƒฃ Trouble

๐Ÿ”“ Communication
๐Ÿ”‘ ๋ชจ๋“  ํŒ€์›๋“ค์ด ํ˜‘์—… ๊ฒฝํ—˜์ด ๋‹จ ํ•œ๋ฒˆ๋„ ์กด์žฌํ•˜์ง€ ์•Š์•„, trouble์ด ์ž์ฃผ ๋ฐœ์ƒํ•˜์˜€๋‹ค.
๋ณ€์ˆ˜๋ช… ๊ทœ์น™์„ ์ง€ํ‚ค์ง€ ์•Š๊ฑฐ๋‚˜, git collision์ด ๋งค์šฐ ์ž์ฃผ ๋ฐœ์ƒํ•˜์˜€๊ณ , ํ”„๋กœ์ ํŠธ ๋งˆ๊ฐ ์ผ์ž๊ฐ€ ๋‹ค๊ฐ€์˜ฌ ์ˆ˜๋ก ์„œ๋กœ ๋งŽ์ด ๋‹คํˆฌ๊ธฐ๋„ ํ•˜์˜€๋‹ค.
๋‹คํˆด์ˆ˜๋Š” ์žˆ์œผ๋‚˜, ๊ฐ์ •์ด ์ƒํ•ด ์•ž์œผ๋กœ์˜ ์ž‘์—…์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜์žˆ์—ˆ๊ธฐ์—, ๋‚˜๋Š” ํ•˜๋ฃจ์˜ ์ž‘์—…์ด ๋๋‚˜๊ณ  ๊ฐ์ž ๋‹ค๋ฅธ ํŒ€์›๋“ค์„ ์นญ์ฐฌํ•˜๋Š” ์นญ์ฐฌํ•˜๋Š” ์‹œ๊ฐ„์„ ๋งŒ๋“ค์—ˆ๊ณ , ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ฌด์‚ฌํžˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ์น  ์ˆ˜์žˆ์—ˆ๋‹ค.

๐Ÿ”“ rendering
๐Ÿ”‘ rerendering ๋ฌธ์ œ๊ฐ€ ์‹ฌ๊ฐํ–ˆ์—ˆ๋‹ค. ๋‚˜๋Š” Backend๋ฅผ ๋‹ด๋‹นํ•ด์„œ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜์˜ ์˜์—ญ์€ ์•„๋‹ˆ์˜€์ง€๋งŒ, ์ง€์ธ๋“ค์—๊ฒŒ ๋„์›€์„ ๊ตฌํ•˜๊ณ , React ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฒ•๋งŒ ๋น ๋ฅด๊ฒŒ ์ตํ˜€ state๋ฅผ ์ตœ๋Œ€ํ•œ ํšจ์œจ์ ์œผ๋กœ ๋ฐฐ์น˜ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ๋งŽ์ด ๊ฐœ์„ ํ•˜์˜€๋‹ค.

๐Ÿ”“ External libraries
๐Ÿ”‘ modal, paging slide์— ๋Œ€ํ•œ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค. paging slide์— ๋Œ€ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” custom์ด ๋งค์šฐ ๊นŒ๋‹ค๋กœ์› ๊ณ , ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ•˜๋‚˜์”ฉ ๊นŒ๋ณด๋ฉฐ css๋ฅผ ์ตœ๋Œ€ํ•œ ๋ณ€๊ฒฝํ–ˆ๋‹ค. image
image

4๏ธโƒฃ What I learned

ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„์ด ๋น ๋“ฏํ•˜์—ฌ React๋ฅผ '์‚ฌ์šฉ๋งŒ'ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๊ฒŒ ๋˜์—ˆ๋‹ค.
React๋ผ๋Š” ๊ธฐ์ˆ ๋ณด๋‹ค๋Š” ์–ด๋–ป๊ฒŒ rendering์ด ์–ด๋””์„œ ๋ฌธ์ œ์ด๊ณ , ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜์žˆ๋Š”์ง€ ๊ณ ๋ฏผํ•˜๋Š” ๊ณผ์ •์ด ์žฌ๋ฐŒ์—ˆ๋‹ค.