Skip to content

cchoijjinyoung/book-review-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

106 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

์ฑ… ๋ฆฌ๋ทฐ ์„œ๋น„์Šค

์ฑ…์„ ๋ฆฌ๋ทฐํ•˜๊ณ  ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ๊ธฐ๋Šฅ ๋ฐ ์„ค๊ณ„

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

    • ์‚ฌ์šฉ์ž๋Š” ํšŒ์›๊ฐ€์ž…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ด๋ฉ”์ผ, ํŒจ์Šค์›Œ๋“œ, ๋‹‰๋„ค์ž„(8์ž ์ด๋‚ด)์„ ์ž…๋ ฅ๋ฐ›์œผ๋ฉฐ, ์ด๋ฉ”์ผ๊ณผ ๋‹‰๋„ค์ž„์€ unique ํ•ด์•ผํ•œ๋‹ค. ๋ชจ๋“  ๊ฐ’์€ ํ•„์ˆ˜๊ฐ’์ด๋‹ค.
    • ์ด๋ฉ”์ผ ์ธ์ฆ์˜ ๊ฒฝ์šฐ 72์‹œ๊ฐ„๋‚ด์— ์ˆ˜ํ–‰ํ•ด์•ผํ•œ๋‹ค.
    • ๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” ํšŒ์›๊ฐ€์ž… ์‹œ USER ๊ถŒํ•œ์„ ๊ฐ–๋Š”๋‹ค.
      • ADMIN role๋„ ์žˆ์ง€๋งŒ, ๊ด€๋ฆฌ์ž ํšŒ์›๊ฐ€์ž…์€ ๋ณ„๋„์˜ API๋Š” ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋กœ๊ทธ์ธ

    • ์‚ฌ์šฉ์ž๋Š” ๋กœ๊ทธ์ธ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ด๋ฉ”์ผ ์ธ์ฆ์ด ๋œ ์ด๋ฉ”์ผ๋กœ๋งŒ ๋กœ๊ทธ์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ๋กœ๊ทธ์ธ ์‹œ ํšŒ์›๊ฐ€์ž… ๋•Œ ์‚ฌ์šฉํ•œ ์•„์ด๋””์™€ ํŒจ์Šค์›Œ๋“œ๊ฐ€ ์ผ์น˜ํ•ด์•ผํ•œ๋‹ค.
    • ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ์™€ JWT๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๋กœ๊ทธ์ธ์— ์„ฑ๊ณตํ•˜๋ฉด ์•ก์„ธ์Šคํ† ํฐ๊ณผ ๋ฆฌํ”„๋ž˜์‹œ ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•œ๋‹ค.
  • ์ฑ… ๊ฒ€์ƒ‰

    • ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” ์ฑ…์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค. '๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰ > ์ฑ… Search API'๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. https://developers.naver.com/docs/serviceapi/search/book/book.md#%EC%B1%85
    • ๋„ค์ด๋ฒ„ API ํ˜ธ์ถœ ์žฅ์•  ๋ฐœ์ƒ ์‹œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์œ„ํ•ด '์„œํ‚ท ๋ธŒ๋ ˆ์ด์ปค ํŒจํ„ด'์„ ์‚ฌ์šฉํ•œ๋‹ค.
      • ๊ฒ€์ƒ‰ ์กฐ๊ฑด์— ๋”ฐ๋ฅธ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ๋ฅผ ์บ์‹œ์— ์ €์žฅํ•ด๋‘๊ณ , Open API์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์บ์‹œ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋กœ ์‘๋‹ตํ•œ๋‹ค.
      • ๋งŒ์•ฝ ์บ์‹œ์—๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋‹ค๋ฉด, ์นด์นด์˜ค ์ฑ… ๊ฒ€์ƒ‰ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ๋ฅผ ์‘๋‹ตํ•œ๋‹ค.
      • ์นด์นด์˜ค ์ฑ… ๊ฒ€์ƒ‰ API: https://developers.kakao.com/docs/latest/ko/daum-search/dev-guide#search-book
    • ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ '์ •ํ™•๋„ ์ˆœ'์œผ๋กœ ์ •๋ ฌ๋˜๋ฉฐ, ๊ทธ ์™ธ ์ •๋ ฌ์œผ๋กœ๋Š” '์ตœ๊ทผ ์ถœ๊ฐ„์ผ ์ˆœ'์ด ์žˆ๋‹ค.
    • ์ฑ… ์ด๋ฏธ์ง€, ์ œ๋ชฉ, ์ €์ž, ํŒ๋งค๊ฐ€๊ฒฉ, ์ถœํŒ์‚ฌ, ์ถœ๊ฐ„์ผ์„ ๋ณผ ์ˆ˜ ์žˆ๊ณ , ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ๋งŽ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ paging ์ฒ˜๋ฆฌํ•œ๋‹ค.
  • ์ฑ… ์ƒ์„ธ ์กฐํšŒ

    • ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” ์ฑ…์„ ์ƒ์„ธ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ฑ…์˜ ์ƒ์„ธ ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ฑ… ๋ฆฌ๋ทฐ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ

    • ๋ฆฌ๋ทฐ์˜ ๊ตฌ์„ฑ์€ ์ž‘์„ฑ์ž์˜ ๋‹‰๋„ค์ž„, ๋ณ„์ , ๋‚ด์šฉ, ์ข‹์•„์š” ๊ฐฏ์ˆ˜, ์ž‘์„ฑ ๋‚ ์งœ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
    • '์ข‹์•„์š”์ˆœ', '์ตœ์‹  ์ˆœ'์œผ๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๊ฒฐ๊ณผ๊ฐ€ ๋งŽ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ paging ์ฒ˜๋ฆฌํ•œ๋‹ค.
  • ์ฑ… ๋ฆฌ๋ทฐ ์ž‘์„ฑ

    • ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๋งŒ ๋ฆฌ๋ทฐ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋ฆฌ๋ทฐ ์ž‘์„ฑ ํ•ญ๋ชฉ์€ ์ž‘์„ฑ์ž์˜ ๋‹‰๋„ค์ž„, ๋ณ„์ , ๋‚ด์šฉ์œผ๋กœ ๊ตฌ์„ฑ๋˜๊ณ  ๋ชจ๋‘ ํ•„์ˆ˜๊ฐ’์ด๋‹ค.
    • ์ฑ…์„ ๋”ฐ๋กœ DB์— ์ €์žฅํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ISBN๊ฐ’์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๋ฆฌ๋ทฐ '์ข‹์•„์š”'

    • ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๋งŒ ๋งˆ์Œ์— ๋“œ๋Š” ๋ฆฌ๋ทฐ์— '์ข‹์•„์š”'๋ฅผ ๋ˆ„๋ฅผ ์ˆ˜ ์žˆ๋‹ค.
    • ํšŒ์›์˜ ์ค‘๋ณต '์ข‹์•„์š”'๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํšŒ์›ID, ๋ฆฌ๋ทฐID๋ฅผ unique๋กœ ๊ฐ€์ง„๋‹ค.
    • ๋ฆฌ๋ทฐ ์ž‘์„ฑ์ž๋Š” '์ข‹์•„์š” ์•Œ๋ฆผ'์„ ๋ฐ›๋Š”๋‹ค.
  • ๋ฆฌ๋ทฐ '์ข‹์•„์š”' ์ทจ์†Œ

    • ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๋Š” ๋ณธ์ธ์ด ๋ˆ„๋ฅธ '์ข‹์•„์š”'๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋ฆฌ๋ทฐ ์ž‘์„ฑ์ž๋Š” ์ทจ์†Œ์•Œ๋ฆผ์€ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.
    • '์ข‹์•„์š”' ํ…Œ์ด๋ธ”์—์„œ ์‚ญ์ œ๋œ๋‹ค.
  • ์•Œ๋ฆผ

    • ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๋งŒ ์•Œ๋ฆผ์„ ๋ฐ›์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    • ์•Œ๋ฆผ์€ ์ˆ˜์‹ ์ž, ๋‚ด์šฉ, ์•Œ๋ฆผ์ด ์˜จ ๋‚ ์งœ, ์ฝ์€ ์ƒํƒœ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค.
    • ์ฝ์€ ์ƒํƒœ๋Š” ์ฝ์€๋‚ ์งœ ์ปฌ๋Ÿผ์„ ๋‘ ์œผ๋กœ์จ ๊ตฌํ˜„ํ•œ๋‹ค.
    • ์•Œ๋ฆผ์ด ๋ฌด์Šจ ํƒ€์ž…์ธ์ง€ ํŒŒ์•…ํ•˜๊ธฐ์œ„ํ•ด enum์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค. (e.g. LIKE, COMMENT)
      • ํ˜„์žฌ๋Š” 'LIKE'ํƒ€์ž…์˜ ์•Œ๋ฆผ๋งŒ ์กด์žฌํ•˜์ง€๋งŒ, ์ถ”ํ›„์— ์—ฌ๋Ÿฌ ํƒ€์ž…์˜ ์•Œ๋ฆผ์ด ์ถ”๊ฐ€๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๊ธฐ๋•Œ๋ฌธ์ด๋‹ค.
    • ์•Œ๋ฆผ์€ [๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ๋ฆฌ๋ทฐ์— '์ข‹์•„์š”'๊ฐ€ ๋ˆŒ๋ ธ์„ ๋•Œ]์™€ ๊ฐ™์€ ์ƒํ™ฉ์— ๋ฐœ์ƒํ•œ๋‹ค.
    • ๋งŒ์•ฝ, [A์œ ์ €๊ฐ€ ์‚ฌ์šฉ์ž๋‹˜์˜ '๋ฆฌ๋ทฐ1'๋ฅผ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค.] ๋ผ๋Š” ์•Œ๋ฆผ์ด ์˜จ๋‹ค๋ฉด, ํ•ด๋‹น ์•Œ๋ฆผ ํด๋ฆญ ์‹œ '๋ฆฌ๋ทฐ1'๋กœ ์ด๋™ํ•œ๋‹ค.
      • A์œ ์ €: action_member_id ์ปฌ๋Ÿผ์„ ๋‘ ์œผ๋กœ์จ ๊ตฌํ˜„ํ•œ๋‹ค.
      • ๋ฆฌ๋ทฐ1๋กœ ์ด๋™: target_type ์ปฌ๋Ÿผ๊ณผ target_id ์ปฌ๋Ÿผ์„ ๋‘ ์œผ๋กœ์จ ๊ตฌํ˜„ํ•œ๋‹ค.

ERD

ERD

ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

go to the trouble shooting section

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

go to the project retrospective section

๊ธฐ์ˆ  ์Šคํƒ

About

๐Ÿ“’ ์ฑ… ๋ฆฌ๋ทฐ ์„œ๋น„์Šค

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors