Skip to content
/ Naite Public
forked from leejjin/Naite

🌳 1인 가ꡬλ₯Ό μœ„ν•œ νŽΈλ¦¬ν•œ 동넀 μƒν™œ 제곡 μ„œλΉ„μŠ€ - λ‚˜μ΄ν…Œ 🌳

Notifications You must be signed in to change notification settings

minkyoe/Naite

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ λ‚˜μ˜ 이웃 ν…Œλ‘λ¦¬ : λ‚˜μ΄ν…ŒπŸƒ


πŸ“Œ λͺ©μ°¨


기획 μ˜λ„ 및 μ†Œκ°œ

  • 'λ‚˜μ˜ 이웃 ν…Œλ‘λ¦¬ : λ‚˜μ΄ν…Œ'λŠ” 1인 κ°€κ΅¬μ—κ²Œ νŽΈλ¦¬ν•œ 동넀 μƒν™œμ„ μ œκ³΅ν•˜λŠ” ν”Œλž«νΌμž…λ‹ˆλ‹€.
  • λ‚˜μ΄ν…ŒλŠ” μ‚¬μš©μžμ—κ²Œ 동넀 정보 곡유, 곡동 ꡬ맀, μ΄μ›ƒκ³Όμ˜ μ†Œν†΅μ„ κ°€λŠ₯ν•˜κ²Œ ν•˜μ—¬ 보닀 더 νŽΈλ¦¬ν•œ 동넀 μƒν™œμ„ μ œκ³΅ν•˜κ³ μž ν•©λ‹ˆλ‹€.
  • 이λ₯Ό 톡해 μ‚¬μš©μžκ°€ λ™λ„€μ˜ 사적인 정보λ₯Ό κ³΅μœ ν•˜κ±°λ‚˜, 혼자 사기엔 λ§Žμ€ μ–‘μ˜ λ¬Όν’ˆλ“€μ„ 이웃과 λ‚˜λˆ„μ–΄ νŽΈλ¦¬ν•œ 동넀 μƒν™œμ„ λˆ„λ¦΄ 수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.

κ²Œμ‹œνŒ 및 κΈ°λŠ₯ μ†Œκ°œ


πŸ™ λ²ˆν™”κ°€

λ²ˆν™”κ°€λŠ” 동넀 μ£Όλ―Όλ“€κ³Ό 자유둜운 이야기λ₯Ό 주고받을 수 μžˆλŠ” β€˜μžμœ κ²Œμ‹œνŒβ€™μž…λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” 읡λͺ…μœΌλ‘œ κΈ€κ³Ό λŒ“κΈ€μ„ μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€.


🏦 λ™μ‚¬λ¬΄μ†Œ

λ™μ‚¬λ¬΄μ†ŒλŠ” 동넀 μ£Όλ―Όλ“€μ—κ²Œ μ§ˆλ¬Έμ„ ν•˜κ³  닡변을 받을 수 μžˆλŠ” β€˜μ§ˆλ¬Έκ²Œμ‹œνŒβ€™μž…λ‹ˆλ‹€.
λŒ“κΈ€μ„ 톡해 μ‹€μ œ 동넀 주민의 직접적인 닡변을 받을 수 μžˆμŠ΅λ‹ˆλ‹€.


πŸ—£ 수ꡰ수ꡰ

μˆ˜κ΅°μˆ˜κ΅°μ€ 동넀 주민의 μ†”μ§ν•œ 리뷰λ₯Ό λ³Ό 수 μžˆλŠ” β€˜λ¦¬λ·°κ²Œμ‹œνŒβ€™μž…λ‹ˆλ‹€.
μΉ΄ν…Œκ³ λ¦¬(식당/의료/체윑/미용/기타)λ₯Ό μ„ νƒν•˜μ—¬ 리뷰λ₯Ό μž‘μ„± 및 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” 리뷰λ₯Ό 톡해 별점을 λΆ€μ—¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.


🦻 μ†Œλ¦¬μ†Œλ¬Έ

μ†Œλ¦¬μ†Œλ¬Έμ€ β€˜μš°λ¦¬ 동넀 정보 곡유 κ²Œμ‹œνŒβ€™μž…λ‹ˆλ‹€.
곡사/세일/ꡐ톡 λ“± μ—¬λŸ¬κ°€μ§€ 정보λ₯Ό μ£Όλ―Όλ“€κ³Ό κ³΅μœ ν•  수 μžˆλŠ” κ²Œμ‹œνŒμž…λ‹ˆλ‹€.


πŸ›’ μž₯ν„°

μž₯ν„°λŠ” μ€‘κ³ κ±°λž˜μ™€ 곡동ꡬ맀λ₯Ό μ§„ν–‰ν•  수 μžˆλŠ” κ²Œμ‹œνŒμž…λ‹ˆλ‹€.
κ±°λž˜λŠ” κ²Œμ‹œκΈ€ μƒμ„ΈνŽ˜μ΄μ§€ λ‚΄μ˜ μ±„νŒ…λ²„νŠΌμ„ 눌러 μ‹œμž‘ν•˜κ²Œ λ©λ‹ˆλ‹€.


πŸ’¬ 1λŒ€1 μ±„νŒ…

κ²Œμ‹œνŒ 상세 μ‘°νšŒμ—μ„œ β€˜λ©”μ„Έμ§€' λ²„νŠΌμ΄λ‚˜ μž₯ν„°κ²Œμ‹œνŒ 상세 μ‘°νšŒμ—μ„œ β€˜μž‘μ„±μžμ™€ κ±°λž˜ν•˜κΈ°' λ²„νŠΌμ„ 톡해 μΌλŒ€μΌ μ±„νŒ…μ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.


πŸ” 검색

검색기λŠ₯을 톡해 κ²Œμ‹œλ¬Όμ„ μ°Ύκ³ , 클릭을 톡해 ν•΄λ‹Ή κ²Œμ‹œλ¬Όμ„ μžμ„Ένžˆ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.


🚨 μ‹ κ³ 

μ•…μ˜μ μΈ κ²Œμ‹œκΈ€, λŒ“κΈ€ 발견 μ‹œ μž‘μ„±μž μ‹ κ³ λ₯Ό ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
λˆ„μ  μ‹ κ³  횟수 10회 이상 μ‹œμ— ν•΄λ‹Ή κ²Œμ‹œκΈ€μ΄λ‚˜ λŒ“κΈ€μ€ μ‚­μ œλ©λ‹ˆλ‹€.
μ‚­μ œλ  λ•Œλ§ˆλ‹€ μž‘μ„±μžμ˜ 신뒰도 μ μˆ˜λŠ” 1점씩 κ°μ λ©λ‹ˆλ‹€.

img


βœ” μƒν˜Έν‰κ°€

κ±°λž˜κ°€ μ™„λ£Œλ˜λ©΄ μž‘μ„±μžλŠ” ν”„λ‘œν•„ νŽ˜μ΄μ§€μ—μ„œ μ‹€κ±°λž˜μžλ₯Ό 선택해 ν‰κ°€ν•˜κ³ ,
μ„ νƒλœ μ‚¬μš©μžλŠ” 본인의 ν”„λ‘œν•„ νŽ˜μ΄μ§€μ—μ„œ μž‘μ„±μžλ₯Ό 평가할 수 μžˆμŠ΅λ‹ˆλ‹€.
μž‘μ„±λœ 평가 기반으둜 μ‚¬μš©μžμ˜ 신뒰도 μ μˆ˜μ— λ°˜μ˜λ©λ‹ˆλ‹€.
평가와 신뒰도 반영 점수 1점:-3, 2점:-1, 3점:0, 4점:+1, 5점:+3

img


μ‚¬μš©λ°©λ²•

Backend

  • step1) naite_db.sql을 MySql Workbenchμ—μ„œ μ‹€ν–‰

  • step2) naite backend projectλ₯Ό Intellij에 import

  • step3) src > main > resources > application.yml νŒŒμΌμ„ λ§Œλ“€κ³  μžμ‹ μ˜ 정보 μž‘μ„± (μ•„λž˜ 사진 μ°Έμ‘°)

  • step4) View > Tool Windows > Database > Mysql database μΆ”κ°€

  • step5) View > Tool Windows > Persistence > assign data sources둜 μΆ”κ°€ν•œ Mysql database μ—°κ²°ν•˜κΈ°

  • step6) NatieApplication.java을 spring boot application둜 μ‹€ν–‰

image-20210219130842703


Frontend

  • step1) Project Setup
$ npm install
  • step2) Kakao api key μž…λ ₯
<!---NAITE-FRONTEND -> public -> index.html --->
<!---NAITE-FRONTEND > src > components > Sign > Location.vue > script > mounted >  --->

<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=${Kakao_API_KEY}&libraries=services"></script>
  • step3) .env.local μΆ”κ°€

    • '.env.local' νŒŒμΌμ„ frontend>naite-frontend 폴더에 μΆ”κ°€

    • '.env.local' νŒŒμΌμ— μ„œλ²„ μ£Όμ†Œ μž…λ ₯

ex) VUE_APP_SERVER_URL = ${SERVER_URL}

![envlocal vscod](README/envlocal vscod.PNG)

  • step4) Compiles and hot-reloads for development
<!---Basic port--->
$ npm run serve 

<!---Change port--->
$ npm run serve -- --port ${SERVER_PORT}

πŸ”§ μ‚¬μš©κΈ°μˆ 

ꡬ뢄 μ‚¬μš©κΈ°μˆ 
ν”„λ‘ νŠΈμ—”λ“œ Vue.js / HTML / CSS / Javascript
λ°±μ—”λ“œ Spring Boot / JPA / MySQL / WebSocket

ν”Œλž«νΌ κ°œλ°œμ–Έμ–΄ κ°œλ°œν™˜κ²½
Gitlab, Jira, Slack, Vuejs, Spring boot, Mysql Java, JavaScript,CSS,HTML VS Code, Intellij, Mysql Workbench, AWS EC2, NginX

기술 μ•„ν‚€ν…μ²˜

ERD


βš™ κ΅¬ν˜„λ°©λ²•

  • ν”„λ‘ νŠΈμ—”λ“œ

    • vue createλ₯Ό ν†΅ν•˜μ—¬ ν”„λ‘œμ νŠΈ 생성
    • component μž¬μ‚¬μš©μ„±μ„ 높이고 CSR을 톡해 UXλ₯Ό ν–₯μƒμ‹œν‚€κ³ μž Vuejs μ‚¬μš©
    • μ½”λ“œμ˜ μœ μ—°μ„±μ„ μœ„ν•΄ Bootstrap,Vuetify λ“±μ˜ 라이브러리λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  CSS와 JS / HTML을 ν†΅ν•˜μ—¬ UIκ΅¬ν˜„
    • μ‚¬μš©μž μœ„μΉ˜ 기반의 μ„œλΉ„μŠ€λ₯Ό μœ„ν•΄ navigator 및 kakao geocoder μ‚¬μš©
    • μžλ™λ‘œκ·ΈμΈ 및 아이디저μž₯ κΈ°λŠ₯ κ΅¬ν˜„μ„μœ„ν•΄ vuexμ‚¬μš©
    • vuexλ‚΄μš©μ„ λ³΄μ‘΄ν•˜κ³ μž vuex-persistedstate μ‚¬μš©
    • λͺ¨λ°”일-μ›Ή λͺ¨λ‘ μ‚¬μš©κ°€λŠ₯ν•œ λ°˜μ‘ν˜• μ›Ή κ΅¬ν˜„
  • λ°±μ—”λ“œ

    • spring boot gradle ν”„λ‘œμ νŠΈ 생성
    • κ²Œμ‹œνŒ νŠΉμ„±μƒ 쑰회 μœ„μ£Όμ˜ 쿼리문을 μ‚¬μš©ν•˜κ³  ν”„λ‘œμ νŠΈμ˜ μœ μ§€λ³΄μˆ˜μ„±μ„ 높이기 μœ„ν•΄ JPA μ‚¬μš©
    • Jpaλ₯Ό μ μš©ν•˜κΈ° μœ„ν•΄ domainμ—μ„œ entity와 repositoryμž‘μ„±
    • μš©λ„λ³„ DTOλ₯Ό κ΅¬ν˜„ν•΄ ν”„λ‘ νŠΈμ—”λ“œμ™€ 데이터 μ†‘μˆ˜μ‹ 
    • νšŒμ›κ°€μž…μ‹œ λ³΄μ•ˆμ„ μœ„ν•΄ saltλ₯Ό ν†΅ν•œ λΉ„λ°€λ²ˆν˜Έ μ•”ν˜Έν™”
    • Stateless μ„œλ²„λ‘œ ν™•μž₯성을 높이기 μœ„ν•΄ Jwt tokenμ‚¬μš©
    • Intercepter둜 둜그인이 ν•„μš”ν•œ API μš”μ²­μ‹œ token 확인
    • Restful API에 λ§žλŠ” κΈ°λŠ₯ κ΅¬ν˜„
    • Pub / Sub ꡬ쑰인 Stomp ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ λ©”μ„Έμ§€ 전솑 κ΅¬ν˜„
    • Swagger λ₯Ό μ΄μš©ν•˜μ—¬ ν”„λ‘ νŠΈμ—”λ“œμ™€ API 곡유
    • AWS EC2에 μ„œλ²„, DB μ—…λ‘œλ“œ
    • Nginx의 Certbot을 μ‚¬μš©ν•˜μ—¬ HTTPS톡신을 μœ„ν•œ SSLμΈμ¦μ„œ 적용

개발 μ˜ˆμ • 사항

  • SNS둜그인 연동
  • Refresh token 적용
  • κ΄€λ¦¬μž νŽ˜μ΄μ§€ κ΅¬ν˜„
  • νŽ˜μ΄μ§€λ³„ μ‚¬μš©κ°€μ΄λ“œ

πŸ‘¨β€πŸ‘©β€πŸ‘¦ μ°Έμ—¬μž

이름 Github μ£Όμ†Œ μ—­ν• 
πŸΆκΉ€λ―Όκ²½ minkyoe λ°±μ—”λ“œ
πŸ±μ΄μœ μ§„ leejjin λ°±μ—”λ“œ
πŸ»μ‘°μ„±ν›ˆ JoChoSunghoon λ°±μ—”λ“œ
πŸ²μ΄λ™ν¬ Donghee-L ν”„λ‘ νŠΈμ—”λ“œ
πŸ€—λ°•μ£Όλ™ judong93 ν”„λ‘ νŠΈμ—”λ“œ

🎞 기타사항

λ‚˜μ΄ν…Œ Youtube λ°”λ‘œκ°€κΈ°

About

🌳 1인 가ꡬλ₯Ό μœ„ν•œ νŽΈλ¦¬ν•œ 동넀 μƒν™œ 제곡 μ„œλΉ„μŠ€ - λ‚˜μ΄ν…Œ 🌳

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 60.9%
  • Java 36.4%
  • FreeMarker 1.8%
  • Other 0.9%