๐Ÿ“šReadyBooks?!๐Ÿ“š ํ”„๋กœ์ ํŠธ๋ฅผ ๋๋‚ด๋ฉฐ

Maria Kimยท2021๋…„ 12์›” 26์ผ
0
post-custom-banner

[ About ๐Ÿ“šReadyBooks๐Ÿ“š ]

  • ํ•จ๊ป˜ ์ฑ… ์ฝ์„ ์ค€๋น„๋˜์…จ๋‚˜์š”?
  • ebook ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์ดํŠธ

๊ตฌํ˜„ ์‚ฌํ•ญ

  • ์†Œ์…œ ๋กœ๊ทธ์ธ
  • ์ƒ์„ธํŽ˜์ด์ง€
  • ๋ฉ”์ธํŽ˜์ด์ง€
  • ์žฅ๋ฐ”๊ตฌ๋‹ˆ

Demo video

ReadyBooks video link

Project Duration

  • 2021/12/13~2021/12/23 (2์ฃผ)

Team Members

  • ํ”„๋ก ํŠธ์—”๋“œ 3๋ช…
  • ๋ฐฑ์—”๋“œ 3๋ช…

[ Skills ]

Frontend

- React, React-Router, Style-components

Backend

- Python, Django, Docker, MySQL, AWS

[ Communication Tools ]

Git, Github

GitHub ReadyBooks

  • ์ฝ”๋“œ ๊ด€๋ฆฌ

Slack

  • ๊ธฐ๋ณธ์ ์ธ ์†Œํ†ต
  • Github ๊ณผ ์—ฐ๊ฒฐํ•˜์—ฌ github merge, PR ์ƒํƒœ ํ™•์ธ

Notion

  • slack์—์„œ ํ•ด๋‹น ๋ถ€๋ถ„์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๊ธ€๋“ค ์†์—์„œ ํ—ค์—„์น˜์ง€ ์•Š์•„๋„ ๋จ
  • ๋ชจ๋“  ๋ฏธํŒ… ๊ธฐ๋ก์ด ์žˆ์–ด ์ข‹์Œ
  • ๋ฏธํŒ… ์ „ ์‚ฌ์ „ ๋กœ๊ทธ ์ž‘์„ฑํ•˜์—ฌ ๋ฏธํŒ… ์ „ ํŒ€์›๋“ค์ด ํ™•์ธํ•˜์—ฌ
  • ํ•ด๋‹น ๋ถ€๋ถ„์— ๋Œ€ํ•ด ๋จผ์ € ์ƒ๊ฐํ•˜๊ณ  ๋ฏธํŒ…์—์„œ ์˜๊ฒฌ์„ ๋‚˜๋ˆ„๊ณ  ๋” ๋นจ๋ฆฌ ์ดํ•ด ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ
  • ํ”„๋กœ์ ํŠธ์— ๊ด€๋ จ๋œ ๋ชจ๋“  ๋ฌธ์„œ๋ฅผ ์ €์žฅ
  • ๊ณตํ†ต์œผ๋กœ ์ •ํ•œ ๋ถ€๋ถ„์„ ๋ฌธ์„œํ™”ํ•ด ํ•ด๋‹น ๋ถ€๋ถ„์„ ๊ณ„์† ํ™•์ธํ•˜๊ณ 
  • ์ •ํ•ด์ง„ ๋ถ€๋ถ„์— ๋Œ€ํ•ด ๋‹ค์‹œ ๋ฏธํŒ…ํ•˜๊ฑฐ๋‚˜ ํ•ด๋‹น ํŒ€์›์—๊ฒŒ ๋ฌป์ง€ ์•Š์•„๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์—…๋ฌด์˜ ํšจ์œจ์„ฑ์„ ๋†’์ž„

Trello

  • srum, ํ•œ์ฃผ sprint์˜ ๋ชฉํ‘œ, ํ•ด์•ผ ํ•  ๋ถ€๋ถ„์„ ๋ณด๊ธฐ ์ข‹์Œ
  • ํŒ€์›๋“ค์ด ์„œ๋กœ ๋‹ค๋ฅธ ํŒ€์›์˜ ์ง„์ฒ™๋„๋ฅผ ๋ณด๊ณ  ์ž์‹ ์ด ํ•  ์ผ๋“ค์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Œ

Gather town

https://www.gather.town/

  • ์˜จ๋ผ์ธ์œผ๋กœ ๋งŒ๋‚˜์•ผ ํ•  ๊ฒฝ์šฐ gather town ์—์„œ ๋งŒ๋‚จ
  • ํ™”๋ฉด ๊ณต์œ ๋กœ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ๊ณ ๋ฏผ
  • ํšŒ์˜์‹ค์—์„œ ํšŒ์˜๋ฅผ ์ง„ํ–‰
  • ๊ฐ์ž์˜ ์ž๋ฆฌ์—์„œ ์ž‘์—…์„ ํ•˜๋‹ค ์˜๋…ผํ•  ์ผ์ด ์žˆ์œผ๋ฉด ํŒ€์› ์ž๋ฆฌ์— ๊ฐ€์„œ ์˜๋…ผ

[ What I did ]

์†Œ์…œ ๋กœ๊ทธ์ธ


์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ตฌํ˜„
kakao developers ๊ณต์‹ ๋ฌธ์„œ
(๋ธ”๋กœ๊ทธ๋‚˜ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์ง€ ์•Š๊ณ  ์˜ค์ง ๊ณต์‹ ๋ฌธ์„œ๋งŒ์„ ์ด์šฉํ•ด์„œ ์†Œ์…œ ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„)

[ ๋กœ๊ทธ์ธ ]

  • ํŒ์—… ๋ฐฉ์‹์œผ๋กœ ๋กœ๊ทธ์ธ ๊ตฌํ˜„
  • ์นด์นด์˜ค๋กœ ์‚ฌ์ดํŠธ ๊ฐ€์ž…
  • ํ•„์ˆ˜์‚ฌํ•ญ + ์„ ํƒ์‚ฌํ•ญ ๋กœ๊ทธ์ธ ์‹œ ๊ธฐ์ž…
  • ๋กœ๊ทธ์ธ ํ›„ ์นด์นด์˜ค์—์„œ ๋ฐ›์€ ์นด์นด์˜ค ํ† ํฐ์„ ๋ฐฑ์—”๋“œ์—๊ฒŒ ์ „๋‹ฌ
  • ๋ฐฑ์—”๋“œ๋กœ๋ถ€ํ„ฐ ReadyBooks ์‚ฌ์ดํŠธ ํ† ํฐ ๋ฐ›์•„ local์— ์ €์žฅ

[ ๋กœ๊ทธ์•„์›ƒ ]

  • ์นด์นด์˜ค ํ† ํฐ ๋งŒ๋ฃŒ
  • ์ €์žฅ๋œ ReadyBooks ์‚ฌ์ดํŠธ ํ† ํฐ ์ง€์šฐ๊ธฐ

์–ด๋ ค์› ๋˜ ์ 

  • ๋ฌธ์„œ์˜ ๋‚ด์šฉ์€ ๋ฐฉ๋Œ€ํ–ˆ๊ณ  ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋ถ€๋ถ„์ด ์–ด๋””์— ๋“ค์–ด์žˆ์ง€๋Š” ์ง€ ์–ผ๋งˆ๋งŒํผ ๋ด์•ผ ํ•˜๋Š”์ง€ ๊ฐ์„ ์žก๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋‹ค.
  • ์ž‘์„ฑ์ž๊ฐ€ ์–ด๋–ค ์˜๋ฏธ์—์„œ ์–ด๋Š ๋ถ€๋ถ„์—์„œ ํ•ด๋‹น ๋ถ€๋ถ„์„ ์‚ฌ์šฉํ•˜๋ผ๋Š” ์˜๋ฏธ์ธ์ง€ ๊ฐ์„ ์žก๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋‹ค.

๋‹น๋ฉดํ–ˆ๋˜ ๋ฌธ์ œ

  • ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๊ณ  ๋กœ๊ทธ์ธ์€ ๋นจ๋ฆฌ ์™„์„ฑํ–ˆ๋Š”๋ฐ,
    ๋กœ๊ทธ์•„์›ƒ ํ›„ ๋กœ๊ทธ์ธ์„ ํ•˜๋ฉด ๊ณ„์† ๋กœ๊ทธ์ธ ํŒ์—…์ฐฝ์ด ๋œจ์ง€ ์•Š๊ณ  ์ž๋™ ๋กœ๊ทธ์ธ์ด ๋˜์–ด
    ๋‹ค๋ฅธ ์•„์ด๋””๋กœ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ๊ฐ€ ์—†์—ˆ๋‹ค.

ํ•ด๊ฒฐ : ๊ณต์‹ ์‚ฌ์ดํŠธ์—๋Š” ์—†๊ณ  ๊ณต์‹ ์‚ฌ์ดํŠธ์—์„œ ์ฒจ๋ถ€ํ•œ ๋ชจ๋“  API ์ฐธ๊ณ  ๋ฌธ์„œ์— ์žˆ์—ˆ๋‹ค.
(์ •๋ง ๋ชจ๋“  ๋ฌธ์„œ๋ฅผ ์ƒ…์ƒ…์ด ์‚ดํŽด๋ด์•ผ ํ•˜๋‚˜๋ณด๋‹ค...)

