๐์ ์๊ถ ์๋ ๋ฌด๋ฃ ์ ์์ฑ ๐์ ํ๊ตญ์ด ๋ฒ์ญ์ผ๋ก ๋ง๋๋ณด์ธ์! ํ๋ก์ ํธ ๊ตฌํ ๋ฒ ๋ฅดํฌ ์ ํ๊ตญ์ด ๋ฒ์ญ ํ๋ซํผโจ
๋ ๋ฆฌ๋์ค( The Leaders / The Readers ) ํ์๋ค
| Backend, Frontend, DB, Server | Frontend, UX/UI |
|---|---|
![]() |
![]() |
| ๊น์ฐํฌ(@devyeony) | ๊ฐ๋ฏผ์(@Minseo-Gang) |
- ๋ ๋ฆฌ๋์ค์ Wiki
- ์คํ๋ฆฐํธ ๊ณผ์ , ํ ๊ท์น์ ๊ธฐ๋กํ๋ ํ๋ก์ ํธ ์์นด์ด๋ธ
- ํ๋ก์ ํธ์ ๊ด๋ จํ ์์ธ ์ ๋ณด ๋ฐ ์ค๋ช ๊ธฐ์
[๊ธฐ์ ์คํ ์๊ฐํ ์ด๋ฏธ์ง]
๋จผ์ Repository๋ฅผ cloneํ๊ณ , ํ๋ก์ ํธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ธ project-jikji ํด๋๋ก ์ด๋ํฉ๋๋ค.
- ํ๋ก์ ํธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์์ ์๋์ ๋ช ๋ น์ ์ ๋ ฅํ์ฌ resources-profiles ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค.
$ cd backend
$ mkdir src/main/resources-profiles
- resources-profiles ๋๋ ํ ๋ฆฌ ์์ ๋ก์ปฌ/๊ฐ๋ฐ/์ด์ ํ๊ฒฝ์์์ ํ๊ฒฝ๋ณ์๋ฅผ ๊ด๋ฆฌํ๋ application-common.yml ํ์ผ์ ์์ฑํ ๋ค ๊ด๋ จ ๋ด์ฉ์ ์ ๋ ฅํ๊ณ ์ ์ฅํฉ๋๋ค. ์ด ํ์ผ๋ค์ ํ๋ก์ ํธ ๋ด์ ์๋ ๊ฐ ๋ชจ๋์์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
$ nano src/main/resources-profiles/application-local-common.yml
$ nano src/main/resources-profiles/application-dev-common.yml
$ nano src/main/resources-profiles/application-prod-common.yml
spring:
datasource:
driver-class-name: org.mariadb.jdbc.Driver
url: {๋ก์ปฌ/๊ฐ๋ฐ/์ด์ ํ๊ฒฝ DB์ URL}
username: {๋ก์ปฌ/๊ฐ๋ฐ/์ด์ ํ๊ฒฝ DB์ ์์ด๋}
password: {๋ก์ปฌ/๊ฐ๋ฐ/์ด์ ํ๊ฒฝ DB์ ๋น๋ฐ๋ฒํธ}
jpa:
database-platform: org.hibernate.dialect.MariaDBDialect
jwt:
secret: {JWT ํ ํฐ ์ธ์ฆ์ ์ํ ๋น๋ฐํค}
- ํ๋ก์ ํธ ๋ด์์ main ํจ์๋ฅผ ํตํด ์คํ๋๋ application ๊ด๋ จ ๋ชจ๋์ jikji-web๊ณผ jikji-batch์ ๋๋ค.
- ๊ฐ ๋ชจ๋์ ๋ก์ปฌ/๊ฐ๋ฐ/์ด์ ํ๊ฒฝ์์ ์ฐ์ผ ํฌํธ๋ฒํธ๋ ํด๋น ๋ชจ๋์ src/main/resources ๋๋ ํ ๋ฆฌ ๋ด์ ์๋ application-local.yml, application-dev.yml, application-prod.yml์์ ์ ํ ์ ์์ต๋๋ค.
- ํ์ฌ ์ค์ ๋์ด ์๋ ๊ฐ ๋ชจ๋์ Profile๋ณ ํฌํธ๋ฒํธ
- jikji-web
- local : 7000
- dev : 7001
- prod : 7002
- jikji-batch
- local : 9000
- dev : 9001
- prod : 9002
- jikji-web
- ์๋์ ๋ช ๋ น์ ์ ๋ ฅํ์ฌ gradlew ํ์ผ์ ์คํ ๊ถํ์ ๋ถ์ฌํ๊ณ ๋น๋ํฉ๋๋ค.
$ chmod +x ./gradlew
$ ./gradlew build
- ์๋์ ๋ช ๋ น์ผ๋ก ๊ฐ๊ฐ์ ํ๊ฒฝ์ ๋ง๊ฒ ์คํํฉ๋๋ค.
$ JIKJI_WEB_JAR=$(ls -tr build/libs/jikji-web-*.jar | tail -n 1)
$ java -jar -Dspring.profiles.active=local $JIKJI_WEB_JAR
$ java -jar -Dspring.profiles.active=dev $JIKJI_WEB_JAR
$ java -jar -Dspring.profiles.active=prod $JIKJI_WEB_JAR
- ์๋์ ๋ช ๋ น์ผ๋ก ๊ฐ๊ฐ์ ํ๊ฒฝ์ ๋ง๊ฒ ์คํํฉ๋๋ค.
$ JIKJI_BATCH_JAR=$(ls -tr build/libs/jikji-batch-*.jar | tail -n 1)
$ java -jar -Dspring.profiles.active=local $JIKJI_BATCH_JAR
$ java -jar -Dspring.profiles.active=dev $JIKJI_BATCH_JAR
$ java -jar -Dspring.profiles.active=prod $JIKJI_BATCH_JAR
- ํ๋ก์ ํธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์์ ์๋์ ๋ช ๋ น์ ์ ๋ ฅํ์ฌ env ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค.
$ cd frontend
$ mkdir env
- env ๋๋ ํ ๋ฆฌ ์์ ๋ก์ปฌ/๊ฐ๋ฐ/์ด์ ํ๊ฒฝ์์์ ํ๊ฒฝ๋ณ์๋ฅผ ๊ด๋ฆฌํ๋ .env ํ์ผ์ ์์ฑํ ๋ค ๊ด๋ จ ๋ด์ฉ์ ์ ๋ ฅํ๊ณ ์ ์ฅํฉ๋๋ค.
$ nano env/.env.local
$ nano env/.env.development
$ nano env/.env.production
PORT={๋ก์ปฌ/๊ฐ๋ฐ/์ด์ ํ๊ฒฝ์์์ ํฌํธ๋ฒํธ}
REACT_APP_URL={๋ก์ปฌ/๊ฐ๋ฐ/์ด์ ํ๊ฒฝ์์์ ํ๋ก ํธ์๋ URL}
REACT_APP_API_URL={๋ก์ปฌ/๊ฐ๋ฐ/์ด์ ํ๊ฒฝ์์์ ๋ฐฑ์๋ URL}
REACT_APP_GOOGLE_KEY={๊ตฌ๊ธ OAuth Key}
REACT_APP_KAKAO_KEY={์นด์นด์ค OAuth Key}
- ์๋์ ๋ช ๋ น์ผ๋ก package.json ํ์ผ์ ์์กด์ฑ์ ์ค์นํฉ๋๋ค.
$ npm install
- ์๋์ ๋ช ๋ น์ผ๋ก ๊ฐ๊ฐ์ ํ๊ฒฝ์ ๋ง๊ฒ ์คํํฉ๋๋ค.
$ npm run start:local
$ npm run start:dev
$ npm run start:prod
- ์๋์ ๋ช ๋ น์ผ๋ก ๊ฐ๊ฐ์ ํ๊ฒฝ์ ๋ง๊ฒ ๋น๋ํฉ๋๋ค.
$ npm run build:local
$ npm run build:dev
$ npm run build:prod


