Skip to content

MoonThousand/BookLeum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

110 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

BookLeum


๐ŸŒณ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

  • ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋Š” ์•Œ๋ผ๋”˜ API๋ฅผ ์ด์šฉํ•ด ๋งŒ๋“  ๋„์„œ์ •๋ณด ๊ฒ€์ƒ‰ ๋ฐ ๋ชจ์˜ ๊ตฌ๋งค ์‚ฌ์ดํŠธ์ž…๋‹ˆ๋‹ค.
  • AWS EC2๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐฑ์—”๋“œ, ํ”„๋ก ํŠธ์—”๋“œ ์„œ๋ฒ„๋ฅผ ๊ฐ๊ฐ ๋ฐฐํฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์ดํŠธ ์ฃผ์†Œ
  • https://bookleum.net
  • ํ…Œ์ŠคํŠธ ๊ณ„์ •
    • ID : user2
    • PW : a123

โฐ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„

  • ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ : 2024.09.15 ~ 2024.10.20

๐Ÿ‘ค ํŒ€์›

์ •์˜ํ˜„ ๋ฐ•๋ณ‘๊ทผ

@Euihyunee

@Dejong1706
ํ•œ๊ตญ๊ณตํ•™๋Œ€ํ•™๊ต ์†Œํ”„ํŠธ์›จ์–ดํ•™๊ณผ(์กธ) ํ•œ๋‚จ๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ๊ณตํ•™๊ณผ(์กธ)

๐Ÿ˜ ํŒ€์› ์—ญํ• 

์ด๋ฆ„ ์—ญํ•  ๋‹ด๋‹น
์ •์˜ํ˜„ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ์š”์ฒญ ๋„๋ฉ”์ธ ๊ฐœ๋ฐœ๊ณผ Spring Boot๋ฅผ ์ด์šฉํ•œ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์™€ MySQL์„ ์ด์šฉํ•œ DB ์„ค๊ณ„์™€ ๊ตฌ์ถ•์„ ๋‹ด๋‹นํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฐ•๋ณ‘๊ทผ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ React์™€ NextJS ๊ธฐ๋ฐ˜์˜ ํ”„๋ก ํŠธ์—”๋“œ ์„œ๋ฒ„์˜ ๊ฐœ๋ฐœ๊ณผ ๋ฐฐํฌ๋ฅผ ๋‹ด๋‹นํ•˜์˜€์œผ๋ฉฐ ์‚ฌ์šฉ์ž UI/UX ๊ธฐํš๊ณผ ๋””์ž์ธ์„ ๋‹ด๋‹นํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ป ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

  • Front : React, NextJS, Redux-toolkit, TypeScript, JWT, TailwindCSS
  • Back-end : Java17, Spring boot 3.3.4, IntelliJ IDEA, MySQL, postman
  • ๋ฒ„์ „ ๋ฐ ์ด์Šˆ๊ด€๋ฆฌ : Github
  • ํ˜‘์—… ํˆด : Discord, Figma
  • ๋ฐฐํฌ : AWS EC2

๐Ÿš€ ํŽ˜์ด์ง€๋ณ„ ๊ธฐ๋Šฅ ์„ค๋ช…

[๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž…]

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

[๋ฉ”์ธ, ๊ฒ€์ƒ‰๊ฒฐ๊ณผ]

  • ๋กœ๊ทธ์ธ, ๋น„ ๋กœ๊ทธ์ธ ์ƒ๊ด€์—†์ด ๋ฉ”์ธํŽ˜์ด์ง€์—์„œ๋Š” ์˜ค๋Š˜์˜ ์ฑ…๊ณผ, ๋ฒ ์ŠคํŠธ์…€๋Ÿฌ ์ƒ์œ„ 3๊ถŒ์˜ ์ฑ…์„ ์‚ดํŽด๋ณผ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฉ”์ธ ํŽ˜์ด์ง€ ๊ฒ€์ƒ‰๋ฐ”์—์„œ๋Š” ์ž‘๊ฐ€, ์ฑ… ์ œ๋ชฉ์„ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ๊ฒ€์ƒ‰๊ฒฐ๊ณผ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฒ€์ƒ‰๊ฒฐ๊ณผ๋Š” ์ตœ๋Œ€ 50๊ฐœ๋ฅผ ๋ณด์—ฌ์ฃผ๋ฉฐ ํšŒ์›์ผ ๊ฒฝ์šฐ ๊ตฌ๋งคํ•˜๊ธฐ, ์ฐœํ•˜๊ธฐ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋ฉ๋‹ˆ๋‹ค.
๋ฉ”์ธ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ
๋ฉ”์ธ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ

[๋ฒ ์ŠคํŠธ์…€๋Ÿฌ, ์‹ ์ž‘๋ฆฌ์ŠคํŠธ, ์ฑ… ๊ฐœ๋ณ„]

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

[์ฃผ๋ฌธ ๋‚ด์—ญ ์กฐํšŒ, ์žฅ๋ฐ”๊ตฌ๋‹ˆ, ์ฐœ ๋ชฉ๋ก]

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

[๊ณต์ง€์‚ฌํ•ญ, ์ž์ฃผํ•˜๋Š” ์งˆ๋ฌธ , 1:1๋ฌธ์˜]

  • ๊ณต์ง€์‚ฌํ•ญ, ์ž์ฃผํ•˜๋Š” ์งˆ๋ฌธ ํŽ˜์ด์ง€์—์„œ ๊ด€๋ฆฌ์ž๊ฐ€ ๊ฒŒ์‹œํ•œ ๊ณต์ง€์‚ฌํ•ญ๋“ค์„ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฐœ๋ณ„ ํด๋ฆญํ•  ๊ฒฝ์šฐ ์ƒ์„ธ ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค
  • 1:1๋ฌธ์˜ ํŽ˜์ด์ง€๋Š” ๋กœ๊ทธ์ธ์„ ์ง„ํ–‰ํ›„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋ฉฐ ๋ฌธ์˜์œ ํ˜•, ์ œ๋ชฉ, ๋‚ด์šฉ์„ ์ž…๋ ฅํ•ด ๋ฌธ์˜ ์‚ฌํ•ญ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ณต์ง€์‚ฌํ•ญ ๊ณต์ง€์‚ฌํ•ญ ์ƒ์„ธ
๊ณต์ง€์‚ฌํ•ญ ๊ณต์ง€์‚ฌํ•ญ์ƒ์„ธ
์ž์ฃผํ•˜๋Š” ์งˆ๋ฌธ 1:1๋ฌธ์˜
---------- ----------
์ž์ฃผํ•˜๋Š” ์งˆ๋ฌธ 1๋Œ€1๋ฌธ์˜

[์ด๋ฒคํŠธ]

  • ์ด๋ฒคํŠธ ํŽ˜์ด์ง€๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์œ ์ €๋“ค๊ณผ ์ž์‹ ์ด ์ž‘์„ฑํ•œ ๊ฐ€์„ ๋ฌธ๊ตฌ๋ฅผ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐœ๋ณ„๋กœ ๊ธ€์„ ํด๋ฆญํ•  ๊ฒฝ์šฐ ์ด๋ฒคํŠธ ์ƒ์„ธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฒคํŠธ ์ž‘์„ฑํ•˜๊ธฐ ๋ฒ„ํŠผ์€ ํšŒ์›๋งŒ ์ด์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
์ด๋ฒคํŠธ ์ด๋ฒคํŠธ ์ƒ์„ธ
์ด๋ฒคํŠธ ์ด๋ฒคํŠธ ์ƒ์„ธ

โ˜ข๏ธ ์ฃผ์š” ๋ฌธ์ œ ํ•ด๊ฒฐ

1. catch์˜ error type ๋ฌธ์ œ

  • TypeScript๋Š” catch ๊ตฌ๋ฌธ์—์„œ ๋ฐœ์ƒํ•˜๋Š” error๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ unknown ํƒ€์ž…์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•จ, ํ•˜์ง€๋งŒ ๋ฌด์ž‘์ • unknown์„ ํƒ€์ž…์œผ๋กœ ์„ค์ •ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋ฉด TypeScript์—์„œ ์˜ค๋ฅ˜๋ฅผ ํ‘œ์‹œํ•จ, ์ด์œ ๋Š” error๊ฐ€ AxiosError์ธ์ง€ ์•„๋‹Œ์ง€ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ
  • ํ•ด๊ฒฐ : ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํƒ€์ž… ์ขํžˆ๊ธฐ(instanceof๋ฅผ ์‚ฌ์šฉ)์„ ์‚ฌ์šฉํ•ด error๊ฐ€ ํŠน์ • ํƒ€์ž…์ธ์ง€ ํ™•์ธ ํ›„ ์‹คํ–‰ํ•˜๋„๋ก ๋ณ€๊ฒฝ

2. Either include it or remove the dependency array

  • ์ด๋Š” ์˜์กด์„ฑ ๋ฐฐ์—ด์€ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์–ด์•ผ ํ•˜์ง€๋งŒ, ๊ทธ๋ ‡์ง€ ์•Š์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜
  • ํ”„๋กœ์ ํŠธ ํ…Œ์ŠคํŠธ์—์„œ๋Š” ์—๋Ÿฌ์—†์ด ์‹คํ–‰๋˜์—ˆ๊ธฐ์— ํ™•์ธ์„ ๋ชปํ–ˆ์ง€๋งŒ, ๋นŒ๋“œ ์‹คํ–‰ ํ›„ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ๋ฉ”์‹œ์ง€๋กœ ํ•ด๋‹น ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌ
  • ํ•ด๊ฒฐ : ๋ถˆํ•„์š”ํ•œ ๋ณ€์ˆ˜๋Š” ์ œ๊ฑฐํ•˜๊ณ  ํ•„์š”ํ•œ ๋ณ€์ˆ˜๋“ค์€ ์˜์กด์„ฑ ๋ฐฐ์—ด์— ์ถ”๊ฐ€์‹œํ‚ค๋Š” ๊ฒƒ์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ

3. hostname "image.aladin.co.kr" is not configured under images in your next.config.js

  • ์ด ์—๋Ÿฌ๋Š” NextJS์˜ next/image ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ์™ธ๋ถ€ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ ์ž ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ
  • NextJS์—์„œ๋Š” ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ, ์™ธ๋ถ€ ํ˜ธ์ŠคํŠธ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€๋ ค์˜ค๋ ค๋ฉด, next.config.jsํŒŒ์ผ์—์„œ ํ•ด๋‹น ํ˜ธ์ŠคํŠธ๋ฅผ ํ—ˆ์šฉํ•ด์•ผ ํ•จ
  • ํ•ด๊ฒฐ: next.config.js์— iamges ์„ค์ •์„ ์ถ”๊ฐ€ํ•˜์—ฌ image.aladin.co.kr ํ˜ธ์ŠคํŠธ๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages