๐ช ํ๋ก์ ํธ ํ ๊ตฌ์ฑ ๋ฐ ์ญํ
| ๋ฐํ๊ท ๋ฆฌ๋ | - Spring Security ๊ตฌ์ฑ
- ์์ธ์ ๊ณต๊ณต API ์ ๋ณด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์
๋ฐ์ดํธ
- ํ๋ก ํธ์๋ ์์
- ์์ธ์ ๊ด์ฌ ์๋น์ค ์ ์ฅ, ์ญ์ , ์กฐํ
- ์ด๋ฉ์ผ ์ธ์ฆ
- ์์ด๋ ์ค๋ณต ํ์ธ
- ์ ํ๋ฒํธ ๋ฌธ์ ์ธ์ฆ
- CI / CD ํ๊ฒฝ ๊ตฌ์ถ |
| --- | --- |
| ์กฐ์์
๋ถ๋ฆฌ๋ | - GitHub ์ ๋ฐ์ ์ธ ๊ด๋ฆฌ
- SSE๋ฅผ ํตํ ์๋ฆผ ๊ธฐ๋ฅ
- Amazon S3๋ฅผ ํ์ฉํ ์ด๋ฏธ์ง ์
๋ก๋ |
| ๊น์งํฌ
ํ์ | - ๋๊ธ / ๋๋๊ธ CRUD
- ์ฌ์ฉ์ ํ๋ก์ฐ ๊ธฐ๋ฅ
- ์ฌ์ฉ์๊ฐ ์์ฑํ ๊ธ ๊ฐ์ ธ์ค๊ธฐ
- ํ๋กํ ์์ (๊ด์ฌ์ฌ)
- Redis๋ฅผ ์ด์ฉํ ์ฑํ
๊ธฐ๋ฅ ๊ตฌํ
- Redis๋ฅผ ์ด์ฉํ ํ์ ํํด ๊ธฐ๋ฅ ๊ตฌํ
- AWS EC2๋ฅผ ์ด์ฉํ ๋ฐฑ์๋ ๋ฐฐํฌ |
| ์๋จ๋ช
ํ์ | - Spring Security ๊ตฌ์ฑ
- ๊ฒ์๊ธ CRUD
- ๊ฒ์๊ธ ํ์ด์ง ์ฒ๋ฆฌ
- ์ฌ์ฉ์ ํ๋กํ ์์
- ์ฌ์ฉ์๊ฐ ์์ฑํ ๊ธ ๊ฐ์ ธ์ค๊ธฐ |
ํ๋ก์ ํธ ์ฃผ์ ์ ์
<aside>
๐ฅฒ ๋ด๊ฐ ๋๋ฆด ์ ์๋ ํํ์ ํญ์ ์ด์ ๊น์ง๊ณ ,
์ธ๊ตฌ ๋ฐ๋ 1์์ ๋๋์์ธ๋ฐ ๋ด๊ฐ ์๋ ์ฌ๋์ ํ๋๋ ์๊ณ , โฆ
์์ธ ์ํ์ ๋ ์ฆ๊ฒ๊ฒ ํ ์๋ ์์๊น!?
</aside>

