๊ธฐ์กด์ ๊ฐ๋ฐฉํ SNS์์ ํ์ฆํธํฅ/ํ์ค/๊ฐ์ง๋ด์ค ๋ฑ์ผ๋ก ์ธํด ์ฌ๋๋ค์ ๋ฐ์ธ์ด ์์ถ๋๊ณ ์๋ค๋ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ์์ต๋๋ค. ์ด๋ฌํ SNS ์ํ๊ณ์ ์ด๋์ด ๋ฉด์ ํด๊ฒฐํ๊ณ ์ โ์ฑ โ์ด๋ผ๋ ๋งค๊ฐ๋ฅผ ๊บผ๋ด๋ค๊ฒ ๋์๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ธ์ ๊ณ ์ ํ ๊ฐ์น๋ฅผ ์ถ๊ตฌํ๋ SNS ์ํ๊ณ๋ฅผ ๊ตฌ์ถํ๊ณ ์ ํ์์ต๋๋ค.
ํต์ฌ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋๊ตฌ๋ ์์ ๋กญ๊ฒ ์๊ฒฌ์ ๊ฐ์งํ ์ ์๋ ํ ๋ก ์ฅ
- ์์ ์ ์ง์ ๊ฒฝํ์ ์ฐ์ฌํ๋ ์๋ฆฌ์ฆ ๋ฐํ
- ๊ธฐ๋ณธ์ ์ธ ์ปค๋ฎค๋ํฐ ๊ธฐ๋ฅ (๊ฒ์๊ธ/๋๊ธ/๊ณต๊ฐ ๋ฑ)
Spring Boot(Java)
๋ฅผ ์ฌ์ฉํ์ฌ API ๋ฅผ ๊ฐ๋ฐํ์๊ณ ,JPA
๊ธฐ์ ์ ์ฌ์ฉํ์์ต๋๋ค.- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก๋
AWS RDS(MySQL)
,Redis
๋ฅผ ์ฌ์ฉํ์๊ณ ,AWS EC2
๋ฅผ ํตํด ์๋ฒ ๋ฐฐํฌ๋ฅผ ์งํํ์์ต๋๋ค. - ์ด๋ฏธ์ง ์
๋ก๋๋ฅผ ์ํด
AWS S3
๋ฒํท์ ์ฌ์ฉํ์์ต๋๋ค. - ํ์
๋ฐ ์ฝ๋ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํด
Github
, API ๋ฌธ์ ๊ด๋ฆฌ๋ฅผ ์ํดPostman
๊ณผNotion
์ ์ฌ์ฉํ์์ต๋๋ค. Github Actions
,CodeDeploy
๋ฅผ ์ฌ์ฉํด CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์์ต๋๋ค.
- ์ปค๋ฎค๋ํฐ ๊ธฐ๋ฅ (๊ฒ์๊ธ, ๋๊ธ/๋๋๊ธ, ๊ณต๊ฐ ๋ฑ)
- ํ ๋ก ๊ด๋ จ ๊ธฐ๋ฅ ๊ฐ๋ฐ (ํ ๋ก ์ฅ ๊ฐ์ค, ์ฐธ์ฌ, ์ํ ๋ณ๊ฒฝ)
- ์๋ฆฌ์ฆ - ๊ฒ์๊ธ ๊ทธ๋ฃนํ์ ํตํ ์๋ฆฌ์ฆ ๋ฐํ/์ถ๊ฐ/์ญ์
- ์์นด์ด๋ธ - ๊ฒ์๊ธ ์์นด์ด๋น/์ถ๊ฐ/์ญ์
- ํ๋ก์ฐ & ํ๋ก์
- Logback์ ํตํ ๋ก๊ทธ ๊ธฐ๋ก
- Redis ์บ์ ์ ์ฉ์ ํตํ ์กฐํ ์ฑ๋ฅ ๊ฐ์
- [API Documentation] booknuts-apis
- ๊ฐ๋ฐ ์๋ฃ ํ main ๋ธ๋์น์ Push (or Pull Request ์ ์ก)
- Github Actions ๋์
- main ๋ธ๋์น Build
- jar ํ์ผ AWS S3์ ์ ๋ก๋
- Code Deploy ์คํ
- AWS EC2์ Code Deploy๊ฐ AWS S3์ ์ ๋ก๋๋ ํ์ผ์ ๊ฐ์ ธ์ ๋ฐฐํฌ
- ์๋ํ ๋ฐฐํฌ (deploy.sh ์ ํตํด jar ํ์ผ ์คํ)
- release/v1 - ๋ฒ ํ ๋ฒ์ ๋ฐฐํฌ๋ฅผ ์ํ ์ฃผ์ ๊ธฐ๋ฅ ๊ตฌํ
- release/v2 - ๋ฆฌํฉํ ๋ง ๋ฐ ํ ์คํธ ์ฝ๋ ์์ฑ