Skip to content

devyeony/project-jikji

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

316 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ν”„λ‘œμ νŠΈ 직지 (Project Jikji)

Netlify Status GitHub

πŸ“šμ €μž‘κΆŒ μ—†λŠ” 무료 μ „μžμ±…πŸ“–μ„ ν•œκ΅­μ–΄ λ²ˆμ—­μœΌλ‘œ λ§Œλ‚˜λ³΄μ„Έμš”! ν”„λ‘œμ νŠΈ ꡬ텐베λ₯΄ν¬ 의 ν•œκ΅­μ–΄ λ²ˆμ—­ ν”Œλž«νΌβœ¨

❀️ Member

더 λ¦¬λ”μŠ€( The Leaders / The Readers ) νŒ€μ›λ“€

Backend, Frontend, DB, Server Frontend, UX/UI
김연희(@devyeony) κ°•λ―Όμ„œ(@Minseo-Gang)

🀝 Collaboration Flow

  • 더 λ¦¬λ”μŠ€μ˜ Wiki
    • μŠ€ν”„λ¦°νŠΈ κ³Όμ •, νŒ€ κ·œμΉ™μ„ κΈ°λ‘ν•˜λŠ” ν”„λ‘œμ νŠΈ μ•„μΉ΄μ΄λΈŒ
    • ν”„λ‘œμ νŠΈμ™€ κ΄€λ ¨ν•œ 상세 정보 및 μ„€λͺ… 기술

πŸ“š Tech Stack

[κΈ°μˆ μŠ€νƒ μ‹œκ°ν™” 이미지]

βš™οΈ Usage

λ¨Όμ € Repositoryλ₯Ό cloneν•˜κ³ , ν”„λ‘œμ νŠΈ 루트 디렉토리인 project-jikji ν΄λ”λ‘œ μ΄λ™ν•©λ‹ˆλ‹€.

Backend

1) Profile별 application-common.yml 파일 μž‘μ„±

  • ν”„λ‘œμ νŠΈ 루트 λ””λ ‰ν† λ¦¬μ—μ„œ μ•„λž˜μ˜ λͺ…령을 μž…λ ₯ν•˜μ—¬ 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 토큰 인증을 μœ„ν•œ λΉ„λ°€ν‚€}

2) 각 λͺ¨λ“ˆμ˜ Profile별 포트번호 μ„€μ •

  • ν”„λ‘œμ νŠΈ λ‚΄μ—μ„œ 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

3) ν”„λ‘œμ νŠΈ λΉŒλ“œ

  • μ•„λž˜μ˜ λͺ…령을 μž…λ ₯ν•˜μ—¬ gradlew νŒŒμΌμ— μ‹€ν–‰ κΆŒν•œμ„ λΆ€μ—¬ν•˜κ³  λΉŒλ“œν•©λ‹ˆλ‹€.
$ chmod +x ./gradlew
$ ./gradlew build

4) jikji-web λͺ¨λ“ˆ μ‹€ν–‰

  • μ•„λž˜μ˜ λͺ…λ ΉμœΌλ‘œ 각각의 ν™˜κ²½μ— 맞게 μ‹€ν–‰ν•©λ‹ˆλ‹€.
$ 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

5) jikji-batch λͺ¨λ“ˆ μ‹€ν–‰

  • μ•„λž˜μ˜ λͺ…λ ΉμœΌλ‘œ 각각의 ν™˜κ²½μ— 맞게 μ‹€ν–‰ν•©λ‹ˆλ‹€.
$ 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

Frontend

1) .env 파일 μž‘μ„±

  • ν”„λ‘œμ νŠΈ 루트 λ””λ ‰ν† λ¦¬μ—μ„œ μ•„λž˜μ˜ λͺ…령을 μž…λ ₯ν•˜μ—¬ 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}

2) ν”„λ‘œμ νŠΈ μ‹€ν–‰

  • μ•„λž˜μ˜ λͺ…λ ΉμœΌλ‘œ 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

About

πŸ“šμ €μž‘κΆŒ μ—†λŠ” 무료 μ „μžμ±…πŸ“–μ„ ν•œκ΅­μ–΄ λ²ˆμ—­μœΌλ‘œ λ§Œλ‚˜λ³΄μ„Έμš”! ν”„λ‘œμ νŠΈ ꡬ텐베λ₯΄ν¬μ˜ ν•œκ΅­μ–΄ λ²ˆμ—­ ν”Œλž«νΌβœ¨

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors