ํ์คํ๋ ์์ํฌ ์ฌํํํ์ด์ง FrontEnd
โป ๋ณธ ํ๋ก์ ํธ๋ ๊ธฐ์กด JSP ๋ทฐ ๋ฐฉ์์์ ๋ฒ์ด๋ BackEnd์ FrontEnd๋ฅผ ๋ถ๋ฆฌํ๊ธฐ ์ํ ์์ ํ์ผ๋ก ์ฐธ๊ณ ๋ง ํ์๊ธธ ๋ฐ๋๋๋ค.
ํ๋ก์ ํธ ์๊ฐ
ํ๋ก์ ํธ ๊ฐ์
๋จ์ ํํ์ด์ง ๊ธฐ๋ฅ ๊ตฌํ ์ ํ์์ ์ธ ๋ถ๋ถ๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก ๊ฒฝ๋ํ ๋ ์คํํ๊ฒฝ ์ ๊ณต
๋ฉ์ธ ํ์ด์ง, ์ฌ์ฉ์ ๊ด๋ฆฌ, ๊ณต์ง์ฌํญ ๊ด๋ฆฌ, ๊ฒ์ํ ๊ด๋ฆฌ, ์๋ด ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณต
๋ฉ๋ด ๊ตฌ์ฑ
์ฐธ๊ณ ํ๋ฉด ๋ฐ ๋ฉ๋ด ์ค๋ช
๋ฉ์ธ ํ๋ฉด
- ํํ์ด์ง ํ ํ๋ฆฟ์ ๊ด๋ฆฌ์๋ง ๋ก๊ทธ์ธ ๊ฐ๋ฅํ๋ค๋ ์ ์ ๋ก ๊ตฌ์ฑ๋์์ผ๋ฉฐ ์ต์ด ๊ด๋ฆฌ์ ๊ณ์ ์ค์ ์ [ ๋ก๊ทธ์ธ๊ณ์ : admin , ๋ก๊ทธ์ธ์ํธ : 1 ] ๋ก ์ค์ ๋์ด ์๋ค.
- ๊ด๋ฆฌ์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ ๊ธฐ๋ฅ์ ์ถ๊ฐ ๊ตฌ์ฑ๋์ด ์์ง ์์ผ๋ฏ๋ก ํ์ ์ DB๋ฅผ ํตํด ์ง์ ๋ณ๊ฒฝํ๋ค. (์ํธ ์ ํ ๊ฐ์ ๊ณตํต์ปดํฌ๋ํธ์ ์ํธํ ๋ก์ง์ ๋ฐ๋ผ ์์ฑํด์ผ ํจ)
- ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ด๋ ์์ ๋ฉ๋ด๋ฅผ ์ค๋ฌด์ ์ผ๋ก ์ถ๊ฐ ์ปค์คํฐ๋ง์ด์งํ์ฌ ํ์ฉํ ์ ์๋ค.
์ฌ์ดํธ ์๊ฐ ํ๋ฉด
- ํด๋น ํ๋ฉด ๋ฐ ์ธ๋ถ ๋ฉ๋ด ํ๋ฉด์ ๊ตฌ์ฑ์ ์ํ ์ํํ์ด์ง๊ฐ ์ ๊ณต๋๋ฉฐ ๊ธฐ๋ฅ์ ๊ตฌํ๋์ง ์์ ์ํ์ ๋๋ค.
- ์ธ๋ถ๋ฉ๋ด : ์ฌ์ดํธ์๊ฐ, ์ฐํ, ์กฐ์ง์๊ฐ, ์ฐพ์์ค์๋ ๊ธธ
- ๊ธฐ๋ฅ์ค๋ช : ์์ ๋ฉ๋ด์ ํด๋นํ๋ ํญ๋ชฉ์ผ๋ก ์ํ ํ์ด์ง ํํ๋ก ๋งํฌ์ JSPํ์ผ์ด ์กด์ฌํ๋ค.
- ํ์ฉ๋ฐฉ๋ฒ : ๊ฐ ์ํ ํ์ด์ง์ ๋ํ ์ฝํ ์ธ ๋ฅผ ์๋ก ๊ตฌ์ฑํ์ฌ ํ์ฉํ ์ ์๋ค.
์ ๋ณด๋ง๋น ํ๋ฉด
- ํด๋น ํ๋ฉด ๋ฐ ์ธ๋ถ ๋ฉ๋ด ํ๋ฉด์ ๊ตฌ์ฑ์ ์ํ ์ํํ์ด์ง๊ฐ ์ ๊ณต๋๋ฉฐ ๊ธฐ๋ฅ์ ๊ตฌํ๋์ง ์์ ์ํ์ ๋๋ค.
- ์ธ๋ถ๋ฉ๋ด : ์ฃผ์์ฌ์ ์๊ฐ, ๋ํ์๋น์ค ์๊ฐ
- ๊ธฐ๋ฅ์ค๋ช : ์์ ๋ฉ๋ด์ ํด๋นํ๋ ํญ๋ชฉ์ผ๋ก ์ํ ํ์ด์ง ํํ๋ก ์กด์ฌํ๋ค.
- ํ์ฉ๋ฐฉ๋ฒ : ๊ฐ ์ํ ํ์ด์ง์ ๋ํ ์ฝํ ์ธ ๋ฅผ ์๋ก ๊ตฌ์ฑํ์ฌ ํ์ฉํ ์ ์๋ค.
๊ณ ๊ฐ์ง์ ํ๋ฉด
- ํด๋น ํ๋ฉด ๋ฐ ์ธ๋ถ ๋ฉ๋ด ํ๋ฉด์ ๊ตฌ์ฑ์ ์ํ ์ํํ์ด์ง๊ฐ ์ ๊ณต๋๋ฉฐ ๊ธฐ๋ฅ์ ๊ตฌํ๋์ง ์์ ์ํ์ ๋๋ค.
- ์ธ๋ถ๋ฉ๋ด : ์๋ฃ์ค, ๋ฌป๊ณ ๋ตํ๊ธฐ, ์๋น์ค์ ์ฒญ
- ๊ธฐ๋ฅ์ค๋ช : ์์ ๋ฉ๋ด์ ํด๋นํ๋ ํญ๋ชฉ์ผ๋ก ์ํ ํ์ด์ง ํํ๋ก ์กด์ฌํ๋ค.
- ํ์ฉ๋ฐฉ๋ฒ : ๊ฐ ์ํ ํ์ด์ง์ ๊ธฐ๋ฅ์ ์ถ๊ฐ ๊ฐ๋ฐ ํ ๊ตฌ์ฑํ์ฌ ํ์ฉํ ์ ์๋ค.
์๋ฆผ๋ง๋น ํ๋ฉด
- ์ธ๋ถ๋ฉ๋ด : ์ค๋์ํ์ฌ, ๊ธ์ฃผ์ํ์ฌ, ๊ณต์ง์ฌํญ, ์ฌ์ดํธ๊ฐค๋ฌ๋ฆฌ
- ๊ธฐ๋ฅ์ค๋ช : ๊ณตํต์ปดํฌ๋ํธ ์ผ์ ๊ด๋ฆฌ(๋ถ์์ผ์ )์ ๊ฒ์ํ ๊ธฐ๋ฅ์ ์ปค์คํฐ๋ง์ด์งํ์ฌ ์ฌ์ฉํ๋ค.
- ํ์ฉ๋ฐฉ๋ฒ : ๊ด๋ฆฌ์๊ฐ ๋ฑ๋กํ ์ผ์ ์ ๋ณด๋ฅผ ์กฐํํ๊ฑฐ๋ ๊ฒ์๋ฌผ์ ์กฐํํ ์ ์๋ค.
์ฌ์ดํธ๊ด๋ฆฌ ํ๋ฉด
- ์ธ๋ถ๋ฉ๋ด : ์ผ์ ๊ด๋ฆฌ, ๊ฒ์ํ์์ฑ๊ด๋ฆฌ, ๊ฒ์ํ์ฌ์ฉ๊ด๋ฆฌ, ๊ณต์ง์ฌํญ๊ด๋ฆฌ, ์ฌ์ดํธ๊ฐค๋ฌ๋ฆฌ๊ด๋ฆฌ
- ๊ธฐ๋ฅ์ค๋ช : ๊ณตํต์ปดํฌ๋ํธ ์ผ์ ๊ด๋ฆฌ(๋ถ์์ผ์ )๊ณผ ๊ฒ์ํ ๊ธฐ๋ฅ์ ์ปค์คํฐ๋ง์ด์งํ์ฌ ์ฌ์ฉํ๋ค.
- ํ์ฉ๋ฐฉ๋ฒ : ๊ด๋ฆฌ์๋ก ๋ก๊ทธ์ธ ํ ํ ์ผ์ ์ ๋ณด๋ฅผ ๋ฑ๋กํ๊ฑฐ๋ ๊ฒ์๋ฌผ์ ๋ฑ๋กํ ์ ์๋ค. (๊ฒ์ํ ์ค์ ๊ฐ๋ฅ)
ํ๊ฒฝ ์ค์
ํ๋ก์ ํธ์์ ์ฌ์ฉ๋ ํ๊ฒฝ ํ๋ก๊ทธ๋จ ์ ๋ณด๋ ๋ค์๊ณผ ๊ฐ๋ค.
ํ๋ก๊ทธ๋จ ๋ช | ๋ฒ์ ๋ช |
---|---|
Node.js | v18.12.0 |
NPM | v8.19.2 |
BackEnd ๊ตฌ๋
์ฌํ ํํ์ด์ง Backend ์์ค๋ฅผ ๋ฐ์ ๊ตฌ๋ํ๋ค.
FrontEnd ๊ตฌ๋
์๋ 1 ~ 3์ ๊ณผ์ ์ ๋ฐ๋ผ์ ์งํํ๋ค.
1. ํ๋ก์ ํธ์ ์์ฑ
Git์์ ๋ณต์ ํ์ฌ ์ค์น ์ 1-1. ์ ์ฐธ๊ณ ํ๋ค.
1-1. Git์์ ํ๋ก์ ํธ ๋ณต์ ๋ฐ ๋ชจ๋ ์ค์น
Git์์ clone ํ๋ค.
# ํ๋ก์ ํธ ์ ์ฅ์๋ฅผ ๋ก์ปฌ๋ก ๋ณต์
git clone https://github.com/[๊ณ์ ๋ช
]/egovframe-template-simple-react.git
# ๋ณต์ ๋ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ๋ก ์ด๋
cd egovframe-template-simple-react
# node modules๋ฅผ ์ค์นํด ์ค๋ค.
npm install
2. ๋ฐฑ์๋ ํ๋ก์ ํธ ์ค์
๊ตฌ๋๋ BackEnd ์๋ฒ์ URL์ ๋ณธ ์ดํ๋ฆฌ์ผ์ด์ ์ .env.development ํ์ผ์ REACT_APP_EGOV_CONTEXT_URL์ ์ค์ ํด ์ค๋ค. (๋จ, ๊ฐ๋ฐํ๊ฒฝ์์๋ ์ฌ์ฉํ๋ ํ๊ฒฝ๋ณ์ ์ ๋ณด๋ .env.development, build ์ ์ฌ์ฉํ๋ ํ๊ฒฝ๋ณ์๋ .env.production ์ ๊ธฐ์ ํด ์ค๋ค.)
# .env.development ์์
REACT_APP_EGOV_CONTEXT_URL=localhost:8080
3. ํ๋ก์ ํธ ์คํ ๋ฐ ๊ธฐํ ๋ช ๋ น์ด
# ํ
์คํธ์ฉ ๋ฆฌ์กํธ ์๋ฒ๋ฅผ ์คํํ ๋ ์๋ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ค.
npm start
์ฐธ์กฐ
๋ณด๋ค ์์ธํ ์ค๋ช ์ ์๋์ ๋ฌธ์๋ฅผ ํ์ธํ๋ค.