๋ง๋๋ด์ ๋ ์์ฐ์ค๋ฝ๊ณ ์์ ํ ์ฐ๊ฒฐ์ ๋๋ ์๊ฐํ
ยท๋งค์นญ ์๋น์ค์
๋๋ค.
ํ๋กํ ๊ธฐ๋ฐ ์ถ์ฒ, ํธ๊ฐ/๋ฉ์์ง ์์ฒญ, ํ๊ธฐ ๋ฐ ๋ณ์ ํ๊ฐ ๋ฑ ๋งค์นญ ์ดํ์ ๊ฒฝํ๊น์ง ๋งค๋๋ฝ๊ฒ ์ด์ด์ง๋๋ก ์ค๊ณํ์ต๋๋ค.
- ํ์๊ฐ์ ๋ฐ ๋ก๊ทธ์ธ
- ํ๋กํ ๋ฑ๋ก ๋ฐ ์กฐํ
- ์ถ์ฒ ํ๋กํ ์กฐํ
- ํธ๊ฐ ๋ณด๋ด๊ธฐ
- ๋ฉ์์ง ์์ฒญ ๋ณด๋ด๊ธฐ (๊ฐ๋จํ ๋ฉ์์ง ์ฒจ๋ถ)
- ํ๊ธฐ ์์ฑ ๋ฐ ๋ณ์ ํ๊ฐ
- ํธ์ ์๋ฆผ(FCM) ๊ธฐ๋ฐ ์ด๋ฒคํธ ์๋ด
- ๋ฏธํ ๋งค์นญ
- ์ฑํ
- Backend: Java, Spring Boot, Spring Data JPA
- Database: PostgreSQL, Flyway
- Infra: AWS (EC2, S3)
- Push: Firebase Cloud Messaging (FCM)
- Build/Dev: Gradle, Docker Compose, Github Actions
- ์๋ฒ: ๋ฐฑ์๋ API ๋ฐ ๋๋ฉ์ธ ๋ก์ง
- ์ธํ๋ผ: ๋ฐฐํฌ/ํ๊ฒฝ ๊ตฌ์ฑ, Docker/์คํฌ๋ฆฝํธ
- ๋ฌธ์: ์๊ตฌ์ฌํญ, ์ค๊ณ, API ๋ช ์ธ, ๊ท์น
โป ๋ ํฌ ๊ตฌ์กฐ์ ๋งํฌ๋ ํ๋ก์ ํธ ์งํ์ ๋ง์ถฐ ๊ณ์ ์ ๋ฆฌ๋ฉ๋๋ค.
- ์ ์ฅ์ ํด๋ก
- ํ๊ฒฝ ๋ณ์ ์ค์ (์:
.env.local๋๋application-local.yml) - DB/Redis ๋ฑ ์์กด ์๋น์ค ์คํ (Docker Compose ์ฌ์ฉ ๊ถ์ฅ)
- ์ ํ๋ฆฌ์ผ์ด์ ์คํ
ํ๋ก์ ํธ๋ณ ์คํ ๋ฐฉ๋ฒ์ ๊ฐ ์๋ธ ๋ ํฌ์งํ ๋ฆฌ์ README๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.
๋ผ์ด์ ์ค๋ ์ถํ ์ ๋ฆฌ ์์ ์ ๋๋ค.
- ๊น์ค์ธ(BE): ๋ฐฑ์๋ ๊ฐ๋ฐ. Spring Boot ๊ธฐ๋ฐ์ผ๋ก API ์ค๊ณ์ ๊ตฌํ์ ๋ด๋นํ๊ณ , ๋๋ฉ์ธ ๋ชจ๋ธ๋ง(JPA), ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ/์ฟผ๋ฆฌ ์ต์ ํ, ๋๋ฏธ ๋ฐ์ดํฐ ๊ตฌ์ฑ ๋ฐ ํ ์คํธ ํ๊ฒฝ ์ ๋ฆฌ๋ฅผ ์งํํ์ต๋๋ค. ๋ํ AWS ํ๊ฒฝ(EC2/S3) ๊ธฐ๋ฐ ๋ฐฐํฌ ํ๋ฆ๊ณผ ์ด์ ๊ด์ ์์ ํ์ํ ์ค์ , ํธ์ ์๋ฆผ(FCM) ์ฐ๋ ๋ฐ ์ ์ก ์์ ํ ๊ฐ์ ์ธํ๋ผยท์ฐ๋ ์์ ์๋ ์ฐธ์ฌํ์ต๋๋ค.
- ์์ธํฌ(BE): ๋ฐฑ์๋ ๊ฐ๋ฐ. Spring Boot ๊ธฐ๋ฐ์ผ๋ก API ์ค๊ณ์ ๊ตฌํ์ ๋ด๋นํ์ต๋๋ค. ์ด์ ์์ ์ฑ์ ์ํด Flyway๋ฅผ ๋์ ํ์ฌ DB ์คํค๋ง ํ์ ๊ด๋ฆฌ๋ฅผ ์๋ํํ๊ณ , ํ์ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๊ฒฝ ๋ถ์ผ์น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๋ํ GitHub Actions์ Docker Compose๋ฅผ ์ฐ๋ํ์ฌ ๋น๋๋ถํฐ ์ด์ ์๋ฒ(AWS EC2) ๋ฐฐํฌ๊น์ง์ CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์์ต๋๋ค.
- ๊น๋์ฑ(FE):
- ์ก์ฑ๊ทผ(DS):
