Skip to content

Latest commit

ย 

History

History
77 lines (60 loc) ยท 2.82 KB

File metadata and controls

77 lines (60 loc) ยท 2.82 KB

node-nodebird

์Šค์Šค๋กœ ํ•ด๋ณด๊ธฐ

ํŒ”๋กœ์ž‰ ๋Š๊ธฐ

  • ์‹œํ€„๋ผ์ด์ฆˆ์˜ destroy ๋งค์„œ๋“œ์™€ ๋ผ์šฐํ„ฐ ํ™œ์šฉ

ํ”„๋กœํ•„ ์ •๋ณด ๋ณ€๊ฒฝํ•˜๊ธฐ

  • ์‹œํ€„๋ผ์ด์ฆˆ์˜ update ๋งค์„œ๋“œ์™€ ๋ผ์šฐํ„ฐ ํ™œ์šฉ

๊ฒŒ์‹œ๊ธ€ ์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ ๋ฐ ์ข‹์•„์š” ์ทจ์†Œํ•˜๊ธฐ

  • ์‚ฌ์šฉ์ž-๊ฒŒ์‹œ๊ธ€ ๋ชจ๋ธ ๊ฐ„ N:M ๊ด€๊ณ„ ์ •๋ฆฝ ํ›„ ๋ผ์šฐํ„ฐ ํ™œ์šฉ

๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œํ•˜๊ธฐ

  • ๋“ฑ๋ก์ž์™€ ํ˜„์žฌ ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ™์„ ๋•Œ, ์‹œํ€„๋ผ์ด์ฆˆ์˜ destroy ๋งค์„œ๋“œ์™€ ๋ผ์šฐํ„ฐ ํ™œ์šฉ

๋งค๋ฒˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์กฐํšŒํ•˜์ง€ ์•Š๋„๋ก deserializeUser ์บ์‹ฑํ•˜๊ธฐ

  • ๊ฐ์ฒด ์„ ์–ธ ํ›„ ๊ฐ์ฒด์— ์‚ฌ์šฉ์ž ์ •๋ณด ์ €์žฅ, ๊ฐ์ฒด ์•ˆ์— ์บ์‹ฑ๋œ ๊ฐ’์ด ์žˆ์œผ๋ฉด ์กฐํšŒ
  • ์ง„ํ–‰ ์•ˆํ•จ
    • ์บ์‹œ ๋ฐ์ดํ„ฐ์™€ ๋””๋น„๋ฐ์ดํ„ฐ์˜ ๋ถˆ์ผ์น˜๋ฅผ ํ•ด๊ฒฐํ•  ๋ฐฉ๋ฒ•์ด ๋”ฐ๋กœ ์ฒ˜๋ฆฌ๋จ์ด ์—†์Œ

์„ค๊ณ„ํ•˜๊ธฐ

๊ธฐ๋Šฅ ๋ช…์„ธ

  1. ํšŒ์›๊ฐ€์ž… ,ํšŒ์› ํƒˆํ‡ด
  2. ๋กœ๊ทธ์ธ ,๋กœ๊ทธ ์•„์›ƒ
  3. ํŒ”๋กœ์ž‰ํ•˜๊ธฐ/์–ธํŒ”๋กœ์ž‰ํ•˜๊ธฐ
  4. ํ•ด์‹œํƒœ๊ทธ ์ถ”๊ฐ€/์ˆ˜์ •-์‚ญ์ œ(๊ธ€์ˆ˜์ •์œผ๋กœ ๋Œ€์ฒด)/๊ฒ€์ƒ‰
  5. ๊ธ€ ์ถ”๊ฐ€/๋ณด๊ธฐ/์‚ญ์ œ , ์ˆ˜์ •
  6. ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ , ์ˆ˜์ •, ์‚ญ์ œ

๊ธฐ์ˆ  ๋ช…์„ธ ํŒจ์ŠคํฌํŠธ ์ธ์ฆ ์ฒ˜๋ฆฌ - passport ํ™”๋ฉด ๋ฐ์ดํ„ฐ ์ „์†ก - axio ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์ฒ˜๋ฆฌ - sequelize ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ - multer

์›น ๊ฐœ๋ฐœ ํŒจํ„ด M: Model V: View C: Controller(router)

