์ต๊ทผ ์๋ก์ด ํ๋ก์ ํธ์ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ก ํฉ๋ฅํ๊ฒ ๋์๋ค. ์ฑ์ ์ฑ์คํ ์ด์ ์ฌ๋ ค ์ค์ฌ์ฉ์๊ฐ ์์ ํ๋ก์ ํธ์ด๋ค.
์ด๋ฏธ React Native๋ก ์๋น์ค์ MVP ๊ฐ๋ฐ์ด ์ด๋ฃจ์ด์ ธ ์๋ ํ๋ก์ ํธ์ธ๋ฐ, ๋๋ ์ถ๊ฐ ๊ธฐ๋ฅ์ ๋ฐฑ์๋ ์๋ฒ ๊ฐ๋ฐ์ ํ๊ฒ ๋์๋ค.
ํฉ๋ฅํ๊ธฐ์ ์์ ๋์ค์ ํ๋ก ํธ์์ DB ์ฐ๊ฒฐํ๋ ๋ถ๋ถ์ ํ ์๋ ์๋ค๊ณ ํด์, React์ ๊ธฐ์ด ๋ฌธ๋ฒ๊ณผ React Hook์ ๋ํด ๊ณต๋ถ๋ฅผ ํ๊ธฐ๋ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ฒ์ฃผ๋ถํฐ ๋ฐฑ์๋ ํ์์ ์๋ฒ ์ค๊ณ ๋จ๊ณ๋ฅผ ์์ํ๋ค.
์ธํ๋ผ
- ์ ํํ ์ ์๋ ์ต์ ์ด AWS, GCP์ด ์์๋ค. GCP๊ฐ AWS๋ณด๋ค ๋น์ฉ์ด ์ธ์ง๋ง, ์ด์ ์ AWS๋ก ์ธํ๋ผ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒฝํ๋ ์๊ณ , ์ต์ํ๊ธฐ ๋๋ฌธ์ AWS๋ฅผ ์ฐ๊ธฐ๋ก ํ๋ค.
- ๋ค๋ง, AWS ์๊ธ์ ๋ํด ๋ ์์๋ณผ ํ์๊ฐ ์๋ค. ์ผ๋จ ๋ก์ปฌ๋ก ๊ฐ๋ฐํ๊ณ , ๋ฐฐํฌ๋ ๋์ค์ ํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋์ค์ ๊ตฌ๋งคํ๊ธฐ๋ก ํ๋ค.
- ์๋ฒ ๋น๋, ๋ฐฐํฌ์ Docker๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค.
์๋ฒ
- ๋์๊ฒ ์ต์ํ๊ณ , ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์๋ Spring Boot๋ก ๊ฐ๋ฐํ๊ธฐ๋ก ํ๋ค.
- Spring Boot 3.x ๋ฒ์ ๊ณผ Spring Boot 2.x ์ค์๋ Spring Boot 3.x์ผ๋ก ๊ฐ๋ฐํ๊ธฐ๋ก ํ๋ค.
- Spring Boot 3.x ๋ฒ์ ์ด ์ต์ ์ด๋ผ ์ผ๋ถ ํจํค์ง, ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ Deprecated ๋๋ ๊ฒ ์๊ณ , ์์ง ์ธํฐ๋ท์ ์๋ฃ๊ฐ ๋ง์ง ์๋ค๋ ๋จ์ ์ด ์๋ค. ํ์ง๋ง, ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐ๋ ๋ฌธ์ ๊ฐ ๋์ง ์์ ๊ฒ ๊ฐ์๋ค.
- Spring Boot 2.x ๋ฒ์ ์ ์ ์ ์ง์์ด ๋๊ธฐ๊ณ ์๊ณ , ์ ์ ๋ฒ์ ์ ์ฌ๋ ค๊ฐ๋ฉฐ ๋ฆฌํฉํ ๋ง์ ํ๊ณ ์๋ ์ถ์ธ๋ผ ํด์ ๊ธธ๊ฒ ๋ณด๋ฉด ์๋ก 3.x๋ก ๊ตฌ์ถํ๋๊ฒ ๋ซ๋ค.
- ์๋ฒ์์ ํต์ ์ HTTP / REST API๋ก ํ๊ธฐ๋ก ํ๊ณ , ํ๋ก ํธ์๋์์๋ Axios๋ก ์ฒ๋ฆฌํ๊ธฐ๋ก ํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๊ธฐ์กด์ ์๋น์ค๋ Firebase์ ์ ์ฅ์ด ๋๊ณ ์๋ค. ํ์ง๋ง, ์๋ฒ์ ์๊ตฌ ์ ์ฅ์ ์ํด RDBMS๊ฐ ํ์ํ ์ํฉ์ด๋ค.
- MySQL์ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค. ๋ฌด๋ฃ์ด๊ณ , ์ต์ํ๊ณ , ๋น ๋ฅด๊ฒ DB๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ข๊ธฐ ๋๋ฌธ์ด๋ค.
์คํ๋ง ์๋ฒ ์์ธ
- Spring Boot 3.2, Java 17(Amazon Corretto 17)
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ : Spring MVC, Spring Data JPA, Lombok
Spring Boot 3๋ถํฐ๋ Java17์ ์จ์ผ ํ๋ค. JDK๋ ๋ผ์ด์ผ์ค ๋ฌธ์ ๋ก๋ถํฐ ์์ ๋ก์ด Open JDK ์ค์ Amazon Corretto๋ฅผ ์ฐ๊ธฐ๋ก ํ๋ค.
DB์์ ๋งคํ์ ์ํ ๊ธฐ์ ์๋ MyBatis์ JPA๊ฐ ์๋๋ฐ, ORM ๊ธฐ์ ์ธ JPA๋ฅผ ์ฐ๊ธฐ๋ก ํ๋ค. ์ฐ๊ด ๊ด๊ณ์ ์ต์ ์ค์ ๋ฑ์ ์ ๊ฒฝ์จ์ผํ ๊ฒ์ด ๋ง์ง๋ง, ๋ณ๋์ ์ฟผ๋ฆฌ ์์ฑ์์ด ํธํ๊ฒ ๊ธฐ๋ฅ ๊ตฌํ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ต๊ทผ ํ๋ก์ ํธ๊น์ง JPA๋ฅผ ์ฌ์ฉํ์ด์ ์ต์ํ๊ธฐ๋ ํ๋ค.