Skip to content

dawhisky/dawhisky-BE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

283 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

DA WHISKY - BackEnd

๋‹ค์œ„์Šคํ‚ค ๋ฆฌ๋“œ๋ฏธ ๋ฉ”์ธ


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

๐Ÿน ๋‹ค์œ„์Šคํ‚ค?

DA WHISKY(๋‹ค์œ„์Šคํ‚ค)๋Š” "์œ„์Šคํ‚ค๋ฅผ ๋” ์‰ฝ๊ฒŒ, ๊นŠ์ด ์•Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ณณ์ด ์—†์„๊นŒ?" ๋ผ๋Š” ๋ฌผ์Œ์—์„œ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์œ„์Šคํ‚ค ๊ฒ€์ƒ‰, ๊ธฐ๋ก, ์œ„์Šคํ‚ค๋ฐ” ํƒ์ƒ‰ ๋ฐ ์ค„์„œ๊ธฐ ๊ธฐ๋Šฅ ๊นŒ์ง€ - ์œ„์Šคํ‚ค ๊ฒฝํ—˜์„ ๋”์šฑ ํ’๋ถ€ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ์˜จ๋ผ์ธ ํ”Œ๋žซํผ ์ž…๋‹ˆ๋‹ค.


DA WHISKY๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ์œ„์Šคํ‚ค ์กฐํšŒ, ํ•ด๋‹น ์œ„์Šคํ‚ค์— ๋Œ€ํ•œ ๋ง› ํ‰๊ฐ€ ๊ธฐ๋ก

  • ๋‚ด ์ฃผ๋ณ€ ๋˜๋Š” ์„ค์ •ํ•œ ์œ„์น˜๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•œ ์œ„์Šคํ‚ค๋ฐ” ์กฐํšŒ

  • ์กฐํšŒํ•œ ์œ„์Šคํ‚ค๋ฐ”๊ฐ€ ๋ณด์œ  ์ค‘์ธ ์œ„์Šคํ‚ค ์กฐํšŒ ๋ฐ ์‹ค์‹œ๊ฐ„ ์ค„์„œ๊ธฐ, ์ž…์žฅ ์•Œ๋ฆผ

  • ์ „์ง ๋ฐ”ํ…๋”์˜ ์ž…๋ฌธ์šฉ ์œ„์Šคํ‚ค ํ๋ ˆ์ด์…˜, ์œ„์Šคํ‚ค ๊ฒ€์ƒ‰


๐Ÿ–ผ๏ธ ๋ธŒ๋กœ์Šˆ์–ด

์ขŒ์ธก์˜ ํ™”์‚ดํ‘œ ์•„์ด์ฝ˜(โ–ถ๏ธŽ) ํด๋ฆญ ์‹œ ํ† ๊ธ€์„ ์—ด์–ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์œ„์Šคํ‚ค ๋ธŒ๋กœ์Šˆ์–ด_1

๋‹ค์œ„์Šคํ‚ค ๋ธŒ๋กœ์Šˆ์–ด_2

๋‹ค์œ„์Šคํ‚ค ๋ธŒ๋กœ์Šˆ์–ด_3

๋‹ค์œ„์Šคํ‚ค ๋ธŒ๋กœ์Šˆ์–ด_4

๋‹ค์œ„์Šคํ‚ค ๋ธŒ๋กœ์Šˆ์–ด_5


โฐ ๊ฐœ๋ฐœ ์ผ์ •

๊ธฐ๊ฐ„ ์ผ์ •
23/05/19 ~ 23/05/21 ํ”„๋กœ์ ํŠธ ์ฃผ์ œ ๋ฐ ์ผ์ • ์ˆ˜๋ฆฝ
23/05/22 ~ 23/05/28 UI ๋””์ž์ธ ๋ฐ ์™€์ด์–ดํ”„๋ ˆ์ž„ ๊ตฌํ˜„
23/05/29 ~ 23/06/04 ํ™”๋ฉด ๊ตฌํ˜„ ๋ฐ MVP 1์ฐจ ์Šค์ฝ”ํ”„ ๊ธฐ๋Šฅ ๊ตฌํ˜„
23/06/05 ~ 23/06/18 1์ฐจ ๊ธฐ๋Šฅ ํ”ผ๋“œ๋ฐฑ ์ˆ˜์ • ๋ฐ MVP 2์ฐจ ์Šค์ฝ”ํ”„ ๊ธฐ๋Šฅ ๊ตฌํ˜„
23/06/19 ~ 23/06/25 ์œ ์ € ๋ฐฐํฌ ๋ฐ ์œ ์ € ํ…Œ์ŠคํŠธ ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜

๊ด€๋ จ ๋งํฌ