๊ธฐ๋Šฅ ์„ค๊ณ„์„œ -๊ฒŒ์‹œ๊ธ€ ์ข‹์•„์š”/์ข‹์•„์š” ์ทจ์†Œ ๊ธฐ๋Šฅ ์„ค๊ณ„

  1. ์ข‹์•„์š” ๋ฒ„ํŠผ์„ ๋งŒ๋“ ๋‹ค
  2. ์ฒ˜์Œ์—๋Š” ์•„๋ฌด์ƒ‰์ด ์—†๊ณ  ๋ˆŒ๋ €์„ ๋•Œ ๋ฒ„ํŠผ ์ƒ‰์ด ๋ฐ”๋€๋‹ค
  3. ์ข‹์•„์š”๊ฐ€ ๋˜์–ด ์žˆ์œผ๋ฉด ๋‹ค์‹œ ๋ˆŒ๋ €์„ ๋•Œ ์ƒ‰์ด ์‚ฌ๋ผ์ง„๋‹ค
  4. ๋‚ด๊ฐ€ ์ข‹์•„์š” ๋ˆŒ๋ €๋˜ ๊ฒƒ๋งŒ ์ƒ‰์ด ์น ํ•ด์ ธ์„œ ๋‚˜์˜จ๋‹ค
  • ๊ตฌํ˜„ ๋ฐฉํ–ฅ ํ”„๋ก ํŠธ ์„ค๊ณ„
  1. if ์กฐ๊ฑด์œผ๋กœ ์ƒ‰์„ ๋„ฃ์„์ง€ ๋ง์ง€๋ฅผ css๋กœ ์กฐ์ ˆ์ด ๋œ๋‹ค
  • user์˜ likePost ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ฒŒ ํ•ด์„œ ํ™”๋ฉด์—์„œ ์ข‹์•„์š”๋ฅผ ๋ณด์—ฌ์ค„์ง€ ๋ง์ง€ ์ •ํ•ด์ค€๋‹ค
  1. user ์ •๋ณด๋ฅผ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด์ค€๋‹ค
  2. post ์ •๋ณด๋„ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด์ค€๋‹ค
  3. axio ๋กœ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด์ค€๋‹ค
  • ์ข‹์•„์š”/์ข‹์•„์š” ํ•ด์ œ ๋ฅผ ๋ถ„๊ธฐํ•ด์„œ ์ฒ˜๋ฆฌ

๋ฐฑ์—”๋“œ ์„ค๊ณ„

  • db ์„ค๊ณ„
  1. ์ข‹์•„์š” ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ ๋‹ค
  • sequelize ๊ด€๊ณ„ ์„ค์ •์„ ํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค
  1. ์ข‹์•„์š” ์ปฌ๋Ÿผ์—๋Š” id, postId, userId, createdAt 3, ์ข‹์•„์š”๋Š” ์—ฐ๊ด€๊ด€๊ณ„๊ฐ€ post, user์— ๋ชจ๋‘ ์žˆ์–ด์•ผ ํ•œ๋‹ค

  2. router ์—์„œ ํ”„๋ก ํŠธ์—์„œ ์ค€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š”๋‹ค

  • url์— ๋”ฐ๋ผ like ์™€ like-cancel ์ด ๋ถ„๊ธฐ๊ฐ€ ๋˜์—ˆ๋‹ค
  1. data๋ฅผ ๋ฐ›์•˜์œผ๋‹ˆ ํ•ด๋‹น ๊ฒŒ์‹œ๊ธ€์„ ๋””๋น„์—์„œ ์ผ์น˜๋˜๋Š” ์ข‹์•„์š” ํ…Œ์ด๋ธ”์˜ userId, postId ๊ฐ€ ์ผ์น˜๋˜๋Š” ๋กœ์šฐ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค
  2. ์ข‹์•„์š” ์—†์œผ๋ฉด ์ƒˆ๋กœ์šด ์ข‹์•„์š” row๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค
  3. ์ข‹์•„์š” ์žˆ์œผ๋ฉด ๊ธฐ์กด ์ข‹์•„์š”๋ฅผ row์—์„œ ์‚ญ์ œํ•œ๋‹ค
  • addLike, removeLike ๋ฅผ ํ˜ธ์ถœํ•ด์„œ ์ œ์–ด
  1. ์™„๋ฃŒ ์‘๋‹ต์„ ํ”„๋ก ํŠธ์— ์•Œ๋ ค์ค€๋‹ค
  • ํ”„๋ก ํŠธ์—์„œ๋Š” ์ƒˆ๋กœ๊ณ ์นจ์„ ํ†ตํ•ด ๋ผ์ดํฌ์ƒํƒœ๋ฅผ ๊ฐฑ์‹ ํ•œ๋‹ค