์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 

์ง€๊ธˆ ๋‹น์žฅ NestJS ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ [์‚ฌ์ฃผ ๋งŒ์„ธ๋ ฅ]

์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ๋ฐฑ์—”๋“œ API๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. NestJS, TypeORM, MySQL, JWT ์ธ์ฆ, DB ๋ฐ API ์„ค๊ณ„, HTTP ํ†ต์‹ , Swagger API ๋ฌธ์„œ ์ž๋™ํ™”๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ฐฑ์—”๋“œ, ์›น ๊ฐœ๋ฐœ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • NestJS

  • TypeORM

  • MySQL

  • DB ๋ฐ API ์„ค๊ณ„

  • HTTP ํ†ต์‹ 

  • Swagger

๐Ÿ“ข ์ˆ˜๊ฐ• ์ „ ํ™•์ธํ•ด์ฃผ์„ธ์š”!

  • ๋ณธ ๊ฐ•์˜๋Š” ํ…์ŠคํŠธ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. ์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค.
  • ์ˆ˜๊ฐ• ์ค‘ ์ž˜ ์•ˆ๋˜๋Š” ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉด ์งˆ๋ฌธ๋‹ต๋ณ€ ํŽ˜์ด์ง€๋ฅผ ์ด์šฉํ•ด ์ฃผ์„ธ์š”! 

์‚ฌ์ฃผ ๋งŒ์„ธ๋ ฅ์„ ๋งŒ๋“ค๋ฉด์„œ ๋น ๋ฅด๊ฒŒ ๋ฐฐ์šฐ๋Š”
NestJS ๋ฐฑ์—”๋“œ ๐Ÿ˜Š

๊ฐ•์˜ ์ฃผ์ œ ๐Ÿ“–

NestJS ๊ณต์‹ ๋ฌธ์„œ๊ฐ€ ์ž˜๋˜์–ด ์žˆ์ง€๋งŒ, ์–ด๋А ์ •๋„ ๋ฐฑ์—”๋“œ ๊ฒฝํ—˜์ด ์žˆ์ง€ ์•Š์œผ๋ฉด ๋ฐฑ์—”๋“œ API๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ API๋ฅผ ๊ฐœ๋ฐœํ•˜๋ ค๋ฉด DB ๋ฐ API ์„ค๊ณ„, HTTP ํ†ต์‹ , JWT ์ธ์ฆ, ํ”„๋ŸฐํŠธ์—”๋“œ ์ง€์‹ ๋“ฑ์ด ํ•„์š”ํ•œ๋ฐ, ๊ทธ๋Ÿฌํ•œ ๋‚ด์šฉ์„ ์ „๋ฐ˜์ ์œผ๋กœ ๋‹ค๋ฃจ๋Š” ๊ฐ•์˜๋ฅผ ์ฐพ๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

๋ณธ ๊ฐ•์˜๋Š” ์‚ฌ์ฃผ ๋งŒ์„ธ๋ ฅ ๋ฐฑ์—”๋“œ API๋ฅผ ์ œ์ž‘ํ•˜๋Š” ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. NestJS, TypeORM, JWT, MySQL์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์ฃผ ๋งŒ์„ธ๋ ฅ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด  DB ๋ฐ API ์„ค๊ณ„, HTTP ํ†ต์‹ , JWT๋ฅผ ํฌํ•จํ•˜์—ฌ ๋‹จ๊ณ„๋ณ„ ์‹ค์Šต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. NestJS ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์„ ๋„˜์–ด์„œ ์ˆ˜๊ฐ•์ƒ์ด NestJS๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐฑ์—”๋“œ API๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค.

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

์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ํ•œ ๋ฒˆ Nest.js๋ฅผ ์ตํ˜€๋‘๋ฉด NestJS๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฐฑ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๋„˜์–ด๊ฐ€๋„ ๊ฐœ๋ฐœํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง€์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

DB ๋ฐ API ์„ค๊ณ„ ๋“ฑ
ํ”„๋ŸฐํŠธ์—”๋“œ ์ง€์‹

MySQL, JWT,
TypeORM ๋“ฑ์œผ๋กœ
๋ฐฑ์—”๋“œ API ๊ฐœ๋ฐœ

NestJS๋กœ
Swagger API ๋ฌธ์„œ
์ž๋™ ์ƒ์„ฑ


์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜ ์ถ”์ฒœํ•ด์š” ๐Ÿ™‹

  • NestJS ๊ณต์‹ ๋ฌธ์„œ๋งŒ์œผ๋กœ๋Š” ๋ฐฑ์—”๋“œ API ๊ฐœ๋ฐœ์ด ์–ด๋ ค์šด ๋ถ„
  • NestJS๋ฅผ ํฌํ•จํ•œ ์ผ๋ฐ˜์ ์ธ ๋ฐฑ์—”๋“œ API ๊ฐœ๋ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฐฐ์šฐ๊ณ  ์‹ถ์€ ๋ถ„
  • ์ œ์ž‘ํ•œ ๋ฐฑ์—”๋“œ API๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๋ชจ์Šต์„ ํ”„๋ŸฐํŠธ์—”๋“œ์—์„œ ํ™•์ธํ•˜๊ณ  ์‹ถ์€ ๋ถ„

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์›Œ์š” ๐Ÿ“‘

ํ•™์Šต ๋‚ด์šฉ Step 3 โœจ

1๏ธโƒฃ

๋ฐฑ์—”๋“œ API ํ•ต์‹ฌ ๊ฐœ๋…
(HTTP ํ†ต์‹ , JWT ์ธ์ฆ,
DB ์„ค๊ณ„)

2๏ธโƒฃ

๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ธํŒ… ํ›„
์™„์„ฑ๋œ ์†Œ์Šค ์ฝ”๋“œ๋กœ
์„œ๋น„์Šค ์‹คํ–‰

3๏ธโƒฃ

๋ฐฑ์—”๋“œ API ์ฝ”๋“œ์˜
์ž‘์„ฑ ๊ณผ์ •์„
๋‹จ๊ณ„๋ณ„๋กœ ๋‹ค๋ฃจ๊ธฐ 

1. NestJS๋ฅผ ํ•œ ์žฅ์˜ ๊ทธ๋ฆผ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ทœ๋ชจ๊ฐ€ ์ปค์ ธ๋„ ์•„๋ž˜ ๊ตฌ์กฐ์—์„œ ํฌ๊ฒŒ ๋ฒ—์–ด๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 

DB ์„ค๊ณ„

2. NestJS๋ฅผ ์ด์šฉํ•ด์„œ Swagger API ๋ฌธ์„œ ์ž๋™ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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


์ง€์‹๊ณต์œ ์ž ์†Œ๊ฐœ โœ’๏ธ

์ด๋ ฅ ์‚ฌํ•ญ

  • ์ปดํ“จํ„ฐ ์ „๊ณต ํ•™์‚ฌ ๋ฐ ์„์‚ฌ ์กธ์—… 
  • 6๊ฐœ ํšŒ์‚ฌ์—์„œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜
  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐœ์ธํ”„๋กœ์ ํŠธ ๊ฒฝํ—˜

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ๋ฐฑ์—”๋“œ API ๊ฐœ๋ฐœ์„ ๋‹จ๊ธฐ๊ฐ„์— ํ•™์Šตํ•˜๊ณ  ์‹ถ์€ ๋ถ„

  • ์ตœ์‹  ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ API๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์‹ถ์€ ๋ถ„

์•ˆ๋…•ํ•˜์„ธ์š”
์ง€๊ธˆ ๋‹น์žฅ์ž…๋‹ˆ๋‹ค.

722

๋ช…

์ˆ˜๊ฐ•์ƒ

31

๊ฐœ

์ˆ˜๊ฐ•ํ‰

88

๊ฐœ

๋‹ต๋ณ€

3.8

์ 

๊ฐ•์˜ ํ‰์ 

10

๊ฐœ

๊ฐ•์˜

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

45๊ฐœ

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!