๊ตฌ๋ถ„ ๋งํฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋‹ค์œ„์Šคํ‚ค ์•„์ด์ฝ˜ ์„œ๋น„์Šค (์šด์˜ ์ข…๋ฃŒ๋กœ ์ผ๋ถ€ UI๋งŒ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.)
๋…ธ์…˜ ์•„์ด์ฝ˜ ๊ฐœ๋ฐœ ํŒ€ ๋…ธ์…˜



๐Ÿฅƒ ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜

๋‹ค์œ„์Šคํ‚ค ์•„ํ‚คํ…์ฒ˜



๐Ÿฅƒ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ์„œ์šธ์‹œ ์œ„์Šคํ‚ค๋ฐ” ํฌ๋กค๋ง ๋ฐ ์„ค์ • ์œ„์น˜ ๊ธฐ์ค€ ์œ„์Šคํ‚ค๋ฐ” ์กฐํšŒ

  • ์œ„์Šคํ‚ค๋ฐ” ์ž๋ฆฌ ํ˜„ํ™ฉ ์กฐํšŒ, Socket ์‹ค์‹œ๊ฐ„ ์ค„์„œ๊ธฐ ๋ฐ FCM ์ค„์„œ๊ธฐ ์‘๋‹ต ์•Œ๋ฆผ

  • ์‹ค์‹œ๊ฐ„ ์ธ๊ธฐ ๊ฒ€์ƒ‰์–ด Top 10, ์ถ”์ฒœ ๊ฒ€์ƒ‰์–ด

  • CI/CD, HTTPS, ์†Œ์…œ ๋กœ๊ทธ์ธ


์‹ค์‹œ๊ฐ„ ์ค„์„œ๊ธฐ ์‹ค์‹œ๊ฐ„ ์ค„์„œ๊ธฐ ์‘๋‹ต ์•Œ๋ฆผ ๊ฒ€์ƒ‰์–ด ์ž๋™์™„์„ฑ ์œ„์Šคํ‚ค๋ฐ” ํฌ๋กค๋ง ๋ฐ์ดํ„ฐ ์ง€๋„ ํ‘œ๊ธฐ
์‹ค์‹œ๊ฐ„ ์ค„์„œ๊ธฐ gif ์ค„์„œ๊ธฐ ์‘๋‹ต ์•Œ๋ฆผ gif ๊ฒ€์ƒ‰์–ด ์ž๋™์™„์„ฑ gif ์ง€๋„ ์œ„์น˜ ๊ฐ์ง€ gif



๐Ÿฅƒ ๊ธฐ์ˆ ์  ์˜์‚ฌ๊ฒฐ์ •

HTTPS - SSL/TSL ๋ฐœ๊ธ‰์„ ํ†ตํ•˜์—ฌ ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ๋ณด์•ˆ์„ฑ๊ณผ ๊ฒ€์ƒ‰ ๋…ธ์ถœ ๋นˆ๋„๋ฅผ ์ฆ๊ฐ€
- FE์—์„œ vercel์‚ฌ์šฉ์„ ์œ„ํ•˜์—ฌ ๊ตฌ์ถ•
MySQL - ๋Œ€๋ถ€๋ถ„ ์ •ํ˜•ํ™”๋œ ๋ฐ์ดํ„ฐ์—ฌ์„œ SQL๋กœ ์„ ์ •
- MySQL๋กœ ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค ํŒ๋‹จํ•˜์—ฌ ํŒ€์› ๋ชจ๋‘ ์ˆ™๋ จ๋„๊ฐ€ ๋†’์€ DB๋กœ ์„ ์ •
Redis - ์ด๋ฉ”์ผ ์ธ์ฆ์ฝ”๋“œ, Refresh Token, Device Token์˜ ๋งŒ๋ฃŒ์‹œ๊ฐ„ ๊ด€๋ฆฌ์˜ ํŽธ์˜์„ฑ
- Device Token์˜ ๊ฒฝ์šฐ Update๊ฐ€ ๋งŽ์ง€ ์•Š์„๊ฑฐ๋ผ ํŒ๋‹จํ•˜์—ฌ Global Cache๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅํ–ฅ์ƒ์„ ์œ„ํ•ด ์„ ์ •
S3 CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•๊ณผ ์‚ฌ์ง„ ์—…๋กœ๋“œ๋ฅผ ์œ„ํ•ด ์„ ์ •
CI/CD Tool - ๋ ˆํผ๋Ÿฐ์Šค ์ ‘๊ทผ์„ฑ, ๋น„์šฉ, ๋Ÿฌ๋‹ ์ปค๋ธŒ ๊ธฐ์ค€์œผ๋กœ ์„ ์ •
- ์ตœ์ข… ํ›„๋ณด๋กœ ๊นƒํ—ˆ๋ธŒ ์•ก์…˜(CI) + AWS ์ฝ”๋“œ ๋””ํ”Œ๋กœ์ด(CD) vs ์  ํ‚จ์Šค(CI/CD ํ†ตํ•ฉ) ์ค‘ ๊ณ ๋ฏผ
- CDํ™˜๊ฒฝ ๊ตฌ์„ฑ ์‹œ jenkins์˜ ๊ฒฝ์šฐ 2๊ฐœ์˜ EC2์ธ์Šคํ„ด์Šค๊ฐ€ ํ•„์š”ํ•˜๊ณ  ์„ธํŒ… ๊ธฐ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ๊ฒƒ์œผ๋กœ ํŒ๋‹จ๋˜์–ด ๋น ๋ฅธ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด github actions + Codedeploy๋กœ ์„ ์ •
Puppeteer ๋™์  ์ด๋ฏธ์ง€ ํฌ๋กค๋ง์„ ์œ„ํ•ด ์‚ฌ์šฉ
Socket.io ์ค„์„œ๊ธฐ ๊ธฐ๋Šฅ์˜ ์‹ค์‹œ๊ฐ„ ์ž๋ฆฌํ˜„ํ™ฉ ๋ฐ˜์˜์„ ์œ„ํ•ด ์†Œ์ผ“ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜์˜€๊ณ , FE์™€ BE ์–ธ์–ด๊ฐ€ ๋™์ผํ•˜์—ฌ ๊ด€๋ จ npm ์ค‘ ์™„์„ฑ๋„๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ socket.io ์„ ์ •
Sentry - ์˜ค๋ฅ˜ ์ถ”์ ๊ณผ ์„œ๋น„์Šค ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•˜์—ฌ ์„ ์ •
- ์„ผํŠธ๋ฆฌ์— ์—๋Ÿฌ์˜ ์ข…๋ฅ˜, ๋ฐœ์ƒ ์œ„์น˜, ๋ฐœ์ƒ ์‹œ๊ฐ„์ด ๊ธฐ๋ก๋˜๋ฏ€๋กœ ๊ธฐ์กด์— ํ™”๋ฉด๊ณต์œ /๋ผ์ด๋ธŒ์‰์–ด/์บก์ณ๋ฅผ ํ†ตํ•œ ์—๋Ÿฌ ๊ณต์œ ๋ณด๋‹ค ํŽธ์˜์„ฑ์ด ๊ฐœ์„ ๋จ
- ๋˜ํ•œ, ํŠธ๋ ˆ์ด์‹ฑ์„ ํ†ตํ•ด ์–ด๋–ค ์š”์ฒญ์ด ์–ธ์ œ, ์–ผ๋งˆ๋‚˜, ์–ด๋–ค ์„ฑ๋Šฅ์œผ๋กœ ๋“ค์–ด์˜ค๋Š”์ง€ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์—ฌ ์„œ๋น„์Šค ๊ฐœ์„ ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ํš๋“ ๊ฐ€๋Šฅํ•ด์ง
Swagger - api๋ฆฌ์ŠคํŠธ์™€ ๊ฐ api์— ๋Œ€ํ•œ req, res๊ฐ’์„ ๊ฐ€์‹œ์„ฑ ์ข‹๊ฒŒ ํ‘œํ˜„ํ•ด์„œ ํ˜‘์—… ํšจ์œจ ํ–ฅ์ƒ์„ ์œ„ํ•ด ์„ ์ •
- ์ด๋ฏธ api๋ช…์„ธ์„œ๊ฐ€ ์ž‘์„ฑ๋˜์–ด์žˆ์ง€๋งŒ, api๋ช…์„ธ์„œ์— ๋น„ํ•ด ์ ‘๊ทผ์„ฑ, ๊ฐ€๋…์„ฑ์ด ์ข‹์Œ
- ์Šค์›จ๊ฑฐ ํŽ˜์ด์ง€์—์„œ ์ง์ ‘ apiํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•˜์—ฌ api test๊ฐ€ ํŽธ๋ฆฌํ•ด์ง
Jest - test code ์ž‘์„ฑ์„ ์œ„ํ•ด ์„ ์ •
- mocha๋Š” ์„ธํŒ…์ด ์ž์œ ๋กœ์šด ๋Œ€์‹  ๋Ÿฌ๋‹ ์ปค๋ธŒ๊ฐ€ ๋†’์œผ๋ฉฐ, ์ถ”๊ฐ€์ ์ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ๋งŽ์ด ํ•„์š”ํ•˜์—ฌ ๊ฐœ๋ฐœ์†๋„์™€ ํŽธ์˜์„ฑ์„ ์œ„ํ•˜์—ฌ jest๋กœ ์„ ์ •



๐Ÿฅƒ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…



๐Ÿฅƒ ํŒ€์› ์†Œ๊ฐœ

๐Ÿป ๋ฐฑ์—”๋“œ

์ด๋ฆ„ ๋‹ด๋‹น ๊ธฐ๋Šฅ ๊นƒํ—ˆ๋ธŒ
์ฃผ์ง€๋ฏผ
(๋ถ€๋ฆฌ๋”, ๋ฐฑ์—”๋“œ ์ด๊ด„)
- ์„œ๋ฒ„ ๋ฐฐํฌ/๊ด€๋ฆฌ
- HTTPS
- CI/CD
- Socket(์ค„์„œ๊ธฐ)
- DB Polling(์ž๋ฆฌ ํ˜„ํ™ฉ)
- ERD/์•„ํ‚คํƒ์ณ/์ŠคํŠธ๋Ÿญ์ณ ์„ค๊ณ„
- ๋ถ๋งˆํฌ/์ข‹์•„์š” ๊ธฐ๋Šฅ
- Swagger
- Sentry
@jujigithub
๋ฐ•์ง€ํ˜„ - ์ ์ฃผ ๋งˆ์ดํŽ˜์ด์ง€
- ์ค„์„œ๊ธฐ/๋ฆฌ๋ทฐ CRUD
- ์œ ์ € ๋งˆ์ดํŽ˜์ด์ง€
- ์œ„์Šคํ‚ค ์กฐํšŒ/ํ•„ํ„ฐ๋ง/๊ฒ€์ƒ‰
@jihyunpark81
์ด์ค€๊ต - ์†Œ์…œ๋กœ๊ทธ์ธ(์นด์นด์˜ค)
- ํšŒ์›๊ฐ€์ž…(์ ์ฃผ/์œ ์ €)
- ์ค„์„œ๊ธฐ ๊ด€๋ จ FCM
- ๋ฆฌํ”„๋ ˆ์‰ฌ/๋””๋ฐ”์ด์Šค ํ† ํฐ
- ์œ„์Šคํ‚ค ๋ฐ ์ ์ฃผ DB ์Šคํฌ๋žฉํ•‘ ์ž‘์—…
@junkyo974

๐Ÿท ํ”„๋ก ํŠธ์—”๋“œ

์ด๋ฆ„ ๋‹ด๋‹น ๊ธฐ๋Šฅ ๊นƒํ—ˆ๋ธŒ
๊น€ํ•œ์†”
(๋ฆฌ๋”, ํ”„๋ก ํŠธ์—”๋“œ ์ด๊ด„)
- UI ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๋ฐ API ๊ณตํ†ต ํ•จ์ˆ˜ ์ œ์ž‘
- route ์ธ์ฆ/์ธ๊ฐ€
- ์นด์นด์˜ค๋งต ์ปค์Šคํ…€
- ๋””๋ฐ”์šด์‹ฑ์„ ์ด์šฉํ•œ ๊ฒ€์ƒ‰์–ด ์ถ”์ฒœ ๋ฐ ๊ฒ€์ƒ‰๊ธฐ๋Šฅ
- ์ข‹์•„์š”, ์ฝ”๋ฉ˜ํŠธ CRUD
- ์œ„์Šคํ‚ค ๋ฐ ์œ„์Šคํ‚ค๋ฐ” ๋ฆฌ์ŠคํŠธ, ๋””ํ…Œ์ผ ํŽ˜์ด์ง€
- ์œ ์ € ๋งˆ์ดํŽ˜์ด์ง€, ์Šคํ† ์–ด ์ฃผ๋ฅ˜๊ด€๋ฆฌ ํŽ˜์ด์ง€
@hansololiviakim
์ตœ์žฌํ™ - ์ ์ฃผ ๋กœ์ปฌ ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ
- ์œ ์ € ์นด์นด์˜ค ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ
- PWA
- socket.io๋ฅผ ํ†ตํ•œ ์‹ค์‹œ๊ฐ„ ์ค„์„œ๊ธฐ
- FCM ์ค„์„œ๊ธฐ ์•Œ๋ฆผ ๊ธฐ๋Šฅ
- ์Šคํ† ์–ด ๋งˆ์ดํŽ˜์ด์ง€
@allongsio

๐ŸŽจ ๋””์ž์ด๋„ˆ

์ด๋ฆ„ ๋‹ด๋‹น ๊ธฐ๋Šฅ ์ด๋ฉ”์ผ
๊น€์˜์€ - UI/UX ์ „์ฒด ๋””์ž์ธ
- ๋กœ๊ณ  ๋ฐ ๋ธŒ๋กœ์Šˆ์–ด ๋””์ž์ธ
zerosilveree@gmail.com



๐Ÿฅƒ Copyright ยฉ2023 Team Spirits all rights reserved.

About

๐Ÿฅƒ ์œ„์Šคํ‚ค๋ฅผ ์ฆ๊ธฐ๊ธฐ ์œ„ํ•œ ์˜จ๋ผ์ธ ํ”Œ๋žซํผ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages