Skip to content

KNUCD/frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

61 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

[λŒ€κ΅¬λ₯Ό λΉ›λ‚΄λŠ” SW해컀톀] KNUCD

νŠΉλ³„μ„Έμ…˜ - μ£Όλ―Όμ°Έμ—¬ 방법(μˆ˜λ‹¨)λΆ€μ‘±

1. κ°œμš”

ν•€ν”Œλ ˆμΈ : 핀을 꽂아 μ˜κ²¬μ„ λ§ν•΄μš”

지도에 핀을 꽂아 민원을 μž‘μ„±ν•˜κ³  μ˜κ²¬μ„ κ³΅μœ ν•˜λŠ” κ°„νŽΈ 민원 관리 μ„œλΉ„μŠ€ μž…λ‹ˆλ‹€.

2. 주제

κΈ°μ‘΄ 민원 관리 μ‹œμŠ€ν…œμ—μ„œ μ œν•œμ μΈ 민원 쑰회 방식 및 의견 곡유 λΆˆκ°€ 문제λ₯Ό ν•΄κ²°ν•¨μœΌλ‘œμ¨ μ£Όλ―Ό μ°Έμ—¬λ₯Ό μž₯λ €ν•˜κΈ° μœ„ν•œ β€œν•€ν”Œλ ˆμΈβ€ μ„œλΉ„μŠ€λ₯Ό μ œμ•ˆν•©λ‹ˆλ‹€.

3. ν”„λ‘œμ νŠΈ λͺ©μ  및 λ°°κ²½

μ‹œλ―Όλ“€μ€ 기쑴의 μ˜€ν”„λΌμΈ 민원 관리 방식에 λŒ€ν•˜μ—¬ κΈ΄ 민원 μ ‘μˆ˜ μ‹œκ°„, λΆˆμΉœμ ˆν•œ μ‘λŒ€, 그리고 λ³΅μž‘ν•œ 절차 λ“± λ§Žμ€ λΆˆλ§Œμ„ κ°€μ§€κ³  μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ•Œλ¬Έμ— 민원 관리 μ‹œμŠ€ν…œμ˜ λ””μ§€ν„Έν™”λŠ” 큰 변화와 편리λ₯Ό κ°€μ Έμ™”μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ μ‚¬λžŒλ“€μ€ 더 이상 λ™μ‚¬λ¬΄μ†Œμ—μ„œ 쀄을 μ„œμ„œ 민원을 μ ‘μˆ˜ν•  ν•„μš”κ°€ μ—†μ–΄μ‘Œκ³ , λ³΅μž‘ν•œ 민원 μ ‘μˆ˜ μ ˆμ°¨λŠ” κ°„μ†Œν™” λ˜μ—ˆλŠ” 것을 톡해 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. 이와 같은 μ‹€μ •μ—μ„œ μŠ€λ§ˆνŠΈμ‹œλŒ€μ˜ μ£Όλ―Όμ°Έμ—¬ μ¦λŒ€λ₯Ό μœ„ν•œ μ—¬λŸ¬κ°€μ§€ μ‹œλ„λ“€μ΄ κ³„μ†ν•΄μ„œ λͺ¨μƒ‰λ˜μ–΄ μ™”μŠ΅λ‹ˆλ‹€. [κ΄€λ ¨ λ…Όλ¬Έ]

κ·Έ 쀑 λŒ€ν‘œμ μΈ 예둜 λŒ€κ΅¬ κ΄‘μ—­μ‹œμ—μ„œ μš΄μ˜ν•˜λŠ” κ²Œμ‹œνŒ ν˜•νƒœμ˜ 민원관리 μ‹œμŠ€ν…œ β€˜λ‘λ“œλ¦¬μ†Œβ€™ κ°€ μžˆμŠ΅λ‹ˆλ‹€. λ‘λ“œλ¦¬μ†ŒλŠ” 기쑴의 민원 μ ‘μˆ˜ κ³Όμ •μ—μ„œ λ³΅μž‘ν•œ 인증 절차λ₯Ό μƒλž΅ν•˜μ—¬ μ‹€μ œλ‘œ λ§Žμ€ μ‹œλ―Όλ“€μ΄ μ΄μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ ν˜„μž¬ β€˜λ‘λ“œλ¦¬μ†Œβ€™ ν™ˆνŽ˜μ΄μ§€λŠ” λͺ‡ κ°€μ§€ κ°œμ„ μ μ΄ ν•„μš”ν•΄ λ³΄μž…λ‹ˆλ‹€. 저희 νŒ€μ΄ λ°œκ²¬ν•œ λ¬Έμ œλŠ” μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

첫 번째둜 μ§€μ—­μ˜ 문제λ₯Ό μ£Όλ―Όλ“€κ³Ό κ³΅μœ ν•˜λŠ” 방식이 νš¨κ³Όμ μ΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

민원 관리 μ°½κ΅¬μ—μ„œλŠ” μ§€μ—­μ˜ 문제λ₯Ό ν•¨κ»˜ μž‘μ„±ν•˜λŠ” 곡간인 만큼 지역주민듀이 νŽΈλ¦¬ν•˜κ³  μ§κ΄€μ μœΌλ‘œ 민원을 μ‘°νšŒν•  수 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ 기쑴의 μ‹œμŠ€ν…œμ€ 일뢀 λ‹΅λ³€λœ λ―Όμ›λ§Œμ„ κ³΅κ°œν•˜κ³  있고 λ³„λ„μ˜ μΉ΄ν…Œκ³ λ¦¬κ°€ μ‘΄μž¬ν•˜μ§€ μ•Šμ•„ νŠΉμ • 민원을 μ‘°νšŒν•˜λŠ” 것이 μƒλ‹Ήνžˆ μ–΄λ ΅μŠ΅λ‹ˆλ‹€.

특히 μœ„μΉ˜ μ •λ³΄λ‚˜ 이미지가 ν¬ν•¨λœ λ―Όμ›μ˜ 경우 μ‹œκ°μ μœΌλ‘œ 확인할 수 μžˆλŠ” μˆ˜λ‹¨μ΄ μ œκ³΅λ˜μ–΄μ•Ό ν•˜λŠ”λ° ν˜„μž¬ β€˜λ‘λ“œλ¦¬μ†Œβ€™ μ—μ„œλŠ” 이λ₯Ό 확인할 수 μžˆλŠ” κΈ°λŠ₯이 μ—†μŠ΅λ‹ˆλ‹€.

ν•„ν„°λ§μ˜ κ²½μš°μ—λ„ λ‹¨μˆœ ν…μŠ€νŠΈ 기반의 κ²€μƒ‰μ–΄λ§Œμ„ μ‘°νšŒν•  수 있기 λ•Œλ¬Έμ— 민원듀을 κ΅¬λΆ„ν•˜λŠ” κΈ°λŠ₯이 λΆ€μ‘±ν•˜λ‹€κ³  λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ ν•€ν”Œλ ˆμΈμ—μ„œλŠ” 기쑴의 민원 쑰회 방식을 κ°œμ„ ν•œ 효과적인 민원 관리 μ‹œμŠ€ν…œμ„ μ œκ³΅ν•˜κ³ μž ν•©λ‹ˆλ‹€.


두 번째둜 민원에 λŒ€ν•œ μ§€μ—­μ£Όλ―Όλ“€μ˜ μ˜κ²¬μ„ λ°˜μ˜ν•  수 μžˆλŠ” κΈ°λŠ₯이 λΆ€μž¬ν•©λ‹ˆλ‹€.

β€˜λ‘λ“œλ¦¬μ†Œβ€™ μ—μ„œλŠ” 일뢀 λ‹΅λ³€λœ λ―Όμ›λ§Œμ„ κ³΅κ°œν•  λΏλ”λŸ¬ μ‹€μ œ 민원에 λŒ€ν•΄μ„œ μ§€μ—­ 주민듀이 μ–Όλ§ˆλ‚˜ κ³΅κ°ν•˜κ³  μžˆλŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚Ό 수 μžˆλŠ” κΈ°λŠ₯이 λΆ€μž¬ν•©λ‹ˆλ‹€.

λ―Όμ›μ˜ 경우 보톡 개개인의 λ¬Έμ œλ³΄λ‹€λŠ” 곡곡의 문제인 κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€. 그렇기에 μ§€μ—­ 주민듀이 μ–΄λ–€ λ¬Έμ œμ— 더 κ³΅κ°ν•˜κ³  μžˆλŠ”μ§€λ₯Ό ν‘œμΆœν•  μˆ˜λ‹¨μ΄ λΆ€μ‘±ν•˜λ‹€λ©΄ 민원에 λŒ€ν•œ μ£Όλ―Ό 참여도가 λ–¨μ–΄μ§ˆ κ²ƒμž…λ‹ˆλ‹€.

λ”°λΌμ„œ ν•€ν”Œλ ˆμΈμ—μ„œλŠ” μ£Όλ―Όλ“€κ³Ό ν•¨κ»˜ μ§€μ—­ 문제λ₯Ό κ³΅μœ ν•˜κ³  해결책을 찾을 수 μžˆλŠ” μ†Œν†΅μ˜ μž₯을 ν˜•μ„±ν•˜κ³ μž ν•©λ‹ˆλ‹€.

4. κΈ°λŠ₯

KakaoTalk_Photo_2022-09-25-06-09-34 017

μΉ΄ν…Œκ³ λ¦¬λ₯Ό μ„ νƒν•˜κ³  지도에 핀을 찍어 민원 μž‘μ„±

ν˜„μž¬ 민원이 λ°œμƒν•œ μœ„μΉ˜λ₯Ό ν™•μΈν•˜κ³ , μ›ν•˜λŠ” μœ„μΉ˜μ— 핀을 찍어 민원 λ°œμƒμ§€λ₯Ό ν‘œμ‹œν•  수 μžˆμŠ΅λ‹ˆλ‹€.


μΉ΄ν…Œκ³ λ¦¬ 별 민원 μ‹ μ²­ ν˜„ν™© 쑰회

μ§€λ„μ—μ„œ 민원 λ‹€μˆ˜ λ°œμƒμ§€, λ‹€μˆ˜ λ°œμƒ μΉ΄ν…Œκ³ λ¦¬ λ“±μ˜ 민원 μ‹ μ²­ ν˜„ν™©μ„ ν•œλˆˆμ— 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

κ³΅κ°ν•˜λŠ” 민원에 μ’‹μ•„μš”/ν™”λ‚˜μš”/λ†€λΌμ›Œμš” 곡감 ν‘œν˜„

λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ μ œμ‹œν•œ 민원을 ν™•μΈν•˜κ³  곡감 및 해결책을 ν‘œν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 좔후에 λŒ“κΈ€ κΈ°λŠ₯도 μ—…λ°μ΄νŠΈ 될 μ˜ˆμ •μž…λ‹ˆλ‹€.

SNS ν˜•μ‹μ˜ 민원 리슀트 UI

기쑴의 λ”±λ”±ν•œ κ²Œμ‹œνŒ ν˜•μ‹μ˜ 리슀트 λŒ€μ‹  SNS ν˜•μ‹μ˜ 민원 리슀트λ₯Ό λ„μž…ν•˜μ—¬ μ Šμ€ μ„ΈλŒ€μ˜ μ ‘κ·Όμ„± 및 참여도λ₯Ό μ¦λŒ€μ‹œν‚΅λ‹ˆλ‹€.

KakaoTalk_Photo_2022-09-25-06-09-34 015


5. ν™œμš© λ°©μ•ˆκ³Ό κΈ°λŒ€ 효과

μœ„ 사진은 ν•€ν”Œλ ˆμΈ μ„œλΉ„μŠ€κ°€ ꢁ극적으둜 μ§€ν–₯ν•˜λŠ” 민원 μ‹œμŠ€ν…œ κ΅¬μ‘°μž…λ‹ˆλ‹€. 기쑴의 개개인과 μ§€λ°© μ •λΆ€ κ°„μ˜ μ†Œν†΅ κ΅¬μ‘°μ—μ„œ μ§€μ—­ μ‹œλ―Ό κ°„μ˜ 의견 ꡐλ₯˜κ°€ κ°€λŠ₯ν•œ ꡬ쑰둜 민원 관리 μ‹œμŠ€ν…œμ„ λ³€ν™”μ‹œν‚€κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

결과적으둜 μœ„μ—μ„œ μ œμ‹œν•œ κΈ°λŠ₯κ³Ό ν•¨κ»˜ μ•„λž˜μ™€ 같은 μ‚¬νšŒμ  효과λ₯Ό κΈ°λŒ€ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

  1. λ―Όμ›μ˜ λ°œμƒ 지역을 μ‹œκ°μ μœΌλ‘œ 확인할 수 있고 μΉ΄ν…Œκ³ λ¦¬ 별 필터링 κΈ°λŠ₯을 ν™œμš©ν•˜μ—¬ 이전보닀 νŽΈλ¦¬ν•˜κ²Œ μ§€μ—­μ˜ 문제λ₯Ό νŒŒμ•…ν•  수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.

  2. μ§€μ—­ μ‹œλ―Ό κ°„ 민원을 κ³΅μœ ν•˜κ³  μ˜κ²¬μ„ λ‚˜λˆ”μœΌλ‘œμ¨ μ£Όλ―Ό μ°Έμ—¬ ν™•λŒ€λ₯Ό 도λͺ¨ν•  수 있고 ν˜„μž¬ μ–΄λ–€ λ¬Έμ œκ°€ μ§€μ—­ μ£Όλ―Όλ“€μ˜ 곡감을 μ–»κ³  μžˆλŠ”μ§€ νŒŒμ•…ν•  수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.

  3. 쀑볡 민원 λ°œμƒμ„ 쀄여 μ§€μžμ²΄μ—μ„œ μ€‘λ³΅λœ 민원에 λŒ€ν•΄ 일일이 λ‹΅λ³€ ν•΄μ•Όν•˜λŠ” μˆ˜κ³ λ‘œμ›€μ„ 덜 수 μžˆμŠ΅λ‹ˆλ‹€.

6. ν”„λ‘œμ νŠΈμ— ν™œμš©λœ 기술

[ 기술 μŠ€νƒ ]

image

1. 배포 ν™˜κ²½ 및 CI/CD

ν•€ν”Œλ ˆμΈ μ„œλ²„λŠ” ν˜„μž¬ GCP(Goole Cloud Platform) 의 VM(Virtual Machine) 1λŒ€μ—μ„œ λ™μž‘μ€‘μž…λ‹ˆλ‹€.

λŸ°νƒ€μž„ ν™˜κ²½μ€ 도컀 μ»¨ν…Œμ΄λ„ˆλ₯Ό 톡해 κ΅¬μ„±ν•˜μ˜€μœΌλ©° VM μœ„ 크게 Jenkins Container, Spring Boot Container, Redis Container 의 μ„Έ κ°€μ§€ μ»¨ν…Œμ΄λ„ˆκ°€ λ™μž‘μ€‘μž…λ‹ˆλ‹€.

Redis Container 와 Spring Boot Container λŠ” ν•˜λ‚˜μ˜ bridge network λ₯Ό κ³΅μœ ν•˜κ³  있으며 μ™ΈλΆ€ λ„€νŠΈμ›Œν¬λ₯Ό 톡해 Database 와 Cloud Storage μ‚¬μ΄μ—μ„œ ν•„μš”ν•œ 데이터λ₯Ό κ΅ν™˜ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

배포 κ³Όμ •μ˜ 경우 μ•½ 5일 κ°„μ˜ 짧은 개발 κΈ°κ°„μ—μ„œ 배포 과정을 λ‹¨μˆœν™” ν•˜κΈ° μœ„ν•΄μ„œ Jenkins λ₯Ό ν™œμš©ν•œ μžλ™ 배포 ν™˜κ²½μ„ κ΅¬μΆ•ν–ˆμŠ΅λ‹ˆλ‹€. κ°œλ°œμžκ°€ GitHub 에 push ν•˜λ©΄ Webhook 을 μ  ν‚¨μŠ€μ—κ²Œ μ „λ‹¬ν•˜μ—¬ λΉŒλ“œλ₯Ό λ°œμƒμ‹œν‚€λŠ” λ°©μ‹μœΌλ‘œ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

μ‹œμŠ€ν…œ μ•„ν‚€ν…μ³λŠ” μ΄λ―Έμ§€λŠ” μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

2. Redis 자료ꡬ쑰λ₯Ό ν™œμš©ν•œ 캐싱 둜직 κ΅¬ν˜„

μ„œλΉ„μŠ€ κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­ 쀑 캐싱이 ν•„μš”ν•œ 뢀뢄이 두 κ°€μ§€ μ‘΄μž¬ν–ˆμŠ΅λ‹ˆλ‹€.

  1. ν•œ 민원 λ‹Ή ν•˜λ‚˜μ˜ 곡감이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

λ°μ΄ν„°λ² μ΄μŠ€λ‘œ λΆ€ν„° 민원에 곡감을 남긴 μ‚¬μš©μž λͺ©λ‘μ„ λΆˆλŸ¬μ™€ 동등성 비ꡐλ₯Ό ν•˜λŠ” 방식도 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ λ‹€λ₯Έ 데이터보닀 νŠΈλž˜ν”½μ΄ λ§Žμ„ κ²ƒμœΌλ‘œ μ˜ˆμƒλ˜λŠ” 곡감 κΈ°λŠ₯에 캐싱 λ‘œμ§μ„ μΆ”κ°€ν•˜μ—¬ 효율적인 데이터 κ΅ν™˜ 방식을 κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

Redisμ—μ„œ μ œκ³΅ν•˜λŠ” {ν‚€ : {ν•„λ“œ : κ°’}} ν˜•νƒœμ˜ Hashes 자료ꡬ쑰λ₯Ό ν™œμš©ν–ˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μžκ°€ 곡감을 λˆ„λ₯΄λ©΄ {민원 id : {μ‚¬μš©μž id : 곡감 type}} 데이터λ₯Ό μΊμ‹±ν–ˆμŠ΅λ‹ˆλ‹€. 이후 민원 idλ₯Ό 톡해 곡감 정보λ₯Ό 뢈러올 λ•Œ λ°μ΄ν„°λ² μ΄μŠ€κ°€ μ•„λ‹Œ μΊμ‹œμ—μ„œ 정보λ₯Ό 더 빨리 찾을 수 μžˆμŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή 정보가 μΊμ‹œμ— μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” κ²½μš°μ—λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ 데이터λ₯Ό λ‘œλ”©ν•œ ν›„ μ‚¬μš©ν•©λ‹ˆλ‹€.

  1. μ†Œμ…œ 둜그인 κ³Όμ •μ—μ„œ λ°œκΈ‰λ°›μ€ 토큰을 μ„œλ²„μ— μ €μž₯ν•΄μ•Όν•©λ‹ˆλ‹€.

μ†Œμ…œ λ‘œκ·ΈμΈμ„ 톡해 λ°œκΈ‰λ°›μ€ μ‚¬μš©μž 인증 토큰 및 λ¦¬ν”„λ ˆμ‹œ 토큰을 μ„œλ²„μ— μ €μž₯ν•΄μ•Όλ§Œ 좔후에 μ‚¬μš©μžκ°€ 인증 토큰을 μ œμΆœν–ˆμ„ λ•Œ μ‚¬μš©μž 식별이 κ°€λŠ₯ν•©λ‹ˆλ‹€. λ”°λΌμ„œ μœ„μ™€ 같은 μš”κ΅¬μ‚¬ν•­μ„ λ§Œμ‘±μ‹œν‚€κΈ° μœ„ν•΄ 두 κ°€μ§€ {ν‚€ : κ°’} ν˜•νƒœμ˜ 데이터λ₯Ό μΊμ‹±ν•©λ‹ˆλ‹€.

  • 인증토큰 : 멀버 식별값

  • λ¦¬ν”„λ ˆμ‹œν† ν° : 인증 토큰

각각의 λ°μ΄ν„°λŠ” 인증 ν† ν°μ˜ μœ νš¨κΈ°κ°„ λ™μ•ˆ μ„œλ²„μ— μ €μž₯되며 캐싱이 만료된 λ’€μ—λŠ” μ‚¬μš©μžκ°€ μ œμΆœν•œ λ¦¬ν”„λ ˆμ‹œ 토큰을 μ†Œμ…œ 인증 μ„œλ²„μ— μ œμΆœν•΄ 인증토큰을 μž¬λ°œκΈ‰λ°›κ³  λ‹€μ‹œ μ„œλ²„μ— 캐싱을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

결과적으둜 μ•„λž˜μ™€ 같은 ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„μ˜ μ‚¬μš©μž 인증 ꡬ쑰λ₯Ό κ°€μ§‘λ‹ˆλ‹€.

