Projects

ํŒ€ํ”„๋กœ์ ํŠธ [๋„ˆ ๋‚ฉ์น˜๋œ๊ฑฐ์•ผ] ํšŒ๊ณ 

Seo Ji Won 2024. 2. 29. 14:28

 

 

๐Ÿ”ฝ ๋ฐฐํฌ์ฃผ์†Œ

 

๋„ˆ ๋‚ฉ์น˜๋œ๊ฑฐ์•ผ

 

kidnapped.vercel.app

 

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋Š” ์™ธ๋ถ€ API๋ฅผ ์‚ฌ์šฉํ•œ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์˜€๋‹ค.

์šฐ๋ฆฌ ํŒ€์€ ์นด์นด์˜ค๋งต API๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ „๊ตญ์˜ ๋ฐฉํƒˆ์ถœ ์นดํŽ˜ ์ •๋ณด๋ฅผ ์‚ฌ์šฉ์ž ์œ„์น˜ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฐพ์•„์ฃผ๊ณ  ๋‹ค๋ฅธ ์ง€์—ญ์˜ ๋ฐฉํƒˆ์ถœ ์นดํŽ˜๋„ ๊ฒ€์ƒ‰, ์Šคํฌ๋žฉํ•˜์—ฌ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค๊ฒŒ๋˜์—ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์ด ์ฃผ์ œ๋ž‘ ์ž˜์–ด์šธ๋ ค์„œ ๋„ˆ๋ฌด ๋ง˜์—๋“ ๋‹ค. ใ…‹ใ…‹

๋‚˜๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ๋ฆฌ๋ทฐ CRUD๋ฅผ ๋งก์•˜๋Š”๋ฐ, CRUD๋Š” ๊ทธ๋ž˜๋„ ๋ฐ˜๋ณตํ•™์Šต์œผ๋กœ ๋งŽ์ด ํ•ด๋ด์„œ ํฐ ์–ด๋ ค์›€ ์—†์ด ๊ตฌํ˜„ํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

๋‚ด๋ถ€๋ถ„์—์„œ ์–ด๋ ค์› ๋˜ ๊ฒƒ์€ ๋ณ„์  ๊ธฐ๋Šฅ, ๋Œ“๊ธ€ ๊ฐœ๋ณ„ ๋ชจ๋‹ฌ์ฐฝ์ด ์–ด๋ ค์› ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

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

 

๋ณ„์  ์•„์ด์ฝ˜์„ ์ƒ์„ฑํ•˜๋ฉด์„œ ์‚ฌ์šฉ์ž๊ฐ€ ํด๋ฆญํ•œ ๋ณ„์ ๋งŒํผ ์ƒ‰์น ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ
review ์ปดํฌ๋„ŒํŠธ ๋ฆฌํ„ด๋ถ€๋ถ„

 

 

์ธ์ƒ๊นŠ์—ˆ๋˜ ์ ์€ ๋ฆฌ๋ทฐ CRUD๋ฅผ ๋ฆฌ๋•์Šค ํˆดํ‚ท์™€ json-server๋ฅผ ์ด์šฉํ•ด์„œ 

๋กœ์ปฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ๋ฆฌ๋•์Šค๋กœ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผํ•˜๊ณ , ์ƒˆ๋กœ๊ณ ์นจ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด json-server๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋Š”๋ฐ,

React-Query๋กœ ๋ฆฌํŒฉํ† ๋ง์„ ํ•˜๋‹ˆ๊นŒ ์„œ๋ฒ„์™€ ๋กœ์ปฌ state์ƒํƒœ๋ฅผ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†์–ด์ ธ์„œ ์ฝ”๋“œ๊ฐ€ ๋งค์šฐ๋งค์šฐ ๊ฐ„๊ฒฐํ•ด์กŒ๋‹ค.

์ž‘์„ฑ ํ–ˆ๋˜ ๋ฆฌ๋•์Šค ์ฝ”๋“œ๋ฅผ ์•„์˜ˆ ์“ธ ํ•„์š”๊ฐ€ ์—†์–ด์ง€๋‹ˆ ๋งค์šฐ ์ธ์ƒ๊นŠ์—ˆ๋‹ค..!!

 

๋‹ค๋ฅธ ๋ถ€๋ถ„์—์„œ ์–ด๋ ค์› ๋˜ ๋ถ€๋ถ„์€ ์Šคํฌ๋žฉ ๊ธฐ๋Šฅ๊ณผ ์นดํŽ˜ ์ •๋ณด ์ •๋„๊ฐ€ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

ํ”„๋กœ์ ํŠธ ์„ค๊ณ„์—์„œ๋Š” ์นดํŽ˜ ์ •๋ณด๋ฅผ ์นด์นด์˜ค๋งต API์—์„œ ๋ฐ›์•„์™€์„œ ์ž์ฒด ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์„œ ๊ด€๋ฆฌํ•˜๋Š” ์‹์œผ๋กœ ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค๋ณด๋‹ˆ props๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. 

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

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

์ƒ์„ธ ์ •๋ณด๋ฅผ ๋”ฐ๋กœ ํŽ˜์ด์ง€๋กœ ๋บ์œผ๋ฉด ๋ถˆํ•„์š”ํ•œ ๊ณ ๋ฏผ ์‹œ๊ฐ„์ด ์ค„์–ด๋“ค์—ˆ์„ ๊ฒƒ ๊ฐ™์•„์„œ ๊ทธ ์ ์ด ์•„์‰ฌ์› ๋‹ค.

์ด๋ ‡๊ฒŒ ๊ณ ๋ฏผํ•˜๋ฉด์„œ ๋Š๋‚€๊ฒƒ์€ ์ดˆ๊ธฐ ์„ค๊ณ„๊ฐ€ ์ •๋ง ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ดˆ๊ธฐ ์„ค๊ณ„๊ฐ€ ํƒ„ํƒ„ํ•  ์ˆ˜๋ก ์ฝ”๋“œ๋ฅผ ์งค ๋•Œ ๊ณ ๋ฏผํ•˜๋Š” ์‹œ๊ฐ„์ด ์ค„์–ด๋“ค๊ณ  ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ์ด ๋†’์•„์ง€๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

 

์“ฐ๋‹ค๋ณด๋‹ˆ ์–ด๋ ค์› ๋˜์ ๊ณผ ์•„์‰ฌ์› ๋˜ ์ ์ด ๋งŽ์€ ๊ฒƒ ๊ฐ™์€๋ฐ,

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

์•„์‰ฌ์›€๊ณผ ์–ด๋ ค์›€ ์†์—์„œ๋„ ์šฐ๋ฆฌ ํŒ€์ด ํ•จ๊ป˜ ์ด๋ฃฌ ์„ฑ๊ณผ๋ฅผ ๋Œ์•„๋ณด๋ฉด, ๊ทธ ๋ชจ๋“  ์ˆœ๊ฐ„์ด ์†Œ์ค‘ํ•œ ํ•™์Šต์˜ ๊ธฐํšŒ์˜€์Œ์„ ๊นจ๋‹ซ๋Š”๋‹ค.

๋ช‡ ๋ฒˆ ํ•ด๋ณด์•˜๋˜ ์ž‘์—…๋„ ํ•ด๋ณด๋ฉด ๋˜ ์ƒˆ๋กญ๊ฒŒ ๋ฐฐ์›Œ๊ฐ€๋Š”๊ฒŒ ๋งŽ์•˜๊ณ ,

์•ž์œผ๋กœ๋„ ์ด ๊ฒฝํ—˜์„ ๋ฐ”ํƒ•์œผ๋กœ ๋”์šฑ ์„ฑ์žฅํ•˜๊ณ  ๋ฐœ์ „ํ•ด ๋‚˜๊ฐ€๊ธธ ๊ธฐ๋Œ€ํ•œ๋‹ค.

 

 

 

๐Ÿ”ฝGithub

 

GitHub - seopport/Kidnapped: ์•„์›ƒ์†Œ์‹ฑ ํ”„๋กœ์ ํŠธ 4์กฐ

์•„์›ƒ์†Œ์‹ฑ ํ”„๋กœ์ ํŠธ 4์กฐ. Contribute to seopport/Kidnapped development by creating an account on GitHub.

github.com