์์ธ์ ๊ณต๊ณต ์๋น์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์ปค๋ฎค๋์ผ์ด์
์ฌ์ดํธ
- ์์ธ์ ๋ด ๊ทผ๊ฑฐ๋ฆฌ ๊ฑฐ์ฃผ์๋ค ๊ฐ์ ์ปค๋ฎค๋์ผ์ด์
๊ณต๊ฐ์ผ๋ก ํ์ฉ
- ๋ฌธํ ํ์ฌ, ์ฒด์ก ํ์ฌ ๋ฑ์ ๋ํ์ธ ๊ตฌํ๊ธฐ โ ๊ฒ์๊ธ ๋ฐ ์ฑํ
๊ธฐ๋ฅ ํ์ฉ
- ์์ธ์์์ ์ ๊ณตํ๋
์ง๋ฃ,ย ย ๋ฌธํ ํ์ฌ,ย ย ๊ต์ก,ย ย ์์ค ๋๊ด,ย ย ์ฒด์ก ์์ค,ย ย ๊ณต๊ณต ์๋น์ค ์์ฝ ๋ฑ์ ์ ๋ณด๋ฅผ ์ฌ์ฉ์๋ค์๊ฒ ์ ๊ณต
- ์ฌ์ฉ์๊ฐ ๋ฏธ๋ฆฌ ์
๋ ฅํด ๋ ์ ๋ณด (๋์ด, ์ฑ๋ณ, ๊ฑฐ์ฃผ์ง, ์๋ ๋ถ์ ๋ฑ)์ ์ฐ๊ด๋ ์ง์ ์๋น์ค๊ฐ ์
๋ฐ์ดํธ ๋ ๋ ๋ง๋ค ์๋ฆผ ๋ฐ์ก
ํ์ ์๊ตฌ ์ฌํญ (MVP ๋ชฉ๋ก)
ํ์ ๊ด๋ จ
- [ ] jwt ํ ํฐ ๋ฐ๊ธ์ ํตํ ๋ก๊ทธ์ธ
- [ ] ์์
๋ก๊ทธ์ธ (์นด์นด์ค, ๊ตฌ๊ธ, ๋ค์ด๋ฒ)
- [ ] ์ผ๋ฐ ๋ก๊ทธ์ธ
- [ ] ๊ด์ฌ์ฌ ์
๋ ฅ ๋ฐ๊ธฐ(์ดํ ์ถ์ฒ ๊ฒ์๋ฌผ์์ ํ์ฉ)
- [ ] ๊ฑฐ์ฃผ์ง,๋์ด,์ฑ๋ณ๋ฑ ์ถ๊ฐ์ ์ธ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์
๋ ฅ ๋ฐ์ ํ์๊ฐ์
ํ๊ธฐ (์ดํ ์ถ์ฒ ๊ฒ์๋ฌผ์์ ํ์ฉ)
- [ ] ์ด๋ฉ์ผ ์ธ์ฆ ํ ํ์๊ฐ์
ํ๊ธฐ (Redis ํ์ฉ)
- [ ] ์ ํ๋ฒํธ ๋ฌธ ์ธ์ฆ ํ ํ์๊ฐ์
ํ๊ธฐ (Redis ํ์ฉ)
- [ ] ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ๊ธฐ๋ฅ (3ํ ์ด๋ด ๋ณ๊ฒฝ ๋ด์ญ์ด ์๋ ๋น๋ฐ๋ฒํธ๋ ๋ถ๊ฐ)
- [ ] ํ๋กํ ์์ (ํ๋กํ ์ด๋ฏธ์ง, ์ฃผ์, ๋๋ค์)
- [ ] ํ๋กํ ์กฐํ (์กฐํํ ์ ์ ์ ๊ณต๊ณต ์๋น์ค ์คํฌ๋ฉ ๋ฆฌ์คํธ๋ ๋ฐ์์ค๊ธฐ)
- [ ] ๋ ๋์ค ๋ธ๋๋ฆฌ์คํธ๋ฅผ ํตํ ๋ก๊ทธ์์ ๊ธฐ๋ฅ ๊ตฌํ
- [ ] ๋ ๋์ค ๋ฆฌํ๋ ์ ํ ๊ทผ์ ํตํ ์ธ์ฆ ์ธ๊ฐ ๊ตฌํ
- [ ] ํ๋ก์ฐ ์ธํ๋ก์ฐ ๊ธฐ๋ฅ ๊ตฌํ
- [ ] ํ๋ก์ฐ, ํ๋ก์ธ ์กฐํ ๊ธฐ๋ฅ ๊ตฌํ
๊ฒ์๊ธ ๊ด๋ จ
- [ ] ์๋ง์กด S3๋ฅผ ํตํ ๊ฒ์๊ธ์ ์ด๋ฏธ์ง ๋ด๊ธฐ (3๊ฐ ์ดํ)
- [ ] ํ์ด์ง ์ฒ๋ฆฌ๋ฅผ ํตํ ๊ฒ์๋ฌผ ์กฐํ
- [ ] ๊ฒ์๊ธ ์ข์์ ๋ฐ ํด์ ๊ธฐ๋ฅ ๊ตฌํ
- [ ] ๋๊ธ CRUD ๊ตฌํ
- [ ] ๋๊ธ ์ข์์ ๋ฐ ํด์ ๊ธฐ๋ฅ ๊ตฌํ
๊ด์ฌ์ฌ ๊ด๋ จ (๊ฒ์๊ธ ๋ฐ ๊ณต๊ณต ์๋น์ค ์ถ์ฒ์ ์ํ ๊ธฐ๋ฅ)
- [ ] Enum ์ ํ์ฉํ ์นดํ
๊ณ ๋ฆฌ ๋ฐ ๊ด์ฌ์ฌ ์ ์
- [ ] ํ์๋ณ ๊ด์ฌ์ฌ ๋ฑ๋ก
- [ ] ํ์๋ณ ๊ด์ฌ์ฌ ์์
- [ ] ํ์๋ณ ๊ด์ฌ์ฌ ๋ชฉ๋ก ์กฐํ
๊ณต๊ณต ์๋น์ค ํ์ด์ง
- [ ] ๊ณต๊ณต API๋ฅผ ํ์ฉํ ์์ธ์ ๊ณต๊ณต ์๋น์ค ์กฐํ (์นดํ
๊ณ ๋ฆฌ ๋ณ ์กฐํ, ๊ฒ์ ์กฐํ)
- [ ] ๊ฐ์ ธ์จ ๊ณต๊ณต ์๋น์ค ์ ๋ณด๋ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์ฒด์ ์ผ๋ก ์ค์ผ์ฅด ํ์ฉํ์ฌ ์ ์ฅ ๋ฐ ์
๋ฐ์ดํธ
- [ ] ๊ฐ์ ธ์จ ๊ณต๊ณต ์๋น์ค ์ ๋ณด๋ค์ ๊ธฐ๋ฐ์ผ๋ก ์นดํ
๊ณ ๋ฆฌ๋ณ ์กฐํ (ํ์ด์ง ์ฒ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ)
- [ ] ๊ฐ์ ธ์จ ๊ณต๊ณต ์๋น์ค ์ ๋ณด๋ค์ ๊ธฐ๋ฐ์ผ๋ก ๋จ๊ฑด ์กฐํ
- [ ] ๊ด์ฌ์๋ ๊ณต๊ณต ์๋น์ค ์ข์์ ๋ฐ ํด์ (์คํฌ๋ฉ ๊ธฐ๋ฅ)
์ถ๊ฐ ์๊ตฌ ์ฌํญ
ํ์ ๊ด๋ จ
- [ ] ์ฃผ์ ๊ฒ์ API๋ฅผ ํ์ฉํ ์ฌ์ฉ์ ์ฃผ์ ์
๋ ฅ๋ฐ๊ธฐ
- [ ] ์๋ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ
- [ ] ํ์ ํํด (1๊ฐ์ ๋ณด๋ฅ ๊ธฐ๊ฐ ์ค์ )
CI/CD
- [ ] CI ํ๊ฒฝ ๊ตฌ์ฑ : JUNIT์ ํตํ ๊น ํ๋ฆฌํ์คํธ์ ํ
์คํธ ์ฝ๋ ์ํ ๋ฐ ํ์ธ
- [ ] CD ํ๊ฒฝ ๊ตฌ์ฑ : Code Deploy๋ฅผ ํตํ ์๋ ๋ฐฐํฌ ํ๊ฒฝ ๊ตฌ์ฑ
์๋ฆผ
- [ ] ๋ค๋ฅธ ํ์์ด ์ข์์ ๋ฐ ๋๊ธ์ ์์ฑ ์ ์๋ฆผ(์์ฑํ ๊ฒ์๊ธ, ๋๊ธ)
- [ ] ๋ค๋ฅธ ํ์์ด ํ๋ก์ฐ ์ ์๋ฆผ
- [ ] ์ฑํ
์ด ์์ ๋๋ฉด ์๋ฆผ
์ฑํ
- [ ] ๊ณต๊ณต ์๋น์ค๋ฅผ ์ด์ฉํ๊ธฐ ์ํ ์ธ์๋ค์ ๋ํ ๋จ์ฒด ์ฑํ
๋ฐฉ
- [ ] ์ง์ญ๋ณ ์คํ์ฑํ
๋ฐฉ ๊ตฌํ
๊ณต๊ณต ์๋น์ค ๋ฐ ๊ฒ์๊ธ ์ถ์ฒ
- [ ] ํ์๊ฐ์
๋ ์
๋ ฅ๋ฐ์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ง์ญ๋ณ, ์ข์์ ์์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ์์๊ฒ ๊ณต๊ณต ์๋น์ค ๋ฐ ๊ฒ์๊ธ์ ์ถ์ฒํด์ฃผ๋ ๊ธฐ๋ฅ ๊ตฌํ
โบ ์๋น์ค ์ํคํ
์ฒ ์ค๋ช

