Skip to content

yoonmallang22/tododong

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

469 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ€ ํ† ๋„๋™ - NBA ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๋ฐ ์ฑ„ํŒ…

๋ฐฐํฌ๋งํฌ

https://tododong.com


๐Ÿ—‚๏ธ ๋ชฉ์ฐจ


๐Ÿ”Ž ์„œ๋น„์Šค ์†Œ๊ฐœ

  1. NBA ๊ฒฝ๊ธฐ ์ผ์ • ๋ฐ ์˜์ƒ ํ•จ๊ป˜ ์ œ๊ณต
  2. ์‹ค์‹œ๊ฐ„ ๊ฒฝ๊ธฐ ๋ฐ์ดํ„ฐ ์ œ๊ณต
  • ๊ฒฝ๊ธฐ ์ ์ˆ˜: ํ˜„์žฌ ์Šค์ฝ”์–ด ์—…๋ฐ์ดํŠธ
  • ์„ ์ˆ˜ ๊ธฐ๋ก: ๋“์ , ๋ฆฌ๋ฐ”์šด๋“œ, ์–ด์‹œ์ŠคํŠธ ๋“ฑ ์ฃผ์š” ํ†ต๊ณ„ ์ œ๊ณต
  • ์ค‘๊ณ„ ํ…์ŠคํŠธ: ๊ฒฝ๊ธฐ ํ๋ฆ„์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ…์ŠคํŠธ ์ค‘๊ณ„
  1. ๊ฒฝ๊ธฐ ๋ณ„ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ธฐ๋Šฅ

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

๊น€์Šน์ˆ˜ ๊ณ ๊ฐ€์—ฐ ์œค์ง€์ˆ˜ ์žฅ์ฃผ์›
ํŒ€์žฅ ํŒ€์› ํŒ€์› ํŒ€์›

๐Ÿ›  ๊ธฐ์ˆ  ์Šคํƒ

Frontend

์นดํ…Œ๊ณ ๋ฆฌ ์‚ฌ์šฉ ๊ธฐ์ˆ 
Framework
Language
Styling
Library

Bankend

์นดํ…Œ๊ณ ๋ฆฌ ์‚ฌ์šฉ ๊ธฐ์ˆ 
ORM
WebSockets

Development

์นดํ…Œ๊ณ ๋ฆฌ ์‚ฌ์šฉ ๊ธฐ์ˆ 
ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ
ํ˜‘์—… ๋„๊ตฌ

๐Ÿ“ ํ˜‘์—… ๋ฐฉ์‹

Git Flow ์ „๋žต

image

์ปค๋ฐ‹ ์ปจ๋ฒค์…˜

#   โœจ feat    : ๊ธฐ๋Šฅ ํ•œ ์ค„ ์„ค๋ช… (์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ, ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ)
#   ์˜ˆ์‹œ) โœจ feat  : ์•Œ๋ฆผ ์ฝ์Œ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (๊ธฐ๋Šฅ ์„ค๋ช…)

#   ๐Ÿ› fix     : ๋ฒ„๊ทธ ์ˆ˜์ • ์„ค๋ช…
#   ์˜ˆ์‹œ) ๐Ÿ› fix   : ์Šคํ† ๋ฆฌ ๋Œ“๊ธ€ ๊ธฐ๋Šฅ ๊ฒŒ์‹œ ๋ฒ„ํŠผ ์ž‘๋™

#   ๐ŸŽจ design   : css ๋””์ž์ธ ์„ค๋ช…
#   ์˜ˆ์‹œ) ๐ŸŽจ design : flexbox ์ถ”๊ฐ€

#   ๐Ÿ’„ style   : ์Šคํƒ€์ผ (์ฝ”๋“œ ํ˜•์‹, ๋ช…์นญ ๋ณ€๊ฒฝ, ์ฃผ์„ ์ถ”๊ฐ€ ๋˜๋Š” ์ˆ˜์ • -> ๋™์ž‘์— ์˜ํ–ฅ ์—†์Œ)
#   ์˜ˆ์‹œ) ๐Ÿ’„ style : ์•Œ๋ฆผ ๋ฆฌ์ŠคํŠธ ํด๋ž˜์Šค ๋ทฐ ๋ณ€์ˆ˜() ๋ฌธ๊ตฌ ๋ณ€๊ฒฝ

#   ๐Ÿ“ docs    : ๋ฌธ์„œ (README ๋“ฑ ๊ฐ์ข… Markdown๋งŒ)
#   ์˜ˆ์‹œ) ๐Ÿ“ docs  : readme ํŒ€์› ์ถ”๊ฐ€

#   ๐Ÿ”ง chore   : ๊ธฐํƒ€ ๋ณ€๊ฒฝ์‚ฌํ•ญ (๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • ๋“ฑ MD ์ œ์™ธ ๋ชจ๋“  ํŒŒ์ผ)
#   ์˜ˆ์‹œ) ๐Ÿ”ง chore : gitignore redis ์ถ”๊ฐ€, chore : migrations ํŒŒ์ผ ์ถ”๊ฐ€

#   โ™ป๏ธ refactor : ์ด๋ฏธ ์˜ฌ๋ ธ๋˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ ํ–ˆ์„ ๋•Œ (๋กœ์ง ๋ณ€๊ฒฝ)

PR ์ ๊ฒ€์‚ฌํ•ญ (์ฝ”๋“œ ๋ฆฌ๋ทฐ)

  • ์›น ์ ‘๊ทผ์„ฑ
  • ์„ฑ๋Šฅ ํ–ฅ์ƒ
  • ์ฝ”๋“œ ๊ฐ€๋…์„ฑ
  • ์•„ํ‚คํ…์ฒ˜ ๋ถ„๋ฆฌ

โœจ ๊ธฐ๋Šฅ ์†Œ๊ฐœ

๋กœ๊ทธ์ธ

  • JWT ํ† ํฐ ๋ฐœ๊ธ‰
  • accessToken์„ cookie์— ์ €์žฅํ•ด ์„ธ์…˜ ๊ด€๋ฆฌ
  • bcryptjs๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™”

ํšŒ์›๊ฐ€์ž…

  • bcryptjs๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™”
  • nodemailer ์ด์šฉํ•ด ์ด๋ฉ”์ผ ์ธ์ฆ์ฝ”๋“œ ๋ฐœ์†ก

๊ฒฝ๊ธฐ ์ผ์ • ์กฐํšŒ

  • react-calender, swiper๋ฅผ ํ™œ์šฉํ•œ ๋‚ ์งœ ์„ ํƒ ๋ฐ ๊ฒฝ๊ธฐ ์ผ์ • ์กฐํšŒ
  • ๋‚ ์งœ ๊ณ„์‚ฐ, ํฌ๋งทํŒ… ์ „๋ฐ˜์— dayjs ํ™œ์šฉ
  • ๋‚ ์งœ๋ณ„ ๊ฒฝ๊ธฐ ์ˆ˜ ๋‹ฌ๋ ฅ์— ํ‘œ์‹œ
  • ๊ฒฝ๊ธฐ๋ณ„ ์˜์ƒ / ์„ ์ˆ˜ ๊ธฐ๋ก / ์‹ค์‹œ๊ฐ„ ์ค‘๊ณ„ ํŽ˜์ด์ง€๋กœ ์ด๋™

๊ฒฝ๊ธฐ ์ •๋ณด ์กฐํšŒ

์˜์ƒ

  • ํŠน์ • ๊ฒฝ๊ธฐ์˜ ์˜์ƒ์„ Youtube Data API ์‚ฌ์šฉํ•ด ํ‘œ์‹œ
  • Intersection Oberserver API๋กœ ์Šคํฌ๋กค์— ๋ฐ˜์‘ํ•˜๋Š” ๋ Œ๋”๋ง ๊ตฌํ˜„

์„ ์ˆ˜ ๊ธฐ๋ก

  • NBA ๊ณต์‹ ๋ฐ์ดํ„ฐ ํ™œ์šฉ ์„ ์ˆ˜ ๊ธฐ๋ก ์ปฌ๋Ÿผ๋ณ„ ์ •๋ ฌ

์‹ค์‹œ๊ฐ„ ์ค‘๊ณ„

  • ์ผ์ • ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์œผ๋กœ ์ฟผํ„ฐ๋ณ„ ์‹ค์‹œ๊ฐ„ ์ค‘๊ณ„ ๋‚ด์šฉ ํ‘œ์‹œ

์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…

  • ๋ณ„๋„์˜ ์†Œ์ผ“ ์„œ๋ฒ„ ํ˜ธ์ŠคํŒ…
  • Socket IO ๊ธฐ๋ฐ˜ ๊ฒฝ๊ธฐ๋ณ„ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ์ง€์›
  • ์ตœ๊ทผ 50๊ฐœ ๋ฉ”์„ธ์ง€ DB ์กฐํšŒ ํ›„ ๋ Œ๋”๋ง

๐Ÿ’พ ERD

ERD


๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜

  • UI(Page) [ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๊ณ„์ธต]: Next.js์˜ app ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด๋ถ€์˜ page.tsx ํŒŒ์ผ๋“ค
  • API Routes [Adapter ๊ณ„์ธต]: /app/api ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด๋ถ€์˜ API ํ•ธ๋“ค๋Ÿฌ
  • UseCase(Service) [๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ณ„์ธต]: /application/usecases ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ ๋กœ์ง์„ ์ฒ˜๋ฆฌ
  • Entity [๋„๋ฉ”์ธ ๊ณ„์ธต]: /domain/entities ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ฐ ๋„๋ฉ”์ธ ๋ชจ๋ธ ์ •์˜

About

๐Ÿ€ ํ† ๋„๋™ - NBA ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๋ฐ ์ฑ„ํŒ…

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 82.6%
  • SCSS 16.7%
  • JavaScript 0.7%