์๊ธฐ์์ ๋ฐฐ๋ฌ์ ๋ฏผ์กฑ์ ์ฃผ๋ฌธ ์๋น์ค๋ฅผ ํด๋ก ์ฝ๋ฉํ์ฌ Spring Boot(๋ฐฑ์๋)์ Vue.js(ํ๋ก ํธ์๋) ํ์ตํ๊ธฐ ์ํจ
ํฌ์ฅ์ ๋ฏผ์กฑ์ ์ ์ํ ํฌ์ฅ ์ฃผ๋ฌธ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ํ์๋ค์ ์น์๋น์ค๋ฅผ ํตํด ๋ฑ๋กํ ์ฃผ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฃผ๋ณ ๊ฐ๊ฒ๋ค์ ์กฐํํ ์ ์๊ณ , ๊ฐ๊น์ด ๊ฐ๊ฒ์์ ํฌ์ฅ๋ ์์์ ๋น ๋ฅด๊ฒ ๋ฐ์ ์ ์์ต๋๋ค.
2024/02/19 ~ 2024/02/23
ํ ์ | ์ด๋ฆ |
---|---|
ํ์ฅ | ํ์ข ์น๐จโ๐ป |
ํ์ | ๋ฐฐ์์๐ฉโ๐ป |
ํ์ | ์ฌ์ฌํ๐จโ๐ป |
ํ์ | ์ด์ํ๐จโ๐ป |
- ์ ์ฅ์๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๊ธฐ ์ํด SNSํ์ Github-Flow ์ ๋ต ๋ธ๋์น๋ฅผ ์์ฑํ๋ค.
- ์ด์ ํญ ํด๋ฆญ โ New Issue โ ํ ํ๋ฆฟ ์ ํ โ ์ด์ ์ ๋ชฉ ๋ฐ ์์ ํ ๋ด์ฉ ์ ๋ ฅ โ Assignees ๋ณธ์ธ์ผ๋ก ์ค์ โ Label ์ ํ โ issue ์์ฑ
- ๋ธ๋์น ์์ฑ: main ๋ธ๋์น โ feature ๋ธ๋์น ๋ถ๊ธฐ
- ๋ธ๋์น ๊ท์น: feature/{์ํฐํฐ}-(์ด์๋ฒํธ)
- ์ปค๋ฐ ์์: [Type] ์์ ๋ด์ฉ(#์ด์๋ฒํธ)
- PR ๋ ๋ฆฐ ํ ํ์๋ค์ ์ฝ๋ ๋ฆฌ๋ทฐ
- ์ฝ๋ ๋ฆฌ๋ทฐ ์๋ฃ๋๋ฉด main ๋ธ๋์น์ Merge
- ์ผ๋ฐ ํ์์ ๋ด ์ ๋ณด๋ฅผ ์กฐํํ ์ ์๋ค.
- ์ผ๋ฐ ํ์์ ์ฃผ๋ฌธ ๋ด์ญ์ ์กฐํํ ์ ์๋ค.
- ์ผ๋ฐ ํ์์ ๊ฐ๊ฒ๋ฅผ ์ฐ ๋ฐ ์ฐ ์ทจ์๋ฅผ ํ ์ ์๋ค.
- ์ผ๋ฐ ํ์์ ๊ฐ๊ฒ์ ๋ฆฌ๋ทฐ๋ฅผ ๋จ๊ธธ ์ ์๋ค. (์ฃผ๋ฌธ ํ์ ๋ ๊ฒฝ์ฐ)
- ์ผ๋ฐ ํ์์ ๊ฐ๊ฒ ์ฐ ๋ชฉ๋ก์ ์กฐํํ ์ ์๋ค.
- ์ผ๋ฐ ํ์์ ๊ฐ๊ฒ ๋ฆฌ๋ทฐ ๋ชฉ๋ก์ ์กฐํํ ์ ์๋ค.
- ์ผ๋ฐ ํ์์ ๊ฐ์ธ ์ ๋ณด๋ฅผ ์์ ํ ์ ์๋ค.
- ์ผ๋ฐ ํ์์ ํ์์ ํํดํ ์ ์๋ค.
- ํ ํ๋ฉด์์ ๊ฐ๊ฒ๋ช ์ ๊ฒ์ํ ์ ์๋ค.
- ๋ฑ๋ก๋ ๊ฐ๊ฒ๋ฅผ ์ ์ฒด ์กฐํํ ์ ์๋ค.
- ๋ฑ๋ก๋ ๊ฐ๊ฒ๋ฅผ ์นดํ ๊ณ ๋ฆฌ ๋ณ๋ก ์กฐํํ ์ ์๋ค.
- ์ฌ์ฅ์ ์ ๊ท ๊ฐ๊ฒ๋ฅผ ์ฌ๋ฌ๊ฐ ๋ฑ๋กํ ์ ์๋ค.
- ์ฌ์ฅ์ ๋ฑ๋กํ ๊ฐ๊ฒ ๋ฆฌ์คํธ๋ฅผ ์กฐํํ ์ ์๋ค.
- ์ฌ์ฅ์ ๋ฑ๋กํ ๊ฐ๊ฒ์ ์์ธ ์ ๋ณด๋ฅผ ์กฐํํ ์ ์๋ค.
- ์ฌ์ฅ์ ๋ฑ๋กํ ๊ฐ๊ฒ์ ๋ฌ๋ฆฐ ๋ฆฌ๋ทฐ๋ฅผ ์กฐํํ ์ ์๋ค.
- ์ฌ์ฅ์ ๋งค์ถ ์ ๋ณด๋ฅผ ์ผ, ์ฃผ, ์๋ณ๋ก ํ์ธํ ์ ์๋ค.
- ์ฌ์ฅ์ ๋ฑ๋กํ ๊ฐ๊ฒ์ ์ ๋ณด๋ฅผ ์์ ํ ์ ์๋ค.
- ์ฌ์ฅ์ ๋ฑ๋กํ ๊ฐ๊ฒ๋ฅผ ์ญ์ ํ ์ ์๋ค.
- ๊ฐ๊ฒ์ ํ์ ์ ํ์ธํ ์ ์๋ค.
- ๊ฐ๊ฒ์ ์ฐ ์๋ฅผ ํ์ธํ ์ ์๋ค.
- ์ฌ์ฅ์ ๋ฉ๋ด๋ฅผ ๋ฑ๋กํ ์ ์๋ค.
- ์ฌ์ฅ์ ๋ฉ๋ด์ ์ํ ๋ฉ๋ด ์ต์ ๊ทธ๋ฃน์ ๋ฑ๋กํ ์ ์๋ค.
- ์ฌ์ฅ์ ๋ฉ๋ด ์ต์ ๊ทธ๋ฃน์ ์ํ ๋ฉ๋ด ์ต์ ์ ๋ฑ๋กํ ์ ์๋ค.
- ์ฌ์ฅ์ ๋ฉ๋ด, ๋ฉ๋ด ์ต์ ๊ทธ๋ฃน, ๋ฉ๋ด ์ต์ ์ ์์ ๋ฐ ์ญ์ ํ ์ ์๋ค.
- ํ์์ ๊ฐ๊ฒ์ ๋ฉ๋ด ๋ชฉ๋ก์ ์กฐํํ ์ ์๋ค.
- ํ์์ ๋ฉ๋ด์ ์์ธ ์ ๋ณด๋ฅผ ์กฐํํ ์ ์๋ค.
- ํ์์ ์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ธด ๋ฉ๋ด๋ฅผ ์ฃผ๋ฌธํ ์ ์๋ค.
- ํ์์ ์ฃผ๋ฌธ ๋จ๊ณ์์ ๊ฒฐ์ ์๋จ์ ์ ํํ ์ ์๋ค.
- ํ์์ ์ฃผ๋ฌธ ๋จ๊ณ์์ ์์ฒญ์ฌํญ์ ์ ๋ ฅํ ์ ์๋ค.
- ํ์์ ์ด ์ฃผ๋ฌธ ๊ธ์ก๊ณผ ์ฃผ๋ฌธ ๋ด์ญ์ ํ์ธํ ์ ์๋ค.
- ํ์์ ์ฃผ๋ฌธ์ ์ทจ์ํ ์ ์๋ค.
- ์ฃผ๋ฌธ์ด ์๋ฃ๋๋ฉด ์ฅ๋ฐ๊ตฌ๋๊ฐ ์ด๊ธฐํ๋๋ค.
- ํ์์ ์ฃผ๋ฌธ ๋ด์ญ์ ์กฐํํ ์ ์๋ค.
- ์ฌ์ฅ์ ๋ฑ๋กํ ๊ฐ๊ฒ์ ์ฃผ๋ฌธ ๋ด์ญ์ ์กฐํํ ์ ์๋ค.
- ํ์๊ณผ ์ฌ์ฅ์ ์ ์ ๋๊ธฐ ์ํ์ผ ๋ ์ฃผ๋ฌธ์ ์ทจ์ํ ์ ์๋ค.
- ์ฌ์ฅ์ ํ์์ ์ฃผ๋ฌธ์ ์ ์ํ ์ ์๋ค.
- ํ์์ด ํฌ์ฅ์ ์๋ฃํ๋ฉด ์ฌ์ฅ์ ์ฃผ๋ฌธ์ ํ์ ํ ์ ์๋ค.
- ์ฃผ๋ฌธ ์ํ๋ ์ ์ ๋๊ธฐ, ์ฃผ๋ฌธ ์ทจ์, ์ฃผ๋ฌธ ์ ์, ์ฃผ๋ฌธ ํ์ ์ผ๋ก ๊ตฌ๋ถ๋๋ค.
- ํ์์ ์ฅ๋ฐ๊ตฌ๋์ ๋ฉ๋ด๋ฅผ ๋ด์ ์ ์๋ค.
- ํ์์ ์ฅ๋ฐ๊ตฌ๋๋ฅผ ๋น์ธ ์ ์๋ค.
- ์ฅ๋ฐ๊ตฌ๋์ ์ด๋ฏธ ๋ด๊ธด ๋ฉ๋ด์ ๋์ผํ ๋ฉ๋ด๋ฅผ ์ ํํ ์๋๋งํผ ๊ฐฏ์๊ฐ ์ฆ๊ฐํ๋ค.
- ํ์์ ์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ธด ๋ฉ๋ด๋ฅผ ์ฃผ๋ฌธํ ์ ์๋ค.
- ํ์์ ์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ธด ๋ฉ๋ด, ์๋, ๋จ๊ฐ, ์์ ๊ฒฐ์ ๊ธ์ก์ ์กฐํํ ์ ์๋ค.
- ์ผ๋ฐ ํ์๊ฐ์ ์ ํ ์ ์๋ค.
- ์ฌ์ฅ ํ์๊ฐ์ ์ ํ ์ ์๋ค.
- ํ์ ๊ฐ์ ์ ์ด๋ฉ์ผ ์ธ์ฆ์ ํ ์ ์๋ค.
- ํ์ ๊ฐ์ ์ SMS ์ธ์ฆ์ ํ ์ ์๋ค.
- ๋ก๊ทธ์ธ / ๋ก๊ทธ์์์ ํ ์ ์๋ค.
- ๊ฐ์ ๋ ํ์๋ง ์๋น์ค๋ฅผ ์ด์ฉํ ์ ์๋ค.
๊ธฐ์ ์์ญ | ์ค๋ช |
---|---|
Front | 1. ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ์๋ฒ์ ์ ์กํ๋ฉด ์๋ฌ๊ฐ ๋๋๋ก ๋ถ๊ธฐ์ฒ๋ฆฌ 2. ์ด๋ฉ์ผ input ํ์ ์ ์ด๋ฉ์ผ๋ก ํด์ ์ด๋ฉ์ผ ์์์ด ๋ง์ง์์ผ๋ฉด ์๋ฌ ์๋ฆผ ์ฒ๋ฆฌ 3. ํ ํฐ์ ์๋ฒ์์ ๋ฐ์์ ๋, ํด๋น ํ ํฐ์ JWTDECODEํจ์๋ฅผ ์ฌ์ฉํด ๋ณตํธํํด์ ํ ํฐ์์ ๋ด์ฉ๋ค์ ์กฐํํ๋ค, 4. ํ ํฐ, ์ฌ์ฉ์๊ถํ, ์ด๋ฉ์ผ์ ๋ก์ปฌ์คํ ๋ฆฌ์ง์ ์ ์ฅํ๋ค. 5. ๋ก๊ทธ์ธ์ด ์ฑ๊ณตํ์ ๋, USER๋ ํํ๋ฉด, OWNER๋ ๋ง์ดํ์ด์ง๋ก ์ด๋ํ๋ค. |
Backend | 1. ํ๋ก ํธ์์ ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅ์ ํ๋ฉด ๋ฐฑ์๋์์ ์ผ์น์ฌ๋ถ๋ฅผ ๊ฒ์ฆํ๋ค. 2. ๋น๋ฐ๋ฒํธ๊ฐ ํ๋ก ํธ์์ ๋ฐ์ ๋น๋ฐ๋ฒํธ๋ DB์๋ฒํธ์ ์ํธํํด์ ๋น๊ตํ์ฌ ์ผ์นํ๋ฉด ์ผ์น์ฌ๋ถ๊ฐ ๊ฒ์ฆ๋๋ค. 3. ๊ฒ์ฆ์ด ์๋ฃ ๋๋ฉด ๋ฐฑ์๋์์ ํ ํฐ์ ์์ฑํ๋ค. 4. Accessํ ํฐ์ JWTํ์์ผ๋ก ๋ฐํํ๊ณ ํด๋น ํ ํฐ์ด ํ๋ก ํธ๋ก ์ ๋ฌ๋๋ค. 5. ํ ํฐ์์ ์ ๋ณด๋ ๋ง๋ฃ์๊ฐ, ์ด๋ฉ์ผ, ์ฌ์ฉ์๊ถํ์ด ๋ค์ด๊ฐ์๋ค. |
๊ธฐ์ ์์ญ | ์ค๋ช |
---|---|
Front | 1. ๋ก๊ทธ์ธ ํ๋ฉด์์ ํ์๊ฐ์
๋ฒํผ์ด ์กด์ฌํด ํด๋น ๋ฒํผ์ ํด๋ฆญํ๋ฉด ํ์๊ฐ์
ํ์ด์ง๋ก ์ด๋ํ๋ค. 2. ์ฌ์ฅ๋ ํ์๊ฐ์ ๋ฒํผ๋ ๋ฐ๋ก ๋ง๋ค์ด ํ์๊ฐ์ ์ ์๋ฒ์ ๋ฐ์ดํฐ ์ ์กํ ๋, ํ์์ ๊ถํ์ ์๋์ผ๋ก ์ค์ ํ๊ฒ ํ๋ค. 3. ๊ฐ ์ ๋ ฅ ๋์ ๊ณต๋ฐฑ์ผ๋ก ์๋ฒ์ ์ ์กํ ๊ฒฝ์ฐ ์์ธ ๋ถ๊ธฐ ์ฒ๋ฆฌ ์ค์ 4. ์ด๋ฉ์ผ๊ณผ ๋๋ค์์ ์ค๋ณต๊ฒ์ฌํ์ฌ DB์ ์กฐํํ์ฌ ๋ค๋ฅธ ๊ณ์ ๊ณผ ์ค๋ณต๋์ง ์๋๋ก ๊ฒ์ฆํ๋ค. 5. ์ด๋ฉ์ผ, ๋น๋ฐ๋ฒํธ, ํด๋์ ํ๋ฅผ ์ ๊ท์์ผ๋ก ์ ํํ์ฌ ์ ๋ ฅ ๊ฐ์ ๊ท์น์ ์ ์ฉํ๋ค. 6. ์ ๊ท์์ ๋ง์ง์๊ฒ ์ ๋ ฅํ ๊ฒฝ์ฐ ์์ธ์ฒ๋ฆฌ ์ ์ฉ. 7. ํ์์ ๋ง๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ๋ฉด ์๋ฒ์ ์ ์กํ๋ค. 8. ํ์๊ฐ์ ์๋ฃ ์, ๋ก๊ทธ์ธ ํ๋ฉด์ผ๋ก ์ด๋ํ๋ค. |
Backend | 1. ํ๋ก ํธ์์ ๋ฐ์ ๋ฐ์ดํฐ ๊ฐ ์ค์์ null๋ก ๋ค์ด์ค๋ ๊ฐ์ด ์์ผ๋ฉด ์๋ฌ๋ฅผ ํ๋ก ํธ์ ์ ์กํ๋ค. 2. ์ด๋ฉ์ผ๊ณผ ํด๋ํฐ๋ฒํธ, ๋๋ค์์ unique ์ค์ ์ด ๋์ด์์ด DB์ ์กฐํํด์ ๊ฐ์ ๊ฐ์ด ์์ผ๋ฉด ํ๋ก ํธ์ ์๋ฌ๋ฅผ ์ ์กํ๋ค. 3. ๊ฐ์ด ํ์์ด ์๋ฃ ๋์์ผ๋ฉด DB์ ํ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ํ๋ก ํธ์ ์ฑ๊ณต๋ฉ์์ง ์ ์ก |
๊ธฐ์ ์์ญ | ์ค๋ช |
---|---|
Front | 1. ์๋ฒ์ ๋ด ์ ๋ณด ์กฐํ์ ๋ํ ์์ฒญ์ ์๋ฒ์ ์ ์กํ๋ค. 2. ์๋ฒ์ ์์ฒญ ์ ์กํ ๋, ๋ก์ปฌ์คํ ๋ฆฌ์ง์ ์ ์ฅ๋์ด์๋ ํ ํฐ์ ํค๋ํ์์ ๋ง์ถฐ ๊ฐ์ด ์ ์กํ๋ค. 3. ์กฐํ์์ฒญ์ด ์ฑ๊ณต๋์ด ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์๋, ๊ฐ ๋ฐ์ดํฐ์ ๋ง๋ ์์น์ v-model๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฐฉํฅ๋ฐ์ดํฐ๋ก ์กฐํ๊ฐ ์ฑ๊ณต๋๋ฉด ๋ฐ๋ก ๊ฐ์ด ์ ๋ ฅ๋๋๋ก ํ๋ค. |
Backend | 1. ํ๋ก ํธ ํ ํฐ ๊ฐ์์ ๋ฐ์ authenticatinon์ ๋ด๊ธด SecurityContextHolder์์ ์ฌ์ฉ์ ์ ๋ณด ์ถ์ถ 2. ํ๋ก ํธ์์ ๋ฐ์ ๋ฐ์ดํฐ ๊ฐ ์ค์์ null๋ก ๋ค์ด์ค๋ ๊ฐ์ด ์์ผ๋ฉด ์๋ฌ์ฝ๋๋ฅผ ํ๋ก ํธ์ ์ ์กํ๋ค. 3. ์ฌ์ ์ ๋ฒํธ๊ฐ DB์ ์ ์ฅ ๋ ์ฌ์ ์ ๋ฒํธ ๋์กฐ ํ ์ด๋ธ์ ์กด์ฌํ์ง ์์ผ๋ฉด ์๋ฌ์ฝ๋๋ฅผ ์ ์กํ๋ค. 4. ๋งค์ฅ๋ฑ๋ก์ด ์๋ฃ๋์์ ๋, ๊ฐ๋ค์ DB์ ์ ์ฅํ๊ณ ์ฑ๊ณต๋ฉ์์ง๋ฅผ ํ๋ก ํธ์ ์ ์ฅํ๋ค. |
๊ธฐ์ ์์ญ | ์ค๋ช |
---|---|
Front | 1. ์๋ฒ์ ์ ๋ณด ์์ ์ ๋ํ ์์ฒญ์ ์๋ฒ์ ์ ์กํ๋ค. |
Backend | 1. ํ๋ก ํธ์์ ๋ฐ์ ๋ฐ์ดํฐ ๊ฐ ์ค์์ null๋ก ๋ค์ด์ค๋ ๊ฐ์ด ์์ผ๋ฉด ์๋ฌ์ฝ๋๋ฅผ ํ๋ก ํธ์ ์ ์กํ๋ค 2. ์ฌ์ ์ ๋ฒํธ๊ฐ DB์ ์ ์ฅ ๋ ์ฌ์ ์ ๋ฒํธ ๋์กฐ ํ ์ด๋ธ์ ์กด์ฌํ์ง ์์ผ๋ฉด ์๋ฌ์ฝ๋๋ฅผ ์ ์กํ๋ค. 3. ๋งค์ฅ๋ฑ๋ก์ด ์๋ฃ๋์์ ๋, ๊ฐ๋ค์ DB์ ์ ์ฅํ๊ณ ์ฑ๊ณต๋ฉ์์ง๋ฅผ ํ๋ก ํธ์ ์ ์ฅํ๋ค. |
๊ธฐ์ ์์ญ | ์ค๋ช |
---|---|
Front | 1. ํ์๊ฐ์
๊ณผ ์ ์ฌํ ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ณ ์์ง๋ง ๋งค์ฅ๋ฑ๋ก์์๋ ์ด๋ฏธ์ง ํ์ผ์ ๊ฐ์ด ๋ฑ๋กํ๋ค. 2. ๋งค์ฅ ๋ฑ๋ก ์ multipartformdata ํ์์ผ๋ก ์๋ฒ์ ์ ๋ ฅํ ๊ฐ์ ์ ์กํ๋ค. 3. ๊ฐ ์ ๋ ฅ๋์ ๊ณต๋ฐฑ์ผ๋ก ์๋ฒ์ ์ ์กํ๋ฉด ์์ธ์ฒ๋ฆฌ๋ฅผ ์ํํ๋ค. |
Backend | 1. ํ๋ก ํธ์์ ๋ฐ์ ๋ฐ์ดํฐ ๊ฐ ์ค์์ null๋ก ๋ค์ด์ค๋ ๊ฐ์ด ์์ผ๋ฉด ์๋ฌ์ฝ๋๋ฅผ ํ๋ก ํธ์ ์ ์กํ๋ค. 2. ์ฌ์ ์ ๋ฒํธ๊ฐ DB์ ์ ์ฅ ๋ ์ฌ์ ์ ๋ฒํธ ๋์กฐ ํ ์ด๋ธ์ ์กด์ฌํ์ง ์์ผ๋ฉด ์๋ฌ์ฝ๋๋ฅผ ์ ์กํ๋ค. 3. ์ด๋ฏธ์ง ํ์ผ์ multipartfileํ์์ผ๋ก ๋ฐ์์ ํด๋น ํ์ผ์ ๋ฐ์ดํธ๋ก ๋ณํํ๊ณ ์๋ฒ์์ ์ค์ ํ ๊ฒฝ๋ก์ ์ ์ฅํ๋ฉด์ ๊ฐ์ ์ด๋ฏธ์งํ์ผ์ด ์๋ค๋ฉด ๋ฎ์ด์ฐ๊ธฐ๋ฅผ ํ๊ณ ์์ผ๋ฉด ์์ฑํ๋๋ก ํ๋ค. 4. ๋ฐ์ดํธ๋ก ๋ณํ์ด ์๋๋ฉด ์๋ฌ๋ฅผ ์ ์กํ๋ค. 5. ๋งค์ฅ๋ฑ๋ก์ด ์๋ฃ๋์์ ๋, ๊ฐ๋ค์ DB์ ์ ์ฅํ๊ณ ์ฑ๊ณต๋ฉ์์ง๋ฅผ ํ๋ก ํธ์ ์ ์ฅํ๋ค. |
๊ธฐ์ ์์ญ | ์ค๋ช |
---|---|
Front | 1. ๋ฉ๋ด ์ ํ ํ ์ต์
์ ์ฒดํฌํ๊ฑฐ๋, ๋ฉ๋ด ์๋์ ์ฆ๊ฐํ๋ฉด ์ด ์ฃผ๋ฌธ ๊ธ์ก์ด ์
๋ฐ์ดํธ ๋๋ค. ใ @change ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ด๋ฒคํธ ๋ฐ์ ์ ์ด ์ฃผ๋ฌธ ๊ธ์ก์ ์ฆ๊ฐํ๋ ํจ์ ์คํ (์ด๋ฒคํธ ํธ๋ค๋ง) 2. ๋ฉ๋ด์ ์ต์ ์ ํ ํ ์ฅ๋ฐ๊ตฌ๋์ ๋ด์ผ๋ฉด ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์ฅ๋ฐ๊ตฌ๋ ์ ๋ณด๊ฐ ๋ด๊ธด๋ค. ใ vuex ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฅ๋ฐ๊ตฌ๋ ์ ๋ณด ์ ์ญ ์ํ ๊ด๋ฆฌ ใ ๋ฉ๋ด ๋ฆฌ์คํธ์์ ์ฅ๋ฐ๊ตฌ๋์ ๋ด์ ๊ฐ์ฒด๋ฅผ ์์ฑํ ํ, data()์ ์ ์๋ ๋ฐ์ดํฐ๋ก ์ ์ ํ ์กฐ๋ฆฝ 3. ์ฅ๋ฐ๊ตฌ๋์ ๋ฉ๋ด๋ฅผ ์ถ๊ฐํ๋ฉด ํค๋ ์ฃผ๋ฌธํ์ ๋ด๊ธด ๋ฉ๋ด์ ๊ฐ์๊ฐ ์ ๋ฐ์ดํธ ๋๋ค. ใ mapGetters๋ฅผ ์ฌ์ฉํ์ฌ store์ ์ ์ฅ๋ ์ฅ๋ฐ๊ตฌ๋ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ํ ๊ณ์ฐ 4. ์ฅ๋ฐ๊ตฌ๋ ์ด๊ธฐํ ๊ธฐ๋ฅ: store.js์ ์ ์๋ ํจ์๋ฅผ ํตํด ์ฅ๋ฐ๊ตฌ๋ ๊ด๋ จ ๋ฐ์ดํฐ๋ง ๋ก์ปฌ ์คํ ๋ฆฌ์ง์์ ์ด๊ธฐํ 5. ์ฃผ๋ฌธ ์์ธ ํ์ด์ง์์ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ๋ด๊ธด ์ฅ๋ฐ๊ตฌ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ ์๋ฒ๋ก ์ ์กํ ๋ฐ์ดํฐ ํํ์ ๋ง๊ฒ ์กฐ๋ฆฝ ใ ์๋ฒ ๋จ์ RequestDto ํํ์ ๋ง๊ฒ ๊ฐ์ฒด๋ฅผ ์กฐ๋ฆฝํ๋ค. ใ axios post ์์ฒญ์ผ๋ก ์๋ฒ์ ์กฐ๋ฆฝ๋ ๊ฐ์ฒด๋ฅผ ์ ์กํ๋ค. |
Backend | 1. ํ๋ก ํธ์์ ๋ฐ์ ์ฃผ๋ฌธ ๋ฐ์ดํฐ์ ์ด ์ฃผ๋ฌธ ๊ธ์ก์ ๊ฒ์ฆํ๋ค. ใ ์ค๊ฐ์ ์ฐ์ฐ์ด ์กฐ์๋ ์ ์์ผ๋ฏ๋ก ๊ฒ์ฆ ์ํ ใ ์ฃผ๋ฌธ ๋ฉ๋ด ์๋๊ณผ ์ต์ ๊ฐ๊ฒฉ์ด ์ผ์นํ๋ ์ง ๊ฒ์ฆ 2. ์ ํ๋ ๋ฉ๋ด ์ ๋ณด ๋ฆฌ์คํธ ์์ ๋ฉ๋ด id, ๋ฉ๋ด ์๋, ๋ฉ๋ด์ ์ถ๊ฐ๋ ์ต์ ๋ฆฌ์คํธ๊ฐ ๋ด๊ฒจ์๋ค. ใ 2์ค for๋ฌธ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ order, orderMenu, menuOption Entity์ ์ ์ฅํ๋ค. ใ ๊ฐ Entity ๋ณ ์๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ ์ค์ 3. ์ฌ์ฉ์ ์ฃผ๋ฌธ ๋ด์ญ์ ์ต์ ์์ผ๋ก ์ ๋ ฌ(2๊ฐ์ง ๋ฐฉ๋ฒ) ใ JPA๋ฅผ ์ฌ์ฉํ์ฌ OrderRepository findBy ๋ฉ์๋๋ฅผ ์ปค์คํฐ๋ง์ด์ง ใ ์ปจํธ๋กค๋ฌ ๋ฉ์๋์ PageableDefault ์ด๋ ธํ ์ด์ ํ์ฉ 4. ์ผ๋ฐ ํ์ ๋๋ ์ฌ์ฅ ํ์์ด ์ฃผ๋ฌธ API ์์ฒญ ์ ๊ฒ์ฆ ใ ์ฌ์ฅ์ด ํ์์ ์ฃผ๋ฌธ์ ์ ์, ์ทจ์, ํ์ ํ ๋, ํด๋น ๊ฐ๊ฒ๋ฅผ ์ค์ ๋ก ๋ฑ๋กํ ์ฌ์ฅ์ธ ์ง ๊ฒ์ฆ ใ ์ผ๋ฐ ํ์์ด ๋ฉ๋ด๋ฅผ ์ฃผ๋ฌธํ ๋, ์ฃผ๋ฌธํ ๋ฉ๋ด๊ฐ ๊ฐ๊ฒ์ ๋ฑ๋ก๋ ๋ฉ๋ด์ธ์ง ๊ฒ์ฆ 5. ์ฅ๋ฐ๊ตฌ๋์ ๋ ๊ฐ๊ฒ์ ๋ฉ๋ด๊ฐ ๋ค์ด๊ฐ ์ ์๋ค. |
๊ธฐ์ ์์ญ | ์ค๋ช |
---|---|
Front | 1. ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊ณ ํ๋ฉด์ด ๋์ค๊ธฐ ์ํด Mounted ์ํ์์ ์๋ฒ์ ๋ชฉ๋ก ์กฐํ์ ๋ํ ์์ฒญ์ ์๋ฒ์ ์ ์กํ ์๋ต์ด ์ค๋ฉด ๋งค์ฅ์ ์กฐํํ๋ค. 2. ์์ ์ปดํฌ๋ํธ์ ์๋ ์์ ์นดํ ๊ณ ๋ฆฌ ๋ฒํผ์ด๋ ๊ฒ์์ผ๋ก ํด๋น ๋ฐ์ดํฐ๋ฅผ props ๋ฐ๊ฒ๋๋ฉด watchEffect๊ฐ ๊ฐ์ง ํ ๊ธฐ์กด์ ๋จ์์๋ ๋ฐ์ดํฐ ์ด๊ธฐํํ๊ณ ๋งค์ฅ์ ์กฐํํ๋ค. 3. ๋ชฉ๋ก์ ์ถ๊ฐ ๋ฐ์ดํฐ ์กฐํ๋ฅผ ์ํด ํ์ด์ง ์ด๋ ๋ฐฉ์์ ์คํฌ๋กค๋ก ๋ณ๊ฒฝ ํ๋ค. ใ ์คํฌ๋กค ๋ฐฉ์์ ์ด์ฉ ํ ๋ ํ์ด์ง ํ๋ฉด ์ฐฝ์ด ํน์ ํ๋จ ๋๋ฌ ํ์ ๋ ์ถ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ค. ใ ๋ง์ฝ ๋ฐ์ดํฐ๋ฅผ ์์ง ์กฐํ ์ค ์ด๊ฑฐ๋ ์ถ๊ฐ ๋ฐ์ดํฐ๊ฐ ๋ ์ด์ ์์ ๋๋ ์ถ๊ฐ ๋ฐ์ดํฐ ์กฐํ๋ฅผ ๋ฉ์ถ๋ค. |
Backend | 1. ํ๋ก ํธ์์ ๋ฐ์ ๋ฐ์ดํฐ ๊ฐ์ ๋ฐ์ ๋ชฉ๋ก์ ์ ์ฒด ์กฐํํ๋ค. 2. specification๋ฅผ ์ด์ฉํ์ฌ ํด๋น ๋ฐ์ดํฐ์ ์ฒดํฌ(์ด๋ฆor์์์นดํ ๊ณ ๋ฆฌ)ํ ์ข ๋ฅ๋ค์ ๋น๊ตํ์ฌ ๋ชฉ๋ก์ ์กฐํ ํ๋ค. 3. ๋ชฉ๋ก์ ์กฐํ ํ ๋ ๊ฐ๊ฒ OPEN/CLOSE ์ํ์ ๋ฐ๋ผ OPENํ ๋งค์ฅ๋ถํฐ ์กฐํํ๋ค. |
๊ธฐ์ ์์ญ | ์ค๋ช |
---|---|
Front | 1. ๋งค์ฅ ๋ชฉ๋ก ์กฐํ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ํด๋น ๋งค์ฅ ์กฐํ์ ๋ํ ์์ฒญ์ ์๋ฒ์ ์ ์กํ ํ ์๋ต์ด ์ค๋ฉด ํด๋น ๋งค์ฅ์ ์์ธ์กฐํ ํ๋ค. |
Backend | 1. ํ๋ก ํธ์์ ๋ฐ์ ๋ฐ์ดํฐ ๊ฐ ์ค์์ null๋ก ๋ค์ด์ค๋ ๊ฐ์ด ์์ผ๋ฉด ์๋ฌ๋ฅผ ํ๋ก ํธ์ ์ ์กํ๋ค. |
๊ธฐ์ ์์ญ | ์ค๋ช |
---|---|
Front | 1. ๋งค์ฅ ์กฐํ ์ ํด๋น ๋งค์ฅ์ ์ฐ ์๋ฅผ ํ์ํ๋ค. 2. ์ฌ์ฉ์์ ์ฐ ์ฌ๋ถ์ ๋ฐ๋ผ ํํธ ์์ด ๋ฐ๋๋ค. ใ ์ฐ ํ์ฑํ : ๋นจ๊ฐ์, ์ฐ ๋นํ์ฑํ : ํ์ 3. ๋ก๊ทธ์ธ ์์ด ์ฐ ๋ฑ๋ก ์ ๋ก๊ทธ์ธ ํ๋ฉด์ผ๋ก ์ด๋ํ๋ค. |
Backend | Favorite ํ
์ด๋ธ์ Store_id, Member_id, FavoriteY/N(์ฐ ์ฌ๋ถ)์ ๊ด๋ฆฌํ๋ค. ์ฐ ํ๊ธฐ 1. SecurityContextHolder์ ๋ด๊ธด ์ ์ ์ ๋ณด๋ก ํด๋น ๋งค์ฅ์ ์ฐํ๋ค. 2. ์ฐ ์ฌ๋ถ๋ Favorite Y/N๋ก ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ด๋ฏธ ์กด์ฌํ๋ ์ฐ(ํ์-๋งค์ฅ-Y)์ด๋ฉด ์ค๋ณต ์๋ฌ๋ฅผ ์ ์กํ๋ค. 3. ํํ์ ์กด์ฌํ๋ Favorite N์ธ ๊ฒฝ์ฐ Y๋ก ๋ณ๊ฒฝํ๋ค. ์ฐ ์ทจ์ 1. SecurityContextHolder์ ๋ด๊ธด ์ ์ ์ ๋ณด์ ํด๋น ๋งค์ฅ์ ์ฐ ์ฌ๋ถ๋ฅผ ํ์ธํ์ฌ ์ทจ์ํ๋ค. 2. ์ทจ์ ์ Favorite Y๋ฅผ N์ผ๋ก ๋ณ๊ฒฝํ๋ค. ๋งค์ฅ๋ณ ์ฐ ์ ์กฐํ 1. FavoriteRepository์์ ํด๋น ๋งค์ฅ๊ณผ FavoriteY์ธ ์ฐ ๋ฆฌ์คํธ๋ฅผ ์กฐํํ๋ค. 2. ๊ทธ ์ค ํ์ํํด ํ 30์ผ์ด ์ง๋์ง ์์ ํ์์ ์ฐ์ ์ ์ธํ๊ณ ๊ฐ์๋ฅผ ์ผ๋ค. ๋ด ์ฐ ๋ชฉ๋ก ์กฐํ 1. SecurityContextHolder์ ๋ด๊ธด ์ ์ ์ FavoriteY์ธ ์ฐ ๋ฆฌ์คํธ๋ฅผ ์กฐํํ๋ค. |
๊ธฐ์ ์์ญ | ์ค๋ช |
---|---|
Front | 1. ๋ฆฌ๋ทฐ ์์ฑ ๋ฒํผ์ ์ฃผ๋ฌธํ์ ์ํ์ผ ๊ฒฝ์ฐ๋ง ํ์ํ๋ค. 2. ๋ฆฌ๋ทฐ ์์ฑ ์ ๋ณ์ ์ ๋ฑ๋กํ๋ค. 3. ๋งค์ฅ ์กฐํ ์ ํด๋น ๋งค์ฅ์ ํ์ ์ ํ์ํ๋ค. 4. ๋ฑ๋ก๋ ๋ฆฌ๋ทฐ๊ฐ ์์ ๊ฒฝ์ฐ NaN๊ฐ์ โ๋ฑ๋ก๋ ๋ฆฌ๋ทฐ๊ฐ ์์ต๋๋ค.โ๋ก ํ์ํ๋ค. |
Backend | Review ํ
์ด๋ธ์ Store_id, Member_id, order_id, DeleteY/N(์ญ์ ์ฌ๋ถ), contents, rating(๋ณ์ ), img_url์ ๊ด๋ฆฌํ๋ค. ๋ฆฌ๋ทฐ ์์ฑ 1. ๋ฆฌ๋ทฐ ์์ฑ์ ์ฃผ๋ฌธ ๊ฑด๋น ํ๋๋ง ๊ฐ๋ฅํ๋ค. ใ order_id๋ก ๊ด๋ฆฌ 2. ์ญ์ ์ฌ๋ถ๋ฅผ DeleteY/N์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ DeleteN์ธ ๊ฒฝ์ฐ ์ค๋ณต ์๋ฌ๋ฅผ ์ ์กํ๋ค. 3. ํํ์ ์กด์ฌํ๋ DeleteY์ธ ๊ฒฝ์ฐ N์ผ๋ก ๋ฐ๊พธ๊ณ ๋ด์ฉ์ ๋ณ๊ฒฝ์ํจ๋ค. 4. ํด๋น ์ฃผ๋ฌธ์ ๋ฑ๋กํ ํ์ ๋ณธ์ธ๋ง ๋ฆฌ๋ทฐ ์์ฑ์ด ๊ฐ๋ฅํ๋ค. ใ SecurityContextHolder์ ๋ด๊ธด ์ ์ ์ ๋ณด์ orderId๋ก ์กฐํํ order์ member์ ๋น๊ตํ์ฌ ๋ค๋ฅด๋ฉด ์๋ฌ๋ฅผ ์ ์กํ๋ค. 5. ์ฃผ๋ฌธ์ํ๊ฐ CONFIRM์ธ ๊ฒฝ์ฐ๋ง ์์ฑ ๊ฐ๋ฅํ๋ค. ๋ฆฌ๋ทฐ ์์ 1. ํด๋น ์ฃผ๋ฌธ์ ๋ฑ๋กํ ํ์ ๋ณธ์ธ๋ง ๋ฆฌ๋ทฐ ์์ ์ด ๊ฐ๋ฅํ๋ค. ใ SecurityContextHolder์ ๋ด๊ธด ์ ์ ์ ๋ณด์ orderId๋ก ์กฐํํ order์ member์ ๋น๊ตํ์ฌ ๋ค๋ฅด๋ฉด ์๋ฌ๋ฅผ ์ ์กํ๋ค. 2. ReviewRepository์์ ํด๋น order์ DeleteN์ธ ๋ฆฌ๋ทฐ๋ฅผ ์กฐํํ์ฌ ์์ ํ๋ค. ํ์ ์กฐํ 1. ํด๋น ๋งค์ฅ์ DeleteN์ธ ๋ฆฌ๋ทฐ๋ค๋ง ์กฐํํ๋ค. 2. ์กฐํ๋ ๋ฆฌ๋ทฐ์ ํ์ ๋ค์ ์ดํฉ์ ๋ฆฌ๋ทฐ ์๋ก ๋๋์ด ํ์ ์ ๊ตฌํ๋ค. 3. DecimalFormat์ผ๋ก ์์ซ์ ํ ์๋ฆฌ๊น์ง๋ง ํ์ํ๋ค. |
๊ธฐ์ ์์ญ | ์ค๋ช |
---|---|
Backend | 1. ํํด ์ ๋ถ์ ์ด์ฉ ๋ฐฉ์ง ๋ฑ์ ์ํ์ฌ ํํด์ผ๋ก๋ถํฐ 30์ผ ์ด๋ด์ ์ฌ๊ฐ์
์ด ๋ถ๊ฐ๋ฅํ๋๋ก ํ๋ค. ใ 30์ผ ๋์ ํ์์ ๋ณด๋ฅผ ๋ณด๊ดํ๊ธฐ ์ํด ํ์ ํํด ์ memberํ ์ด๋ธ์ DeleteY๋ก ๋ณ๊ฒฝํ๋ค. ใ ์ค์ผ์ฅด๋ฌ๋ก 30์ผ์ด ์ง๋๋ฉด DeleteY์ธ ํ์์ ํํ์ ์ญ์ ํ๋ค. ใ 30์ผ์ ๊ธฐ์ค์ DeleteY๋ก ๋ณ๊ฒฝ ํ ๋ฐ์๋ updated_time์ ๊ธฐ์ค์ผ๋ก ํ๋ค. ใ ํ์ ์ญ์ ์ ์ฐ๊ด๋ ํ ์ด๋ธ์ ํํ์ ๋ชจ๋ ์ ๊ฑฐํ๋ค. |