3. Logging

κΈ°λ³Έ μžλ°” μ„œλΈ”λ¦Ώ μŠ€νŽ™μΈ Wrapper 클래슀λ₯Ό μ‚¬μš©ν•˜μ—¬ HTTP Request 와 Response λ₯Ό μΆ”μ ν•˜κ³  Spring μ—μ„œ μ œκ³΅ν•˜λŠ” log4j κ΅¬ν˜„μ²΄μΈ logback 을 μ‚¬μš©ν•΄μ„œ μ‹€μ‹œκ°„ λ‘œκΉ… ν™˜κ²½μ„ κ΅¬μΆ•ν–ˆμŠ΅λ‹ˆλ‹€.

Error 와 Info 두 λ‹¨κ³„λ‘œ λ‘œκΉ… λ ˆλ²¨μ„ λ‚˜λˆ„μ–΄ νŒŒμΌμ„ κ΄€λ¦¬ν•˜κ³  νŒ€μ›λ“€κ³Ό 라이브 코딩을 ν•˜λ©΄μ„œ λ‘œκΉ… 정보λ₯Ό ν™œμš©ν–ˆμŠ΅λ‹ˆλ‹€.

7. μ„€μ • 파일

버전 μ •λ³΄λŠ” build.gradle μ—μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. μ„œλ²„ μŠ€νŽ™μ— 맞게 μˆ˜μ •μ΄ ν•„μš”ν•©λ‹ˆλ‹€.

application.yml

gcp-bucket-name: ${bucket_name}
gcp-directory-name: ${storage_directory_root_path}
gcp-storage-url: https://storage.googleapis.com/

kakao:
  api-key: ${rest_api_key}
  admin-key: ${admin_key}
  redirect-url: ${redirect_url}
  
spring:
  datasource:
    username: ${db_username}
    password: ${db_password}
    driver-class-name: ${driver_class}
    url: ${db_endpoint}


  jpa:
    hibernate:
      ddl-auto: none
    properties:
      hibernate:
        show_sql: true
        format_sql: true

  cloud:
    gcp:
      storage:
        credentials:
          location: ${storage_credential}

  redis:
    host: ${redis_host}
    port: ${redis_port}

server:
  ssl:
    key-store: ${keystore_file}
    key-store-type: PKCS12
    key-store-password: ${keystore_passwd}

springdoc:
  swagger-ui:
    path: ${swagger_path}
    operations-sorter: method
  #  version: v1
  paths-to-match: /api/**

Dockerfile

FROM openjdk:11
ARG JAR_FILE=build/libs/*.jar
COPY ${JAR_FILE} app.jar
VOLUME /tmp
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]

build & execute

μ›ν™œν•œ μ‹€ν–‰ν™˜κ²½μ„ μœ„ν•΄μ„œλŠ” μ•„λž˜μ™€ 같은 μ—°κ²° ν™˜κ²½ 섀정이 ν•„μš”ν•©λ‹ˆλ‹€.

  • redis connection
  • gcp storage connection
  • kakao login connection
  • database connection

ν”„λ‘œμ νŠΈ 루트 κ²½λ‘œμ—μ„œ μ‹€ν–‰

1. Docker ν™˜κ²½ x

$ ./gradlew clean build -x test
$ cd build/libs
$ java -jar *.jar

2. Docker ν™˜κ²½

$ ./gradlew clean build -x test
$ docker build -t tag-name:1.0 .
$ docker run -p 8080:8080 -d β€”name=app-name tag-name:1.0

8. 링크

ν•€ν”Œλ ˆμΈ μ‚¬μ΄νŠΈ

μ‹œμ—° μ˜μƒ

9. Contributor

λ””μžμΈ

Name Major Email
κ³½λ‚˜μ˜ λ””μžμΈν•™κ³Ό skdud9290@naver.com

ν΄λΌμ΄μ–ΈνŠΈ

Name Major Email
μ΅œμœ€μ„ 컴퓨터학뢀 cdt9473@gmail.com

μ„œλ²„

Name Major Email
λ°•μƒν˜„ 컴퓨터학뢀 sanghyun-dev@naver.com
ν™©μ•„μ˜ 컴퓨터학뢀 ayxxng73@gmail.com

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors