sadobass / web19-Boostart

๐Ÿ“” ์นœ๊ตฌ์™€ ๋‚˜๋ˆ„๋Š” ๋ผ์ดํ”„ ๊ธฐ๋ก - ๋„ค์ด๋ฒ„ ๋ถ€์ŠคํŠธ์บ ํ”„ ์›นใƒป๋ชจ๋ฐ”์ผ 7๊ธฐ Web19 ํŒ€ ํ”„๋กœ์ ํŠธ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Boostart - ๋‹น์‹ ์˜ ํ•˜๋ฃจ๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”!

main__

๋ฐ์ผ๋ฆฌ ํ”Œ๋ž˜๋„ˆ + ์‹ค์‹œ๊ฐ„ ๊ณต์œ  ๊ทธ๋ฆผ์ผ๊ธฐ + SNS

๐Ÿ™†โ€โ™‚๏ธ๋ฐฐํฌ ํŽ˜์ด์ง€๐Ÿ™†โ€โ™€๏ธ


ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

๋„ค์ด๋ฒ„ ๋ถ€์ŠคํŠธ์บ ํ”„ ์›น๋ชจ๋ฐ”์ผ7๊ธฐ Web19 ํŒ€ ํ”„๋กœ์ ํŠธ

๋†“์น˜๊ธฐ ์‰ฌ์šด ํ•˜๋ฃจ์˜ ์ผ์ƒ์„ ์˜ˆ์˜๊ฒŒ ๊ธฐ๋กํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์š”

  • ๐Ÿ“† ์นœ๊ตฌ์™€ ํ•จ๊ป˜ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ผ๋ฆฌ ํ”Œ๋ž˜๋„ˆ
  • ๐Ÿ““ ์†Œ์ผ“ ํ†ต์‹ ์„ ์ด์šฉํ•œ ์นœ๊ตฌ์™€์˜ ๊ณต์œ  ๊ทธ๋ฆผ์ผ๊ธฐ
  • ๐Ÿ™‹ ์‚ฌ์šฉ์ž ๊ด€์ ์˜ ํŽธ๋ฆฌํ•จ์„ ๊ณ ๋ คํ•œ ์ง๊ด€์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์• ๋‹ˆ๋ฉ”์ด์…˜

ํŒ€์› ์†Œ๊ฐœ

๊น€์ง„์•„ ๋ฐ•๊ฒฝ์ฐฌ ๋ฐ•์ˆ˜์—ฐ ํ•˜ํ˜„์šฐ
@mikaniz @ParkKyungChan @sooyeon73 @high2092

์‚ฌ์šฉ๋œ ๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ์•„ํ‚คํ…์ฒ˜

image

Web App Reference Architecture V2

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

LOG - ๋ฐ์ผ๋ฆฌ ํ”Œ๋žœ ๊ด€๋ฆฌ
LOG__
- ์–ธ์ œ ์–ด๋””์„œ ๋ฌด์—‡์„ ํ–ˆ๋Š”์ง€ ํƒœ๊ทธ / ๋ผ๋ฒจ / ์žฅ์†Œ ์™€ ํ•จ๊ป˜ ๊ธฐ๋กํ•ด์š”!
- ์ƒ์„ธ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ณ  ๊ฐ ์ผ์ •์„ ์™„๋ฃŒ / ์ˆ˜์ • / ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์–ด์š”
- ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ์œผ๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ ํƒœ๊ทธ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์–ด์š”
- ์ขŒ์ธก์˜ ์‹œ๊ฐ„ ๋ฐ”๋ฅผ ํ†ตํ•ด ์ผ์ •๋ณ„ ์‹œ๊ฐ„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”
- ์นœ๊ตฌ๊ฐ€ ๋‚จ๊ธด ์ด๋ชจํ‹ฐ์ฝ˜์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”
LOG - ์นœ๊ตฌ์™€์˜ ์ƒํ˜ธ์ž‘์šฉ
LOG_new__
- ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์™€ ์นœ๊ตฌ๊ฐ€ ๋˜์–ด ์„œ๋กœ์˜ ์ผ์ƒ์„ ๊ณต์œ ํ•ด ๋ณด์„ธ์š”!
- ์นœ๊ตฌ์˜ ๋กœ๊ทธ๋ฅผ ์กฐํšŒํ•˜๊ณ  ์ด๋ชจํ‹ฐ์ฝ˜์„ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์–ด์š”!
DIARY - ๊ณต์œ  ๊ทธ๋ฆผ์ผ๊ธฐ
DIARY__
- ์นœ๊ตฌ์˜ ๋‹ค์ด์–ด๋ฆฌ์— ๋ฐฉ๋ฌธํ•ด์„œ ํ•จ๊ป˜ ๊ทธ๋ฆผ ์ผ๊ธฐ๋ฅผ ์ž‘์„ฑํ•ด๋ด์š”! - ์ผ๊ธฐ์— ์ฐธ์—ฌํ•œ ์‚ฌ๋žŒ / ์ผ๊ธฐ์— ์ฐธ์—ฌ ์ค‘์ธ ์‚ฌ๋žŒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”
- Socket.IO ๋ฅผ ํ†ตํ•ด ์นœ๊ตฌ์™€ ๊ทธ๋ฆผ์ผ๊ธฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ณต์œ ํ•ด์š”
- Canvas Fabric.js ์„ ์ด์šฉํ•˜์—ฌ ์ž์œ ๊ณก์„ , ๋„ํ˜•, ํ…์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์–ด์š”
- Redis ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋นˆ๋ฒˆํ•œ ์ž…์ถœ๋ ฅ์„ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•ด์š”
GOAL - ๋ผ๋ฒจ์„ ํ†ตํ•ด ๊ด€๋ฆฌ๋˜๋Š” ๋ชฉํ‘œ
GOAL__
- ๋ฐ์ผ๋ฆฌ ๋ชฉํ‘œ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์ผ์ •์— ๋“ฑ๋กํ•œ ๋ผ๋ฒจ์„ ํ†ตํ•ด ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•ด ๋ณด์„ธ์š”!
- ์ผ์ •์ด ์™„๋ฃŒ๋˜๋ฉด ์„ค์ •๋œ ๋ผ๋ฒจ์„ ํ†ตํ•ด ๋ชฉํ‘œ ๋‹ฌ์„ฑ๋ฅ ์ด ์ž๋™์œผ๋กœ ์ฑ„์›Œ์ ธ์š”
- ๋‹ฌ์„ฑ๋ฅ ์„ ๋‹ฌ๋ ฅ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”
MAP - ์ง€๋„๋กœ ๋ณด๋Š” ๋ฐ์ผ๋ฆฌ ํ”Œ๋žœ
MAP__
- ์ผ์ •์— ์„ค์ •๋œ ์œ„์น˜๋ฅผ ํ†ตํ•ด ํ•˜๋ฃจ ๋™์•ˆ์˜ ๋™์„ ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”
- ์นœ๊ตฌ์˜ ๋™์„ ์„ ํ•จ๊ป˜ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์–ด์š”
- ๋ชจ๋“  ์ผ์ •์„ ํ•œ ๋ˆˆ์— ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š” ์ „์ฒด ๋ณด๊ธฐ, ์ผ์ •์„ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ์œ„์น˜๋กœ ์ด๋™ํ•˜๋Š” LOG ๋ฆฌ์ŠคํŠธ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”
LOG - ์ผ์ • ์ƒ์„ฑ
LOGแ„‰แ…ขแ†ผแ„‰แ…ฅแ†ผ__
- ์ œ๋ชฉ, ํƒœ๊ทธ, ์‹œ๊ฐ„, ์ค‘์š”๋„, ๊ณต๊ฐœ ์—ฌ๋ถ€, ์œ„์น˜, ๋ผ๋ฒจ, ๋ฉ”๋ชจ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ƒˆ๋กœ์šด ์ผ์ •์„ ์ƒ์„ฑํ•ด ๋ณด์„ธ์š”!
- ํƒœ๊ทธ / ๋ผ๋ฒจ์„ ์ƒ์„ฑ, ์‚ญ์ œ, ๋ณ€๊ฒฝํ•˜๊ณ  ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”
-์ผ์ •์— ๋“ฑ๋กํ•œ ๋ผ๋ฒจ์€ ๋ชฉํ‘œ์— ์ž๋™์œผ๋กœ ์—ฐ๋™๋ผ์š”
- ์žฅ์†Œ ๊ฒ€์ƒ‰ API๋ฅผ ์ด์šฉํ•˜์—ฌ ์œ„์น˜๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์„ค์ •ํ•˜๋ฉด ์ง€๋„ ํƒญ์—์„œ ์œ„์น˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”
MAIN - ํšŒ์›๊ฐ€์ž… ๋กœ๊ทธ์ธ
์‚ฌ์ง„
- ์นด์นด์˜ค/ ๊นƒํ—ˆ๋ธŒ / ๊ธฐ๋ณธ ํšŒ์›๊ฐ€์ž… ํ›„ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•ด์š”
- ํ”„๋กœํ•„ ์‚ฌ์ง„๊ณผ ์ •๋ณด์˜ ์ž…๋ ฅ์ด ์ž˜๋ชป๋œ ๊ฒฝ์šฐ ๋ฉ”์„ธ์ง€๊ฐ€ ํ‘œ์‹œ๋ผ์š”
FRIEND - ์นœ๊ตฌ์™€ ํ•จ๊ป˜์“ฐ๋Š” ๋ฐ์ผ๋ฆฌ ํ”Œ๋ž˜๋„ˆ
์‚ฌ์ง„
- ID๋กœ ์นœ๊ตฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์นœ๊ตฌ ์‹ ์ฒญ์„ ํ•  ์ˆ˜ ์žˆ์–ด์š”
- ํ–„๋ฒ„๊ฑฐ ๋ฐ”์—์„œ ์นœ๊ตฌ ์š”์ฒญ์„ ๊ด€๋ฆฌํ•˜๊ณ  ๋‚˜์—๊ฒŒ ์˜จ ์•Œ๋ฆผ์„ ํ™•์ธํ•ด์š”
- ์นœ๊ตฌ๊ฐ€ ๋˜๋ฉด ์นœ๊ตฌ์˜ ๋ฐ์ผ๋ฆฌ ํ”Œ๋ž˜๋„ˆ์˜ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ๊ตฌ๊ฒฝํ•˜๊ณ , ์ด๋ชจํ‹ฐ์ฝ˜, ์‹ค์‹œ๊ฐ„ ๊ทธ๋ฆผ์ผ๊ธฐ๋กœ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ์–ด์š”

๊ธฐ์ˆ ์  ๊ณ ๋ฏผ - ๋…ธ์…˜ / ๊ธฐ์ˆ  ๋ฐœํ‘œ


ERD

image

๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ์˜ ์‹คํ–‰ ๋ฐฉ๋ฒ•

$ cd ./client
$ npm ci
$ npm run build
$ cd ../server
$ npm ci
$ npm start

About

๐Ÿ“” ์นœ๊ตฌ์™€ ๋‚˜๋ˆ„๋Š” ๋ผ์ดํ”„ ๊ธฐ๋ก - ๋„ค์ด๋ฒ„ ๋ถ€์ŠคํŠธ์บ ํ”„ ์›นใƒป๋ชจ๋ฐ”์ผ 7๊ธฐ Web19 ํŒ€ ํ”„๋กœ์ ํŠธ


Languages

Language:TypeScript 98.6%Language:HTML 0.7%Language:CSS 0.7%Language:Shell 0.0%