BookLeum
๐ณ ํ๋ก์ ํธ ์๊ฐ
- ํด๋น ํ๋ก์ ํธ๋ ์๋ผ๋ API๋ฅผ ์ด์ฉํด ๋ง๋ ๋์์ ๋ณด ๊ฒ์ ๋ฐ ๋ชจ์ ๊ตฌ๋งค ์ฌ์ดํธ์
๋๋ค.
- AWS EC2๋ฅผ ์ฌ์ฉํด ๋ฐฑ์๋, ํ๋ก ํธ์๋ ์๋ฒ๋ฅผ ๊ฐ๊ฐ ๋ฐฐํฌํ์์ต๋๋ค.
- ์ฌ์ดํธ ์ฃผ์
โฐ ๊ฐ๋ฐ ๊ธฐ๊ฐ
- ํ๋ก์ ํธ ๊ธฐ๊ฐ : 2024.09.15 ~ 2024.10.20
๐ค ํ์
| **์ ์ํ** | **๋ฐ๋ณ๊ทผ** |
| :------: | :------: |
| [
@Euihyunee](https://github.com/Euihyunee) | [
@Dejong1706](https://github.com/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. 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 ํธ์คํธ๋ฅผ ํ์ฉํ๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ํด๊ฒฐ