๊ณต์‹๋ฌธ์„œ์˜ ์ค‘์š”์„ฑ

  • ๋‹น์—ฐํžˆ ๊ฒ€์ƒ‰๋„ ๊ฐœ๋ฐœ์ž์˜ ์—ญ๋Ÿ‰์ธ ๋งŒํผ ์ค‘์š”ํ•˜์ง€๋งŒ ๊ด€๋ จ ๊ธ€์ด ๋งŽ๋‹ค๋Š” ๊ฒƒ์€ ์ด๋ฏธ ํ•ด๋‹น ๋ถ€๋ถ„์ด ๋‚˜์˜จ ์ง€ ์˜ค๋ž˜๋๋‹ค๋Š” ๊ฒƒ
  • ๊ฐœ๋ฐœ ๋ถ„์•ผ๋Š” ์—…๋ฐ์ดํŠธ๊ฐ€ ๋Š์ž„์—†์ด ์ด๋ฃจ์–ด์ง€๊ธฐ์— ๊ธ€์ด ๋งŽ์„์ˆ˜๋ก ๋ฒŒ์จ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋˜์—ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.
  • ์—…๋ฐ์ดํŠธ๊ฐ€ ์ž‘์€ ๋ถ€๋ถ„์—์„œ ์ด๋ฃจ์–ด์งˆ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•œ ๋ถ€๋ถ„์—์„œ ์ด๋ค„์ ธ์„œ ์ด๋ฏธ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋‚˜ ์‚ฌ์ดํŠธ๋“ค์˜ ๋‚ด์šฉ์ด ์ ์šฉ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ธ”๋กœ๊ทธ๋‚˜ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ •๋ฆฌํ•œ ์นœ์ ˆํ•œ ๊ธ€๋งŒ์„ ๋ณด๋‹ค ๋ณด๋ฉด ๊ณต์‹ ๋ฌธ์„œ๊ฐ€ ๋” ์ฝ๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋” ๋งŽ์ด ์ฝ๋„๋ก ํ•˜์ž!
  • ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ทธ ๋ˆ„๊ตฌ๋ณด๋‹ค ๋” ์ •ํ™•ํ•˜๊ฒŒ ๋” ๋น ๋ฅด๊ฒŒ ํ•ด๋‹น ๋ถ€๋ถ„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค!

๋กœ๊ทธ์ธ ์‹œ ์ƒ๋‹จ๋ฐ”

  • ๋กœ๊ทธ์ธ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜๋ฉด ๋ฐฑ์—”๋“œ๋กœ๋ถ€ํ„ฐ ์‚ฌ์šฉ์ž์˜ nickname, ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ๋ฐ›์Œ
  • ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ๋ˆ„๋ฅด๋ฉด ์‚ฌ์šฉ์ž์˜ nickname์ด ํ‘œ์‹œ๋˜๊ณ  ๋กœ๊ทธ์•„์›ƒ ๋ถ€๋ถ„์ด dropdown์œผ๋กœ ๋‚˜ํƒ€๋ƒ„
  • ๋กœ๊ทธ์ธ ์‹œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ฒ„ํŠผ ๊ตฌํ˜„

์ƒ์„ธํŽ˜์ด์ง€

๊ตฌ๋งค์— ๋”ฐ๋ฅธ ํ™”๋ฉด ๊ตฌ์„ฑ ๋ณ€ํ™”

  • ๊ตฌ๋งค์— ๋”ฐ๋ฅธ ํ™”๋ฉด ๊ตฌ์„ฑ์„ ์œ„ํ•ด์„œ๋Š” ๊ตฌ๋งค ์—ฌ๋ถ€๋ฅผ ์•Œ์•„์•ผ ํ–ˆ๋‹ค.
  • ๊ตฌ๋งค ์—ฌ๋ถ€๋Š” 3๊ฐ€์ง€ case ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  1. ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์•˜์„ ๋•Œ -> ๋ฌด์กฐ๊ฑด ๊ตฌ๋งค x
  2. ๋กœ๊ทธ์ธ o + ๊ตฌ๋งค ์ด๋ ฅ์ด o -> ๊ตฌ๋งค o
  3. ๋กœ๊ทธ์ธ o + ๊ตฌ๋งค ์ด๋ ฅ x -> ๊ตฌ๋งค x
  • ์ด๋ฅผ ์œ„ํ•ด ๋กœ๊ทธ์ธ ์‹œ header์— ํ† ํฐ์„ ์ฃผ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฑ์—”๋“œ์™€ ๋…ผ์˜ํ–ˆ๋‹ค

1์ฐจ ์‹œ๋„

  • ๋ฐฑํ†ต์‹ ์„ ํ•  ๋•Œ ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š์•„ ํ† ํฐ์ด ์—†์œผ๋ฉด ๋นˆ string์„ ์ฃผ๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ–ˆ๋‹ค
const Authorization = sessionStorage.getItem('Authorization') || '';
// ...
    fetch(`${API.book}/${bookId}`, {
      headers: {Authorization: Authorization},
    })

๋ฌธ์ œ : ๋ฐฑ์—”๋“œ์—์„œ ํ† ํฐ์ด ์—†์„ ๋•Œ ์ฃผ์–ด์ง€๋Š” ๋นˆ string์„ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ–ˆ๊ณ  undefined, null์„ ํ•˜๋”๋ผ๋„ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค.
์•Œ๊ณ  ๋ณด๋‹ˆ ๋ฐฑ์—”๋“œ์—์„œ์˜ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ด ๋ถ€๋ถ„์„ ์ฒ˜๋ฆฌํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ -> Authorization ๋ผ๋Š” key ์ž์ฒด๊ฐ€ ๋“ค์–ด์˜ค์ง€ ์•Š์„ ๋•Œ ๊ธฐ๋ณธ๊ฐ’์ด ์‚ฌ์šฉ๋˜๋‹ค ๋ณด๋‹ˆ ๋นˆ๊ฐ’์ด๋ผ๋„ ์ผ๋‹จ ํ‚ค๊ฐ’์ด ๋“ค์–ด์˜ค๋ฉด ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์—ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๋นˆ์นธ์œผ๋กœ ๋“ค์–ด์˜ค๋˜ undefined์œผ๋กœ ๋“ค์–ด์˜ค๋˜ ์ผ๋‹จ if ๋ฌธ์„ ์‚ฌ์šฉํ•ด ์ฒ˜๋ฆฌํ•ด์•ผ ํ–ˆ๋‹ค. (3๊ฐœ์˜ ๊ณผ์ •์„ ๋” ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค๊ณ  ํ–ˆ๋‹ค.)

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• : ํ”„๋ก ํŠธ๋‹จ์—์„œ ์ฒ˜๋ฆฌํ•ด ์ฃผ์ž!

2์ฐจ ์‹œ๋„
๋ฐฉ๋ฒ• : spread ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด์„œ ํ† ํฐ์ด ์—†๋‹ค๋ฉด ํ‚ค ์ž์ฒด๋ฅผ ์ฃผ์ง€ ๋ง์ž

const Authorization = sessionStorage.getItem('Authorization')
// ...
    fetch(`${API.book}/${bookId}`, {
      headers: {
        ...(Authorization && { Authorization: Authorization }),
      },
    })


[ ๊ตฌ๋งค ์ „ ]

  • ๋ฐ”๋กœ ๊ตฌ๋งคํ•˜๊ธฐ ๋ฒ„ํŠผ -> ํด๋ฆญ ์‹œ ๋ฐ”๋กœ ๊ตฌ๋งค ๋จ
    [๊ตฌ๋งค ๋ฒ„ํŠผ์ด ๋งŒ๋“ค์–ด์ง€๊ธฐ๊นŒ์ง€์˜ ๊ณผ์ •]
    ์ฒ˜์Œ ๊ธฐํš ๋‹จ๊ณ„ -> ๊ฐ€๊ฒฉ ๋ถ€๋ถ„๊ณผ ๊ตฌ๋งค ๋ฒ„ํŠผ์€ ๋”ฐ๋กœ ์žˆ์—ˆ๋‹ค.
    ๋ฌธ์ œ -> ๋”ฐ๋กœ ์žˆ๋‹ค ๋ณด๋‹ˆ UI ๋ถ€๋ถ„์ด ๊น”๋”ํ•˜๊ฒŒ ๋–จ์–ด์ง€์ง€ ์•Š์•˜๋‹ค.
    ํ•ด๊ฒฐ -> ๊ตฌ๋งคํ•˜๋Š” ์‚ฌ๋žŒ๋งŒ ๊ฐ€๊ฒฉ์„ ๋ณด๋ฉด ๋จ, ๊ตฌ๋งคํ•  ๋•Œ ๊ฐ€๊ฒฉ์„ ์ฐพ๊ฒŒ ๋จ, ๊ตฌ๋งค ๋ฒ„ํŠผ์— ๊ฐ€๊ฒฉ์„ ๋„ฃ์œผ๋ฉด ์•„๋ž˜ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ๋ถ€๋ถ„๊ณผ ๊ธธ์ด๊ฐ€ ๋น„์Šทํ•ด์ง ๋“ฑ์„ ๊ณ ๋ คํ•ด ๋ณด๋‹ˆ ๊ฐ€๊ฒฉ๊ณผ ๊ตฌ๋งค ๋ฒ„ํŠผ์„ ํ•ฉ์น˜๊ฒŒ ๋˜์—ˆ๋‹ค.
    ๊ฒฐ๋ก  -> ๊ตฌ๋งค ๋ฒ„ํŠผ ์•ˆ์— ๊ฐ€๊ฒฉ ๋„ฃ๊ธฐ

  • ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ฒ„ํŠผ -> ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ์ถ”๊ฐ€๋จ

  • ์ฑ… ๋ฏธ๋ฆฌ ๋ณด๊ธฐ -> 5์žฅ๊นŒ์ง€๋งŒ ๋ณด๊ธฐ ๊ฐ€๋Šฅ

  • ๋ฆฌ๋ทฐ ๋ถˆ๊ฐ€๋Šฅ


