Requirement - NuBiFoRMs/order-backend GitHub Wiki
๊ณ ๊ฐ, ์ฃผ๋ฌธ๊ด๋ฆฌ RestFul Back-End API ๊ฐ๋ฐ๊ณผ์
โ ์๊ตฌ ์ฌํญ
-
ํด๋ผ์ด์ธํธ(ios, android, web app)์์ ์ฌ์ฉํ ๋ค์ API๋ฅผ ๊ฐ๋ฐํ์ธ์.
- ๋ค์ ๊ฐ์ฒด์ ์์ฑ์ ์ฐธ๊ณ
ํ์์์ฑ
์์ฑ ๊ธธ์ด ํ์์ฌ๋ถ ๊ฐ์์ ์ฝ ์ด๋ฆ 20 ํ์ ํ๊ธ, ์๋ฌธ ๋์๋ฌธ์๋ง ํ์ฉ ๋ณ๋ช 30 ํ์ ์๋ฌธ ์๋ฌธ์๋ง ํ์ฉ ๋น๋ฐ๋ฒํธ ์ต์ 10์ ์ด์ ํ์ ์๋ฌธ ๋๋ฌธ์, ์๋ฌธ ์๋ฌธ์, ํน์ ๋ฌธ์, ์ซ์ ๊ฐ 1๊ฐ ์ด์์ฉ ํฌํจ ์ ํ๋ฒํธ 20 ํ์ ์ซ์ ์ด๋ฉ์ผ 100 ํ์ ์ด๋ฉ์ผ ํ์ ์ฑ๋ณ ์ ํ ์ฃผ๋ฌธ์์ฑ
์์ฑ ๊ธธ์ด ํ์์ฌ๋ถ ๊ฐ์์ ์ฝ ์ฃผ๋ฌธ๋ฒํธ 12 ํ์ ์ค๋ณต์ด ๋ถ๊ฐ๋ฅํ ์์์ ์๋ฌธ ๋๋ฌธ์, ์ซ์ ์กฐํฉ ์ ํ๋ช 100 ํ์ emoji ๋ฅผ ํฌํจํ ๋ชจ๋ ๋ฌธ์ ๊ฒฐ์ ์ผ์ Datetime ํ์ Timezone ์ ๊ณ ๋ คํ ์๊ฐ ์ ๋ณด - ํ์ ๊ฐ์
- ํ์ ๋ก๊ทธ์ธ(์ธ์ฆ)
- ํ์ ๋ก๊ทธ์์
- ๋จ์ผ ํ์ ์์ธ ์ ๋ณด ์กฐํ
- ๋จ์ผ ํ์์ ์ฃผ๋ฌธ ๋ชฉ๋ก ์กฐํ
- ์ฌ๋ฌ ํ์ ๋ชฉ๋ก ์กฐํ :
- ํ์ด์ง๋ค์ด์ ์ผ๋ก ์ผ์ ๋จ์๋ก ์กฐํํฉ๋๋ค.
- ์ด๋ฆ, ์ด๋ฉ์ผ์ ์ด์ฉํ์ฌ ๊ฒ์ ๊ธฐ๋ฅ์ด ํ์ํฉ๋๋ค.
- ๊ฐ ํ์์ ๋ง์ง๋ง ์ฃผ๋ฌธ ์ ๋ณด
-
API๋ฅผ ์ฝ๊ฒ ์ดํดํ ์ ์๋ ๋ฌธ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
-
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ MySQL์ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ๊ฐ์ ํฉ๋๋ค.
- MySQL ์์ง์ innodb๋ก ๋์ด ์์ต๋๋ค.
- MySQL์ ์ฐ๊ธฐ ์ ์ฉ ์๋ฒ์ ์ฝ๊ธฐ ์ ์ฉ ์๋ฒ๋ก replication ์ค์ ์ด ๋์ด ์์ต๋๋ค.
- MySQL์ ๊ตฌ์ฑํ ํ์๋ ์์ต๋๋ค.
-
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ์ค๊ณ๋ ํ์ ์์ฑ์ ์ถฉ์กฑํ๋ค๋ฉด ์์ ๋กญ๊ฒ ํ์๋ฉด ๋ฉ๋๋ค.
-
ํ ์ด๋ธ ์์ฑ ์ฟผ๋ฆฌ๋ฌธ๋ ์์ค์ฝ๋์ ํฌํจํด์ ์ ์ถํด ์ฃผ์ธ์.
-
์์ ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ์คํ์์ค ์ํํธ์จ์ด ์ฌ์ฉ๋ ๊ฐ๋ฅํฉ๋๋ค.
-
์ ํญ๋ชฉ์ ๋ชจ๋ ๊ฐ๋ฐํ ํ์๊ฐ ์์ต๋๋ค. ๊ฐ๋ฐ ๊ฐ๋ฅํ ๋ถ๋ถ๊น์ง ์ํํ ํ ์ ์ถํด ์ฃผ์ธ์.
-
์์ค์ฝ๋๋ github, bitbucket, gitlab ๋ฑ์ ๋งํฌ๋ก ์ ์ถํด ์ฃผ์ธ์.
Java ๊ณผ์
- ์ ์๊ตฌ ์ฌํญ์ java์ Spring-boot๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐํด ์ฃผ์ธ์.
- Spring-boot 2.3 ์ด์ ์ด์ฉํ์ฌ ์ฃผ์ธ์.
- Gradle์ ์ฌ์ฉํ์ฌ ๋น๋ ์คํฌ๋ฆฝํธ ์์ฑํด ์ฃผ์ธ์.
- API๋ฌธ์๋ Swagger-ui๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ณตํด ์ฃผ์ธ์.
- ์ด์ธ ํ๋ ์์ํฌ ์ ํ์ ์์ ๋กญ๊ฒ ํ์๋ฉด ๋ฉ๋๋ค.