πμ μκΆ μλ λ¬΄λ£ μ μμ± πμ νκ΅μ΄ λ²μμΌλ‘ λ§λ보μΈμ! νλ‘μ νΈ κ΅¬ν λ² λ₯΄ν¬ μ νκ΅μ΄ λ²μ νλ«νΌβ¨
λ 리λμ€( 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