[ ๊ตฌ๋งค ํ›„ ]

  • ์ฑ… ๋ณด๊ธฐ -> ์ฑ… ์ „์ฒด ๋ณด๊ธฐ ๊ฐ€๋Šฅ
  • ๋ฆฌ๋ทฐ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ

PDF ์ฝ๊ธฐ

  • react-pdf ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ

์–ด๋ ค์› ๋˜ ์ 

  • pdf๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์€ ์ฒ˜์Œ
  • ์ฒซ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ ์‹œ ๊ณ ๋ฏผํ•ด์•ผ ํ•  ๋ถ€๋ถ„

[๋ฌธ์ œ]

  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋”ฑ ๊ทธ ๋ถ€๋ถ„๋งŒ์ด ์•„๋‹Œ ์—„์ฒญ ๋งŽ์€ ๋ถ€๋ถ„์„ ๊ฐ€์ง„ ์ฝ”๋“œ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋งŽ๋‹ค -> ํ”„๋กœ๊ทธ๋žจ์ด ๋ฌด๊ฑฐ์›Œ์งˆ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค

[ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•]

  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ๋‚ด๊ฐ€ ํ•ด๋‹น ๋ถ€๋ถ„์„ ์ฐธ๊ณ ํ•ด์„œ ๊ฐœ๋ฐœ์„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ฐธ๊ณ ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ตœ๋Œ€ํ•œ ํ•œ๋‹ค.
  • ์ฐธ๊ณ ํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค๋ฉด ๋™๋ฃŒ ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๊ผญ ํ•„์š”ํ•œ์ง€ ํ† ์˜๋ฅผ ํ•ด๋ณธ๋‹ค.
    -> ์–ด์ฉŒ๋ฉด ๋” ๊ฐ€๋ฒผ์šด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ๋˜๋Š” ๋‹ค๋ฅธ ํ•ด๊ฒฐ์ฑ…์ด ์กด์žฌํ•  ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ :)

๋ฆฌ๋ทฐ

  • ๋น„ ๊ตฌ๋งค ์‹œ ๋ฆฌ๋ทฐ ์ž‘์„ฑ ๋ถˆ๊ฐ€ -> ์ƒ์„ธ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฑ์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ›์•„ ์˜ฌ ๋•Œ ๊ตฌ๋งค ์—ฌ๋ถ€๋ฅผ ๋ฐ›์•„ ์ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํŒ๋‹จ
  • ๋ฆฌ๋ทฐ ์ถ”๊ฐ€ ์‹œ ๋ณ„์  ํ•„์ˆ˜ -> ๋ณ„์ ์€ ์ƒ์„ธํŽ˜์ด์ง€ ์ƒ๋‹จ์— ํ‰์ ์— ์‚ฌ์šฉ๋˜๊ณ , ๋žญํ‚น์€ ์ด ํ‰์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋งŒ๋“ค์–ด์ง
  • ๋ฆฌ๋ทฐ ์ถ”๊ฐ€ ํ›„ ๋ฆฌ๋ทฐ ๋ถ€๋ถ„๋งŒ ๋‹ค์‹œ ๋ฐฑ์—”๋“œ์—์„œ ๋ฐ›์•„์™€ ๋ณด์—ฌ์คŒ
  • ๋ฆฌ๋ทฐ ์‚ญ์ œ -> ์ž‘์„ฑ์ž์˜ user_id์™€ ์‚ฌ์šฉ์ž์˜ user_id ๊ฐ€ ๊ฐ™๋‹ค๋ฉด ์‚ญ์ œ ๋ฒ„ํŠผ์ด ์˜†์— ์ƒ์„ฑ๋˜๊ณ  ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ์Œ
  • ๋ฆฌ๋ทฐ ์‚ญ์ œ ํ›„ ๋ฆฌ๋ทฐ ๋ถ€๋ถ„๋งŒ ๋‹ค์‹œ ๋ฐฑ์—”๋“œ์—์„œ ๋ฐ›์•„์™€ ๋ณด์—ฌ์คŒ

์–ด๋ ค์› ๋˜ ์ 

๋ฌธ์ œ

  • ์ฒ˜์Œ์—๋Š” ์žฅ๋ฐ”๊ตฌ๋‹ˆ์™€ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐ์„ ํ–ˆ๋‹ค
    -> ๋ Œ๋”๋ง์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋ก ํŠธ์—์„œ ๋ฆฌ๋ทฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋ฐฑ์—๊ฒŒ ์ด๋ฅผ ์•Œ๋ฆฌ๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค
    -> ๊ทธ๋Ÿด๋“ฏํ•ด ๋ณด์˜€๋‹ค. ํ•˜์ง€๋งŒ ๋ฌธ์ œ๋Š” ์‚ญ์ œ์—์„œ ์ƒ๊ฒผ๋‹ค
  • ์‚ญ์ œ๋ฅผ review_id๋กœ ํ•˜๋Š”๋ฐ ํ”„๋ก ํŠธ์—์„œ review_id๋ฅผ ๋งŒ๋“ค์–ด ๋ฐฑ์—๊ฒŒ ์ „๋‹ฌํ•˜๋ฉด ์ค‘๋ณต์˜ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค.(๋‚œ์ˆ˜๋กœ ํ•˜๋”๋ผ๋„ ํ•œ์ชฝ์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋งž๋‹ค...)

๊นจ๋‹ซ๊ฒŒ ๋œ ๋ถ€๋ถ„

  • ๋ฆฌ๋ทฐ๋Š” ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐ„์ด๋‹ค (์žฅ๋ฐ”๊ตฌ๋‹ˆ๋Š” ์‚ฌ์šฉ์ž 1๋ช…์˜ ๊ณต๊ฐ„์ด๋‹ค)
    -> ์ค‘๊ฐ„์— ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ๋Œ“๊ธ€์„ ์ถ”๊ฐ€ํ–ˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค => ํ•ด๋‹น ๋ถ€๋ถ„์„ ์—…๋ฐ์ดํŠธํ•ด์ค˜์•ผ ํ•œ๋‹ค
    -> review_id๋Š” ๋ฐฑ์—”๋“œ์—์„œ ์ƒ์„ฑํ•ด์•ผ ๋ณต์žกํ•จ์ด ๋œํ•˜๋‹ค
    -> ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…๊นŒ์ง„ ํ•˜์ง€ ์•Š๋”๋ผ๊ณ  ์ถ”๊ฐ€, ์‚ญ์ œ ์‹œ ํ•ด๋‹น ๋ถ€๋ถ„์€ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•œ๋‹ค

  • ๋ฐฑ์—”๋“œ ์š”์ฒญ์„ ํ•  ๋•Œ 1๋ฒˆ์— 1๊ฐ€์ง€ ์ผ๋งŒ ํ•˜๊ฒŒ ํ•˜์ž
    -> ๋ฆฌ๋ทฐ ์ถ”๊ฐ€, ์‚ญ์ œ๋ฅผ ๋งก๋Š” ๋ถ€๋ถ„์—์„œ ๋ฐฑ์—”๋“œ ํ†ต์‹ ์„ ๋ฐฑ์—”๋“œ์™€ ํ•จ๊ป˜ ๊ณ ๋ฏผํ•˜๋ฉฐ ์ถ”๊ฐ€, ์‚ญ์ œ ํ›„ ๋ฆฌ๋ทฐ ๋ถ€๋ถ„์„ Get ์š”์ฒญํ•ด์•ผ ํ•˜๋Š”๋ฐ ๊ทธ๋ƒฅ ๋ฆฌ๋ทฐ ์‚ญ์ œ, ์ถ”๊ฐ€ ์š”์ฒญ์˜ response ๋กœ ์—…๋ฐ์ดํŠธ๋œ ๋ฆฌ๋ทฐ๋ฅผ ์ฃผ๋ฉด ์•ˆ ๋˜๋ƒ ๋ฌผ์–ด๋ณธ ์ ์ด ์žˆ๋‹ค.
    -> ๊ฒฐ๋ก  : ๊ธฐ๋Šฅ๋ณ„๋กœ ์š”์ฒญ์„ ๋‚˜๋ˆ„์–ด์•ผ ํ•œ๋‹ค

[ ๊ฐœ๋ฐœ ] ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐฐ์šด์ 

  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์‹ ์ค‘ํžˆ ๊ณ ๋ฏผํ•˜๊ณ  ์ฝ”๋“œ ์ฐธ๊ณ ์šฉ์œผ๋กœ๋„ ๊ณ ๋ฏผํ•ด ๋ณด์ž
  • ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฝ๋Š” ์—ฐ์Šต์„ ๋” ํ•˜์ž
  • ๋ฐฑ์—”๋“œ API๋Š” 1๋ฒˆ์— 1๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ๊ฒƒ์ด ์ด์ƒ์ ์ž„์„ ์ธ์ง€ํ•˜์ž
  • ๋ฐฑ์—”๋“œ์™€์˜ ํ†ต์‹  ์ค‘ key ๊ฐ’์ด ๋น„๊ฒŒ ๋  ๊ฒฝ์šฐ ํ‚ค ์ž์ฒด๋ฅผ ๋ณด๋‚ด์ง€ ์•Š๊ฒŒ ํ•˜์—ฌ ๋ฐฑ์—”๋“œ๊ฐ€ ๊ธฐ๋ณธ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์ž
  • ๋ฆฌ๋ Œ๋”๋ง์ด ์ผ์–ด๋‚˜์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ์ผ๋‹จ ํ•ด๋‹น ๋ถ€๋ถ„์ด ๋ฆฌ๋ Œ๋”๋ง์ด ํ•„์š”ํ•œ์ง€๋ถ€ํ„ฐ ๊ณ ๋ฏผํ•˜๋Š” ๊ฒƒ์ด ๋จผ์ €๋‹ค!

[ ํ˜‘์—… ] ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐฐ์šด ์ 

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋Š” ๋ชจ๋“  ํŒ€์›๋“ค์ด ๊ฐ์ž ํ•˜๊ณ  ์‹ถ์€ ๋ถ€๋ถ„๋“ค์ด ์žˆ์—ˆ๊ณ  ๊ฐ์ž ํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์„ ์ฐพ์•„์„œ ํ–ˆ๋‹ค.
์ด๋ฅผ ํ†ตํ•ด ํŒ€์žฅ์€ ๋งŽ์€ ๋ถ€๋ถ„์„ ์ฑ™๊ธฐ์ง€ ์•Š์•„๋„ ๋˜์—ˆ์œผ๋ฉฐ ๊ฐ์ž์˜ ๋ถ€๋ถ„์„ ๋” ์—ด์‹ฌํžˆ ํ•˜๊ณ  ๋” ๋งŽ์€ ์˜๊ฒฌ์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๊ณ ๋ฏผํ•œ ๋ถ€๋ถ„
ํŒ€์žฅ์˜ ์—ญํ• , ๋ฌด๊ฒŒ, ํŒ€์›์—๊ฒŒ ์–ด๋–ค ์ผ๋“ค์„ ์‹œํ‚ค๋Š” ๋นˆ๋„๋Š” ์–ด์ฉŒ๋ฉด ํŒ€์žฅ์˜ ์„ฑํ–ฅ๋„ ์žˆ๊ฒ ์ง€๋งŒ ํŒ€์›์˜ ์„ฑํ–ฅ์— ๋”ฐ๋ผ ๋ณ€ํ•  ์ˆ˜๋„ ์žˆ์ง€ ์•Š์„๊นŒ๋ผ๋Š” ์ƒ๊ฐ์„ ํ–ˆ๋‹ค.

๋‹ค์ง

  • ๋‚ด๊ฐ€ ํ•ด์•ผ ํ•  ๋ถ€๋ถ„์„ ์•Œ์•„์„œ ์ฐพ๋Š” ํŒ€์›์ด ๋˜์–ด์•ผ๊ฒ ๋‹ค.
  • ๋‚˜์˜ ์—ญํ• ์„ ๋จผ์ € ์ •์˜ํ•ด ๋ณด๊ณ  ๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„, ๋‚ด๊ฐ€ ํ•ด์•ผํ•  ๋ถ€๋ถ„์„ ์ตœ๋Œ€ํ•œ ํŒ€ ๋‚ด์—์„œ ํ•˜๋„๋ก ํ•ด์•ผ๊ฒ ๋‹ค.
  • ํŒ€์žฅ์˜ ์—ญํ• ์ด ์•„๋‹ ๋•Œ์—๋„ ๋‚˜๋ฌด๊ฐ€ ์•„๋‹Œ ์ˆฒ์„ ๋ณด๋„๋ก ๋…ธ๋ ฅํ•ด์•ผ๊ฒ ๋‹ค.

ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ์น˜๋ฉฐ...

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋Š” ์ฆ๊ฑฐ์› ๋‹ค. ํž˜๋“ค์ง€ ์•Š์•˜๋ƒ๊ณ  ๋ฌผ์œผ๋ฉด ๋‹น์—ฐํžˆ ํž˜๋“ค์—ˆ๋‹ค๊ณ  ๋งํ•˜๊ฒ ์ง€๋งŒ ํž˜๋“ฆ๊ณผ ์ฆ๊ฑฐ์›€์€ ๊ณต์กดํ•  ์ˆ˜ ์žˆ๋‹ค.
๋‚˜๋Š” ๋งค์ผ ์•„์นจ ์œ„์ฝ”๋“œ์— ๊ฐ€์„œ ํŒ€์›๋“ค๊ณผ ํ† ๋ก ํ•˜๊ณ  ๋‚ด๊ฐ€ ํ•ด์•ผ ํ•œ ๋ถ€๋ถ„๋“ค์€ ๊ณ ๋ฏผํ•˜๊ณ  ํŒ€์›๋“ค์„ ๋„์™€์ฃผ๊ณ  ์ด๋ฒˆ 2์ฃผ๋Š” ๋ถ„๋ช… ์ด์ „ ํ”„๋กœ์ ํŠธ์— ๋น„ํ•ด ํ”ผ๊ณค๋„๋Š” ๋†’์•˜์ง€๋งŒ ์ฆ๊ฑฐ์› ๋‹ค. ์–ธ์ œ๋‚˜ ์ตœ์†Œํ•œ ์—ฌ์œ  10%๋ฅผ ๊ฐ€์ง€๋„๋ก ๋…ธ๋ ฅํ–ˆ์œผ๋ฉฐ ์ด๋ฅผ ํ†ตํ•ด ๋ฐ”์˜๋”๋ผ๋„ ๋„์›€์„ ์š”์ฒญํ•˜๋Š” ์‚ฌ๋žŒ์—๊ฒŒ 20๋ฒˆ์— 19๋ฒˆ์€ ๋” ์—ฌ์œ ๋กญ๊ฒŒ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ์—ฌ์œ ๋„ ์ƒ๊ฒผ๋‹ค. ์ด ์—ฌ์œ ๋Š” ๊ฐ™์ด ๊ณ ๋ฏผํ•  ์‹œ๊ฐ„์„ ์ฃผ์–ด ์‚ฌ๋žŒ๋“ค๋งˆ๋‹ค ๋‹ค๋ฅธ ์ ‘๊ทผ๋ฒ•์„ ์•Œ๊ฒŒ๋„ ํ–ˆ๊ณ  ๋‚ด๊ฐ€ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์„ ์•Œ๊ฒŒ ํ•˜๋Š” ์ข‹์€ ๊ธฐํšŒ๋„ ๋˜์—ˆ๋‹ค. ์–ธ์ œ๋‚˜ 10%์˜ ์—ฌ์œ ๋ฅผ ๊ฐ€์ง€๊ณ  ํ˜ผ์ž๋งŒ ์ฑ…์ž„์„ ์ง€๋ ค๊ณ  ํ•˜์ง€ ์•Š๊ณ  ๋‹ค ๊ฐ™์ด๋ฅผ ๋งŽ์ด ๋Š๋‚€ ํ”„๋กœ์ ํŠธ์˜€๋‹ค.

ํ”„๋กœ์ ํŠธ log (+์ฝ”๋“œ)

๐Ÿ“šReadyBooks?!๐Ÿ“š 2์ฃผ์ฐจ ๊ณ ๋ฏผํ•œ ์ฝ”๋“œ์˜ ํ”์ ๋“ค
๐Ÿ“šReadyBooks๐Ÿ“š ๋Œ“๊ธ€ ๊ตฌํ˜„ํ•˜๊ธฐ
๐Ÿ“šReadyBooks๐Ÿ“š 1์ฃผ์ฐจ ๊ณ ๋ฏผํ•œ ๊ฐœ๋ฐœ์˜ ํ”์ ๋“ค
[๐Ÿ“šReadyBooks๐Ÿ“š] 2์ฐจ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘!

profile
Frontend Developer, who has business in mind.
post-custom-banner

2๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2022๋…„ 1์›” 21์ผ

๊ณ ๋ฏผ๊ณผ ๋…ธ๋ ฅ, ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์ฆ๊ธฐ์…จ๋‹ค๋Š” ๊ฒƒ์ด ๋Š๊ปด์ ธ์š”! ๋ฉ‹์ง„ ๊ธ€์ž…๋‹ˆ๋‹ค!

1๊ฐœ์˜ ๋‹ต๊ธ€