| User ๐ค |
Browser ์ ํตํด html, css, vue.js๋ก ๊ตฌ์ถํ ์น ์ดํ๋ฆฌ์ผ์ด์
์ ํ๋ก ํธ์๋ ํ๋ฉด์ ๋ด
๋๋ค |
| SSE |
์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก ๋จ๋ฐฉํฅ ์ค์๊ฐ ์๋ฆผ์ ๋ณด๋ด๋ ์ฉ๋๋ก ์ฌ์ฉ |
| Apache |
java ์ฝ๋๊ฐ ์คํ๋ ์ ์๋ Http Web Server ํ๊ฒฝ์ ์ ๊ณต |
| GitHub Actions |
CI / CD ๋ฑ ํ๋ก์ ํธ์์ WorkFlow ํ์ผ์ ์๋ํ ํ๋๋ฐ ์ฌ์ฉ |
| GitHub |
Developer์ ํ์
์ ์ํด ์ฌ์ฉ |
| Redis |
์๋ฒ์ ๋ถํ๋ฅผ ์ค์ด๊ธฐ ์ํด์ ๋ฉ๋ชจ๋ฆฌ ๋ด ์ ์ฅ์, ์บ์๋ก ์ฌ์ฉ |
| AWS S3 |
์ด๋ฏธ์ง๋ ๋น๋์ค ๋ฑ ํ์ผ์ ์ ์ฅํ๊ณ ์ ๊ณตํ๋๋ฐ ์ฌ์ฉ |
| AWS CODEDEPLOY |
EC2 ์ธ์คํด์ค์์ SPRING ์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌ๋ฅผ ์๋ํ ํ๋๋ฐ ์ฌ์ฉ |
| AWS EC2 |
์ ํ๋ฆฌ์ผ์ด์
์ ํธ์คํ
ํ๋๋ฐ ์ฌ์ฉํ๋ฉฐ ์ฌ์ฉ์๊ฐ ์ ์ ๊ฐ๋ฅํ ๊ฐ์ ์๋ฒ๋ฅผ ์ ๊ณต |
๐ง ์ฌ์ฉ ๊ธฐ์
๋ฐฑ์๋
ํ๋ก ํธ์๋
๐ฉบ ๊ธฐ์ ์ ์์ฌ ๊ฒฐ์ & ๐ซ ํธ๋ฌ๋ธ ์ํ
JWT Token
Web Socket
Redis
CI / CD