-
ํ์ค ์๊ฐ : ๊ณ ์ ์ง์ถ ์๋ ๊ด๋ฆฌ ์๋น์ค
-
์๋น์ค ๋ช : IDK ์ํ
-
๋ฐฐํฌ apk : https://drive.google.com/file/d/1Z6WpP71_LZiVNF9-aYQj6VPMxDlaKJQa/view?usp=sharing
-
์๋น์ค ๊ฐ๋ฐ ๊ธฐ๊ฐ : 2024.02.19 - 2023.04.04 (7์ฃผ)
-
SSAFY ํนํ ํ๋ก์ ํธ ์ฐ์์ ์ ์
- ๋์
- ๊ธฐํ๋ฐฐ๊ฒฝ
- ์๋น์คํ๋ฉด
- ํ์
- ๊ฐ๋ฐํ๊ฒฝ
- ์ฃผ์๊ธฐ๋ฅ
- ํ์ด์ง ๋ณ ๊ธฐ๋ฅ
- ๊ธฐ์ ์ค๋ช
- ๋ง์ด๋ฐ์ดํฐ ๊ธฐ๋ฅ
- ๊ธฐ๋ํจ๊ณผ
- ํ๋ก์ ํธ ์งํ
- ํ์ ๋ฐฉ์
- ์ฌํ์ธ :ย ์๊ธ, ์ฉ๋ ๋ฑ ๊ณ ์ ์์ ๊ด๋ฆฌ๊ฐ ํ์ํ ๋ชจ๋ ์ฌํ์ธ
- ๊ณ ์ ์ง์ถ ๊ด๋ฆฌ :ย ์ง์ถ ๋น์จ,ย ์ํ์ผ,ย ๊ณ์ข ์์ก์ ํ๋์ ํ์ธํ๊ณ ์ถ์ ๋ถ
- ์์ ๋ ฅ ๋ถ์กฑ :ย ๊ณํ์ ์ธ ์๋น๋ฅผ ์ํ์ง๋ง ๊ณ ์ ์ง์ถ ๊ด๋ฆฌ๊ฐ ์ด๋ ค์ด ๋ถ
- ์ ์ถ ์ต๊ด ํ์ฑ :ย ์ ๊ธ ์์ด๋ ๊พธ์คํ ์ ์ถํ๊ณ ์ถ์ ๋ถ
- ์ค๋งํธํ ๋ ๊ด๋ฆฌ :ย ๊พธ์คํ ๋ ๊ด๋ฆฌ๋ฅผ ํ๊ณ ์ถ์ง๋ง ๊ท์ฐฎ๋ค๊ณ ๋๋ผ๋ ๋ถ
- ์ ์ฉ์นด๋ ์ฌ์ฉ์ :ย ์นด๋ ๊ฒฐ์ ๋ด์ญ์ ํจ๊ป ๊ด๋ฆฌํ๊ณ ์ถ์ ๋ถ
๐ต ์ฌํ ์ํ์ ์์ํ๋ฉด ์์ ์ ๋ฐ๋ผ ๋งค๋ฌ ์ ๊ธ ๋ฑ์ ์๋์ด์ฒด ๋ฐ ์ ์ฉ์นด๋ ๋๊ธ ๋ฑ์ ํฌํจํ ๊ณ ์ ์ง์ถ์ด ๋ฐ์ํฉ๋๋ค.
๊ณ ์ ์์ (์๊ธ, ์ฉ๋ ๋ฑ)์ด ์๊ธฐ๋ฉด ๊ณ ์ ์ง์ถ์ ๊ณ ๋ คํ๋ฉฐ ์๋น๋ฅผ ํด์ผํ์ง๋ง, ๊ณ ์ ์ง์ถ๋ง๋ค ์ถ๊ธ๋๋ ๋ ์ง๊ฐ ๋ฌ๋ผ ๋ฐ๋ก ์ ๋ฆฌํ๊ณ ๊ด๋ฆฌํ๋ ์ผ์ ๋ฒ๊ฑฐ๋กญ์ต๋๋ค.
์ด์ ๋ฐ๋ผ, ๊ณ ์ ์์ ์ด ์ ๊ธ๋ ๋ ๊ณ ์ ์ง์ถ ์์ฐ์ ์๋์ผ๋ก ๋ณด๊ดํ์ฌ, ๋ชฉ์ ์ ๋ง๊ฒ ์๋นํ๊ณ ๋งค์ ์ฌ์ฉ ๊ฐ๋ฅ ์๊ณ ๋ฅผ ํ ๋์ ํ์ธํ ์ ์๋ ์๋น์ค๋ฅผ ๋ง๋ค๊ธฐ๋ก ํ์ต๋๋ค.
์กฐ์ฉํ(ํ์ฅ) | ์ตํ๊ธฐ(ํ์) | ์ค์ ์(ํ์) |
---|---|---|
BE(๋ํฌ์ผ, ๋ชฉํ์ ์ถ, ์๋์ด์ฒด) | BE (ํ์, ๋ง์ด๋ฐ์ดํฐ) | BE(์ ์ถ๊ธ, ๊ฒฐ์ ) ์ธํ๋ผ ์ด๊ด |
์ค์๋น(ํ์) | ๊น๋์(ํ์) | ๊น์์ค(ํ์) |
---|---|---|
FE(๊ณ์ข, ๋ํฌ์ผ), UI ๋์์ธ ์ด๊ด | FE (ํ์, ๋ง์ด๋ฐ์ดํฐ, ๋ํฌ์ผ) | FE(ํต๊ณ, ๊ฒฐ์ ) |
-
Front
react: 18.2.0
react-native: 0.73.6
expo: 50.0.14
nativewind: 2.0.11
-
Back-end
JAVA - 17
Spring Boot - 3.2.3
Spring Data JPA - 3.2.3
Spring Security - 6.2.2
jjwt - 0.12.3
MySQL - 8.3.0
Redis - 7.2.4
DB
-
Infra
Ubuntu - 22.04.3 LTS
Jenkins - 2.448
Docker - 25.0.5
Nginx - 1.18.0
-
๋์์ธ :ย Figma
๊ตฌ๋ถ | ๊ธฐ๋ฅ | ์ค๋ช |
---|---|---|
์ํ ์๋น์ค | ๋ ํฌ์ผ, ๊ณ ์ ์ง์ถ ๊ด๋ฆฌ ๊ธฐ๋ฅ | Donโt Forget / Don Pocket ๋งค์ ๊ณ ์ ์์ ์ด ์ ๊ธ๋ ๋ ๊ฐ ๊ณ ์ ์ง์ถ ์์ฐ์ ์๋์ผ๋ก ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ์ ๋๋ค. |
๋ชฉํ ์ ์ถ ๊ธฐ๋ฅ | ์ํ ๋๋ ๋ชฉํ ๊ธ์ก์ ๋ํด ๋จ๊ธฐ ๋ชฉํ๋ฅผ ์ค์ ํ์ฌ ์ ์ถํ๋ ๊ธฐ๋ฅ์ ๋๋ค. | |
์๋ ์ด์ฒด ๊ธฐ๋ฅ | ์ฃผ๊ธฐ์ ๊ณ์ข ๋ฒํธ, ๊ธ์ก์ ๋ฑ๋กํ์ฌ ์๋ ์ด์ฒดํ๋ ๊ธฐ๋ฅ์ ๋๋ค. | |
์ ๊ธํต ๊ธฐ๋ฅ | ๋งค์ ๊ณ ์ ์์ ์ด ์ ๊ธ๋ ๋ ์ ์ถ๊ธ ๊ณ์ข ์๊ณ ๋ฅผ ์ ๊ธํ๋ ๊ธฐ๋ฅ์ ๋๋ค. | |
์ ์ถ๊ธ ๊ณ์ข ๊ธฐ๋ฅ | ์ฌ์ฉ์ ์ ์ถ๊ธ ๊ณ์ข๋ฅผ ํตํด ์ ๊ธ, ์ถ๊ธ, ์ก๊ธ ๋ฑ์ ์ง์ํ๋ ๊ธฐ๋ฅ์ ๋๋ค. | |
๋ง์ด๋ฐ์ดํฐ | ์ถ๊ธ ๋์ ๊ณ์ข ์ด์ฒด ์กฐํ ๊ธฐ๋ฅ | ์ฌ์ฉ์์ ํ ์ํ ์๋ ์ด์ฒด๋ฅผ ์กฐํํ๋ ๊ธฐ๋ฅ์ ๋๋ค. |
ํต๊ณ | ๊ณ ์ ์ง์ถ ์ถ์ด ํต๊ณ ๊ธฐ๋ฅ | ์ ์ฉ์นด๋ ๋๊ธ, ๊ณต๊ณผ๊ธ ์ฌ์ฉ ๊ธ์ก(์๊ธ ํ๋ฆ)์ ์๊ฐํํ์ฌ ์ถ์ด๋ฅผ ํ์ธํ ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค. |
๊ฒฐ์ ์๋น์ค | ๊ฐํธ ๊ฒฐ์ ๊ธฐ๋ฅ | ๊ณ์ข์ ์ฌ์ฉ๊ฐ๋ฅ ๊ธ์ก์ ์ฌ์ฉํ์ฌ ์ํ๋ ์ํ์ ๊ฐํธํ๊ฒ ๊ฒฐ์ ํ๋ ๊ธฐ๋ฅ์ ๋๋ค. |
- ์ ๊ธํต, ๋จ๊ธฐ ์ ์ถ, ๊ณ์ข์ง์ ์๋์ด์ฒด, ์ถ๊ธ๋์ ์๋์ด์ฒด๋ฅผ ์ง์ํฉ๋๋ค.
- ๊ณ ์ ์์ ๋ ์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ ํฌ์ผ ์ ๊ธ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ฌ์ฉ์๋ ๊ฐ ๋ ํฌ์ผ์ ๋ํด ์ ๊ธ ์ฐ์ ์์๋ฅผ ๋๋๊ทธ & ๋๋กญ์ผ๋ก ์ค์ ํ ์ ์์ต๋๋ค.
- ๊ณ ์ ์์ ์ ๊ธ ์, ์ค์ ํ ์ฐ์ ์์์ ๋ฐ๋ผ ๊ฐ ๋ ํฌ์ผ์ ์ ๊ธํฉ๋๋ค.
- ๊ตฌ๋งคํ๊ณ ์ถ์ ์ํ์ ์ ํํ์ฌ ๊ฐ๊ฒฉ์ ๋ํ ๋จ๊ธฐ ๋ชฉํ๋ฅผ ์ค์ ํ์ฌ ์ ์ถํ ์ ์์ต๋๋ค.
- ๋จ๊ธฐ ๋ชฉํ ๊ธ์ก์ ๋ง๋ค๊ธฐ ์ํด ๋ชฉํ ๊ธฐ๊ฐ ๋ฐ ๋ชฉํ ๊ธ์ก์ ์ค์ ํ ์ ์์ต๋๋ค.
- ๋ฑ๋กํ ๊ณ ์ ์์ ๋ ์ง์ ๊ณ ์ ์์ ์ด ์ ๊ธ๋ ๋ ์ ์ถ๊ธ ๊ณ์ข ์๊ณ ๋ฅผ ์ ๊ธํฉ๋๋ค.
- ์ฌ์ฉ์๋ ์ ๊ธํต์ ์์ ๋กญ๊ฒ ๋์ ์ ๊ธํ๊ฑฐ๋ ์ถ๊ธํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์๋ ํ ์ํ์ ์๋์ด์ฒด ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
- ๋ํ, ํ ์ํ์ ์๋์ด์ฒด์ ์๋๊ฒฐ์ ์ ๋ํฌ์ผ์ ์ฐ๊ฒฐํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ด์ฒดํ ๊ณ์ข ๋ฒํธ, ๊ธ์ก, ์ด์ฒด ๋ ์ง๋ฅผ ๋ฑ๋กํ์ฌ ์๋ ์ด์ฒดํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
- ์๋์ด์ฒด ์์ฑ ํ, ๋ํฌ์ผ์ ์์ฑํ ์ ์์ต๋๋ค.
- ์๋์ด์ฒด๋ฅผ ํด์งํ ์ ์์ต๋๋ค.
- ์ ์ถ๊ธ ๊ณ์ข์ ๋ํ ์๊ณ ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ์ ์ถ๊ธ ๊ณ์ข์ ์ฌ์ฉ์๊ฐ ์ ๊ธํ ๊ธ์ก๋งํผ ๋์ ์ ๊ธํ ์ ์์ต๋๋ค.
- ์ ์ถ๊ธ ๊ณ์ข ์๊ณ ๋ด์์ ๋์ ์ถ๊ธํ๊ฑฐ๋ ์ก๊ธํ ์ ์์ต๋๋ค.
- ์ํ๋ ์ํ์ ์ ํํ์ฌ ๊ฒฐ์ ํ ์ ์์ต๋๋ค.
- ๊ณ์ข์ ์๋ ์์ก์ ์ฌ์ฉํ์ฌ ๊ฒฐ์ ํ ์ ์์ต๋๋ค.
- ์ต๊ทผ 1๋ ๊ฐ ์ด ์ง์ถ์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ์์ ์๋น ์ต๊ด์ ํ์ ํ ์ ์์ต๋๋ค.
- ์ด ์ง์ถ, ์นด๋ ์ง์ถ, ๊ณต๊ณผ๊ธ, ์ผ๋ฐ ์ง์ถ์ ์นดํ ๊ณ ๋ฆฌ ๋ณ๋ก ๊ฐ ๋ฌ๋ง๋ค ์๋นํ ๊ธ์ก์ ํ์ธํ ์ ์์ต๋๋ค.
- ๊ฐ ๋ฌ์ ์ง์ถ์ ์นดํ ๊ณ ๋ฆฌ ๋ณ๋ก ์ผ๋ง๋ ์๋นํ์๋์ง ํ์ธํ ์ ์์ต๋๋ค.
- ๋ฌธ์ ๋ณธ์ธ ์ธ์ฆ์ ํตํด ๋น์ธ๊ฐ ์ฌ์ฉ๋ฐฉ์ง, ์ค๋ณต๊ฐ์ ๋ฐฉ์ง, ์ฃผ๋ฏผ๋ฑ๋ก์ ๋ณธ์ธ ์ฌ๋ถ ํ์ธ, ์ ์์๊ฑฐ๋์ ์์ ์ฑ ๋ณด์ฅ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ๊ฐํธ๋น๋ฐ๋ฒํธ ๋๋ ์์ฒด์ธ์ฆ(ReactNative)์ผ๋ก ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค.
- HTTPS๋ SSL/TLS ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ํต์ ์ ์ํธํํ๋ฏ๋ก ๊ณต๊ฒฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ํ์ทจํ ์ ์์ต๋๋ค.
- Nginx์ ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฉํ๋ฒฝ ๋ชจ๋์ ํ์ฉํ์ฌ ์ ์ฑ ํธ๋ํฝ๊ณผ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณดํธํ ์ ์์ต๋๋ค.
- ๊ณ์ข ๋น๋ฐ๋ฒํธ : ๋จ๋ฐฉํฅ ์ํธํ, SHA-256 ์๊ณ ๋ฆฌ์ฆ
- ๊ณ์ข๋ฒํธ : ์๋ฐฉํฅ ์ํธํ, RSA ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ
- IDK์ํ ๊ณ์ข๋ฒํธ ์์ฑ ๊ท์น
- ์ด 12์๋ฆฌ๋ก ๊ตฌ์ฑ
- ์ฒซ 3์๋ฆฌ๋ ์ํ ์๋ณ ๋ฒํธ๋ก "501"์ผ๋ก ์์
- ๋ค์ 2์๋ฆฌ๋ ๊ณ์ข ์ ํ์ ๋ํ๋ (์: 10์ ์๊ธ)
- ๋ค์ 6์๋ฆฌ๋ ๊ณ ๊ฐ์ ๊ณ์ข ์๋ณ ๋ฒํธ, ๋๋ค์์ฑ
- ๋ง์ง๋ง 1์๋ฆฌ๋ ๊ฒ์ฆ์ฉ ์ซ์๋ก, ์ 10์๋ฆฌ์ ๊ณ์ข๋ฒํธ๋ฅผ ํน์ ๊ท์น์ ๋ฐ๋ผ ๊ฒ์ฆํ๋ ์ฉ๋๋ก ์ฌ์ฉ๋จ
- ํตํฉ์ธ์ฆ๊ธฐ๊ด์ ํตํด ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์ด๋ฆ, ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ ๋ฐ ์ ํ๋ฒํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ ๊ธฐ๊ด์์ ์ฌ์ฉ์๋ฅผ ์๋ณํ ์ ์๋ CI(Connecting Information)๋ฅผ ์์ฑํ์ฌ ๊ด๋ฆฌํฉ๋๋ค.
- ์ฌ์ฉ์์ ์๋์ด์ฒด ์ ๋ณด ๋ฐ ์ ์ฉ์นด๋ ์ฌ์ฉ ์ ๋ณด๋ฅผ ํ์ธํ๊ธฐ ์ํด ์ ๋ณด์ ๊ณต์ ์๋ฒ๋ฅผ ๊ตฌ์ถํฉ๋๋ค.
- ์ ๋ณด์ฃผ์ฒด์ ๊ธ์ต์์ฐ ์ ๋ณด๋ฅผ ํ์ฉํ์ฌ ๊ณ ์ ์ง์ถ ๊ด๋ฆฌ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์๋ฒ๋ฅผ ๊ตฌ์ถํฉ๋๋ค.
- ๋ง์ด๋ฐ์ดํฐ์ฌ์ ์, ์ ๋ณด์ ๊ณต์ ๋ฑ ๋ง์ด๋ฐ์ดํฐ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์ฐธ์ฌํ๋ ๊ธฐ๊ด์ ์ธ์ฆํ๋ ์๋ฒ๋ฅผ ๊ตฌ์ถํฉ๋๋ค.
- ๋ง์ด๋ฐ์ดํฐ ์ฌ์ ์๋ ์ ๋ณด์ ๊ณต์ ๋ฑ ๋ง์ด๋ฐ์ดํฐ ์๋น์ค ์ด์ฉ ํฌ๋ง ๊ธฐ๊ด์ ์ข ํฉํฌํธ์์ ์ฌ์ ์ ์ฆ๋ช ์ ์ ์ถ ๋ฑ ์ ์ ํ ์ธ์ฆ ์ ์ฐจ๋ฅผ ํตํด ํด๋น ๊ถํ์ ํ๋ํฉ๋๋ค.
- ๋ณธ ์๋น์ค์์๋ ์ด๋ฌํ ์ ์ฐจ๋ ๋ฏธ๋ฆฌ ์ด๋ฃจ์ด์ง ๊ฒ์ผ๋ก ๊ฐ์ ํ๊ณ , ๊ฐ ๊ธฐ๊ด์ client_id, client_secret์ ๋ฐ๊ธํด์ค๋๋ค.
-
ํตํฉ์ธ์ฆ ์ด์ฉ ๋์, ์ ์ก์๊ตฌ ๋ด์ญ ์ ํ
์ ๋ณด์ฃผ์ฒด(๊ณ ๊ฐ)๋ ์๋น์ค ์ฑ์ ํตํด ํตํฉ ์ธ์ฆ(๋ณธ์ธํ์ธ์๋น์ค)์ ์ํ ๋์์๋ฅผ ํ์ธ(๋์)ํ๊ณ , ๊ฐ์ธ ์ ์ฉ์ ๋ณด ์ ์ก์๊ตฌ ๋ด์ญ์ ์ ํํฉ๋๋ค.
๋์ : ๊ฐ ๋ง์ด๋ฐ์ดํฐ ์ฌ์ ์๋ ์๋น์ค ์ฑ์ ํตํด ๊ณ ๊ฐ์ด ํตํฉ์ธ์ฆ์ ํ์ํ ๋์์(๋ณธ์ธํ์ธ ๋ชฉ์ ๊ฐ์ธ์ ๋ณด ํ์ฉ ๋ฐ ์ ๊ณต ๋ฑ)๋ฅผํ์ธ ๋ฐ ๋์ํ ์ ์๋๋ก ํ๋ฉด ๊ตฌ์ฑยท์ ๊ณตํฉ๋๋ค.
๊ฐ์ธ์ ์ฉ์ ๋ณด ์ ์ก์๊ตฌ ๋ด์ญ ์ ํ : ๋ง์ด๋ฐ์ดํฐ ์ฌ์ ์๋ ๊ณ ๊ฐ์ด์ ์ก์๊ตฌ ๋ด์ญ์ ์ ํํ ์ ์๋๋ก ํ๋ฉด์ ๊ตฌ์ฑยท์ ๊ณตํฉ๋๋ค.
-
ํตํฉ์ธ์ฆ(์์ฐ ์ฐ๊ฒฐ) ์์ฒญ
์๋น์ค ์ฑ์ ์๋น์ค ์๋ฒ์ธ IDK ์๋ฒ๋ก ํตํฉ์ธ์ฆ ์์ฒญํฉ๋๋ค.
-
์ ์์๋ช ์์ฒญ ๋ฐ ์์ฑ
์๋น์ค ์๋ฒ๋ ๊ณ ๊ฐ ์ ๋ณด์ ์ ์ก ์๊ตฌ ๋ชฉ๋ก์ ์ธ์ฆ๊ธฐ๊ด(์ ์์๋ช ์์ฑ ๋ชจ๋ ๋ฑ)์ ๋ณด๋ด์ ์ ์์๋ช ์ ์์ฒญํ๊ณ , ์ธ์ฆ๊ธฐ๊ด์ ์ ์์๋ช ๊ฒฐ๊ณผ ๊ฐ์ ์์ฑํ์ฌ ์๋น์ค ์๋ฒ์ ์๋ตํฉ๋๋ค.
-
ํตํฉ์ธ์ฆ ์์ฒญ
IDK์๋ฒ๋ ํตํฉ์ธ์ฆ ์์ฒญ์ ์ํด, ์ ๋ณด์ ๊ณต์๋ณ๋ก ์ ์์๋ช ๊ฒฐ๊ณผ ๊ฐ์ ์ ์ก(API : ํตํฉ์ธ์ฆ - 002)ํฉ๋๋ค.
-
๋ง์ด๋ฐ์ดํฐ ์๋น์ค ๊ถํ ๊ฒ์ฆ
์ ๋ณด์ ๊ณต์๋ ํตํฉ์ธ์ฆ ์์ฒญ์ ๋ณด๋ธ ๊ธฐ๊ด์ด ๋ง์ด๋ฐ์ดํฐ ์ฌ์ ์ ๊ถํ์ด ์๋์ง ํ์ธํ๊ธฐ ์ํด ์ข ํฉํฌํธ์ ๊ถํ ๊ฒ์ฆ ์์ฒญ์ ๋ณด๋ด๊ณ , ์ข ํฉํฌํธ์ ๊ถํ ๊ฒ์ฆ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ ์ ๋ณด์ ๊ณต์์ ์๋ตํฉ๋๋ค.
-
์ ์์๋ช ๊ฒ์ฆ, ๋ณธ์ธํ์ธ ์์ฒญ
๊ฐ ์ ๋ณด์ ๊ณต์๋ ์ ์์๋ช ์ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ๊ณผ ๊ณ ๊ฐ ๋ณธ์ธ ํ์ธ์ ์ํด ์ธ์ฆ๊ธฐ๊ด์ ์ ์์๋ช ๊ฒ์ฆ ์์ฒญํฉ๋๋ค.
-
๋ณธ์ธํ์ธ ๊ฒฐ๊ณผ ์ ๊ณต
์ธ์ฆ๊ธฐ๊ด์ ๋ณธ์ธํ์ธ ์์ฒญ๊ณผ ์ ์์๋ช ๊ฒ์ฆ์ ์ฒ๋ฆฌํ๊ณ ๊ฒฐ๊ณผ(CI, ์ธ์ฆ์ ์ ํจ์ฑ ๋ฑ)๋ฅผ ์ ๋ณด์ ๊ณต์์๊ฒ ์ ๊ณต(7 ๋จ๊ณ์ ์๋ต)ํฉ๋๋ค.
-
ํตํฉ์ธ์ฆ ๊ฒฐ๊ณผ ์ ๊ณต
์ ๋ณด์ ๊ณต์๋ 6, 7 ๋จ๊ณ ๊ฒฐ๊ณผ๋ฅผ ํตํด ๊ณ ๊ฐ์ ์ธ์ฆํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ก ์ ๋ณด์ ๊ณต API ์์ฒญ์ ํ์ํ ์ ๊ทผํ ํฐ์ ๋ง์ด๋ฐ์ดํฐ ์๋ฒ์๊ฒ ์ ์ก(ํตํฉ์ธ์ฆ-002์ ์๋ต)ํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์์ ์ ๋ฐ๋ก ๋ฝ์ ๊ฑธ์ด์ ๊ณ์ข ์ ์ถ๊ธ์ ์์ก์ ๋์์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
- ๊ฒฐ์ ์์ฒญ๊ณผ ๊ฒฐ์ ์น์ธ์ผ๋ก ๋๋์ด ๊ฒฐ์ ์๋จ์ ์ ํจ์ฑ์ ๊ฒ์ฆํ๊ณ ์์ ์ฃผ๋ฌธ ์ ๋ณด๋ฅผ ์์ฑํ๋ ๊ณผ์ ์ ํตํด ๋ฐ์ดํฐ ์ ํฉ์ฑ์ ๊ณ ๋ คํ ๊ฒฐ์ ์์คํ ์ ๊ตฌํํ์ต๋๋ค.
- ๊ณํ์ ์ธ ์๋น:ย ๊ณ ์ ์ง์ถ๊ณผ ์ ์ถ ๋ชฉํ๋ฅผ ๋ฏธ๋ฆฌ ์ค์ ํ์ฌ ๊ณํ์ ์ธ ์๋น ์ต๊ด์ ํ์ฑํฉ๋๋ค.
- ํธ๋ฆฌํ ๊ด๋ฆฌ:ย ์๋ํ๋ ์์คํ ์ผ๋ก ๋ฒ๊ฑฐ๋ก์ด ๊ด๋ฆฌ ์์ด ์ฝ๊ฒ ๋ชฉํ๋ฅผ ๋ฌ์ฑํฉ๋๋ค.
- ์์ฌํ๊ณ ์๋น:ย ํ์ฌ ๊ฐ์ฉ ๊ธ์ก์ ๋ํด ์ ํํ ํ์ ํ์ฌ ๊ณ ๋ฏผ ์์ด ์๋น์ํ์ ์ฆ๊ธธ ์ ์์ต๋๋ค.
- ๊ณ ๊ฐ ์ ์น: ์ฃผ๊ฑฐ๋ ํต์ฅ์ ํตํ ํธ๋ฆฌํ ์๋น์ค ์ ๊ณต์ผ๋ก ๊ณ ๊ฐ์ ์น๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ์๊ธ ์ ์น: ๊ณ ์ ์ง์ถ์ด ์ถ๊ธ๋๋ ์ด์ฒด์ผ๊น์ง, ๊ณ ๊ฐ์ ์๊ธ์ ์ง์ ์ ์นํ ์ ์์ต๋๋ค.
- ๊ณ์ข ๋จ์ผํ: ์๊ธ ํต์ฅ์ ๋ถ๋ฆฌํ์ง ์๊ณ , ํ๋์ ๊ณ์ข๋ก ๊ณํ์ ์ธ ์๋น๋ฅผ ํ ์ ์์ต๋๋ค.
- ์๋๋ง์ง ์ฐฝ์ถ: ์ด์ฒด์ผ๊น์ง ํํ ์ ์ถ ์์ด ์๊ธ์ ์ ์นํ ์ ์์ต๋๋ค.
- ์๋ฒ : AWS EC2 Ubuntu 22.04
- apk :
- CPU: vCPU 4
- Memory: 16GB
- Disk: 320GB SSD
- Traffic: 6TB
- Jenkins : 8080 โ 8080
- Backend : 8081 โ 8080
- MYDATA : 8082 โ 8080
- BANK : 8083 โ 8080
- CARD : 8084 โ 8080
- CA : 8085 โ 8080
- MySQL : 3307 โ 3306
- Redis : 6379 โ 6379
- ํ์
ํด :
Gitlab
,Jira
,Notion
๊ธฐ๋ณธ์ ์ผ๋ก ์ปค๋ฐ ๋ฉ์์ง๋ ์๋์ ๊ฐ์ด ์ ๋ชฉ / ๋ณธ๋ฌธ / ๊ผฌ๋ฆฌ๋ง๋ก ๊ตฌ์ฑํฉ๋๋ค.
์ปค๋ฐ ๋ฉ์์ง ํ
ํ๋ฆฟ
[#Jira Issue Num] type : subject
ex) [#S10P22A501-123] feat : ์ ๊ธํต ๋ ํฌ์ผ ์กฐํ API ๊ตฌํ
add
: ํ์ผ, ํด๋ ์ถ๊ฐfeat
: ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐfix
: ๋ฒ๊ทธ ์์ docs
: ๋ฌธ์์ ์์ style
: (์ฝ๋์ ์์ ์์ด) ์คํ์ผ(style)๋ง ๋ณ๊ฒฝ (๋ค์ฌ์ฐ๊ธฐ ๊ฐ์ ํฌ๋งท์ด๋ ์ธ๋ฏธ์ฝ๋ก ์ ๋นผ๋จน์ ๊ฒฝ์ฐ)refactor
: ์ฝ๋๋ฅผ ๋ฆฌํฉํ ๋งtest
: Test ๊ด๋ จํ ์ฝ๋์ ์ถ๊ฐ, ์์ chore
: (์ฝ๋์ ์์ ์์ด) ์ค์ ์ ๋ณ๊ฒฝremove
: ํ์ผ ๋๋ ์ฝ๋, ๋ฆฌ์์ค ์ ๊ฑฐresource
: ์ด๋ฏธ์ง ๋ฆฌ์์ค, prefab ๋ฑ์ ์ฝ๋์ ์๊ด์๋ ๋ฆฌ์์ค ์ถ๊ฐrename
: ๋จ์ ๋ณ์๋ช or ํ์ผ๋ช or ๊ฒฝ๋ก๋ช ์ ๋ฐ๊พผ ๊ฒฝ์ฐmerge
: ๋ธ๋์น ๋ณํฉ ์ค ๋ฉ์ธ์ง, coflict ํด๊ฒฐ
master --o--------------------------------o------------------o-------------o
\ \ / / 1.0
\ \ / /
\ \ bug fix / /
hotfix \ o----------o /
\ /
\ feat/front/... /
release---------o----------o--------o------o----------------o-------o------
|\ / / feat/back/... bug fix \
| \ / / \ ...
FE ---------|--o----o /
\ /
\ /
BE --------------o----o ... o---
\
\
feat o-------o
S10P11A504-์ด์๋ฒํธ-ํผ๋-ํ์-์ปจํ
์ธ -๊ฒฐ์
master
: ์ต์ข ๋ฐฐํฌ ๋ธ๋์นhotfix
: ๋ฐฐํฌ ๋ธ๋์น์์ ๋ฐ์ํ๋ ๋ฒ๊ทธ๋ฅผ ๊ธํ๊ฒ ์์ ํ๋ ๋ธ๋์นrelease
:FE
: FE ๊ธฐ๋ฅ ๋จ์ ๊ฐ๋ฐ ์๋ฃ ํfeat
๋ธ๋์น์์ ๋ถ์ด๋ ๋ธ๋์นBE
: BE ๊ธฐ๋ฅ ๋จ์ ๊ฐ๋ฐ ์๋ฃ ํfeat
๋ธ๋์น์์ ๋ถ์ด๋ ๋ธ๋์นfeat
: ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ๋ธ๋์น. ํฐ ๋จ์ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ด ์๋ฃ๋ ๋FE
/BE
๋ธ๋์น์ ๋ถ์
- ํ๋ก์ ํธ ์ผ์ ๊ด๋ฆฌ ๋ฐ ์ด์ ์ถ์ ์ ์ฌ์ฉํ์์ต๋๋ค.
- ๊ธ์์ผ๋ง๋ค ๋ค์์ฃผ์ ํ ์ผ์ ๊ณํํ๊ณ , 40์๊ฐ์ ๋ง์ถ์ด ์ค์ ํด๋์์ต๋๋ค.
- ์ด์๋ ํด์ผํ ์ผ, ์งํ ์ค, ์๋ฃ๋ก ๋๋์ด ๊ณํ์ด ๋ง๋ฌด๋ฆฌ ๋๋ฉด ์ค์๊ฐ ์ ๋ฐ์ดํธ๋ฅผ ํ์์ต๋๋ค.
- ๋ชจ๋๊ฐ ๊ณต์ ํด์ผํ ์๋ฃ ๋ฐ ๋งํฌ๋ ๋ ธ์ ์ ์ ๋ฆฌํ์ต๋๋ค.
- ๊ฐ์ ๊ณต๋ถํด์จ ํ์ต ๋ด์ฉ์ ๊ณต์ ํ๊ณ , ๋ช ์ธ๋ฅผ ๋น ๋ฅด๊ฒ ์ ๋ฐ์ดํธํ์ฌ ๊ณต์ ํ์์ต๋๋ค.
- ๋งค์ผ ์์นจ๊ณผ ์ ๋ ์คํฌ๋ผ์ ๊ณํ๋ ์ผ์ ์ ๊ณต์ ํ๊ณ , ๋ง์น ์ผ์ ์ ๊ณต์ ํ์ฌ ์๋ก์ ์ค์ผ์ค์ ํ์ธํ์์ต๋๋ค.
- ์คํฌ๋ผ์ ํตํด ํ๋ก์ ํธ์ ์งํ ์ํฉ์ ํ์ ํ๊ณ , ๋ฐ์ํ ๋ฌธ์ ๋ฅผ ๊ณต์ ํ๋ฉฐ ์ ์์ผํ๊ฒ ํ๋ก์ ํธ๋ฅผ ์งํํ์ต๋๋ค.