GithubHelp home page GithubHelp logo

bnuri00 / sodam Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mauv2sky/sodam

0.0 0.0 0.0 17.58 MB

πŸ§‘β€πŸ’» λΉ„λŒ€λ©΄ 화상상담 ν”Œλž«νΌ

JavaScript 2.95% Python 3.19% Java 31.14% CSS 3.86% HTML 0.46% Vue 35.94% Dockerfile 0.14% SCSS 22.33%

sodam's Introduction

λΉ„λŒ€λ©΄ 화상상담 ν”Œλž«νΌ - μ†Œλ‹΄

πŸ’ 간단 μ†Œκ°œ

""

μ½”λ‘œλ‚˜ μ‹œλŒ€μ— 온라인 상담 μ†Œλ‹΄κ³Ό ν•¨κ»˜ ν•˜μ„Έμš”


μƒλ‹΄μ‚¬μ—κ²Œ ν•„μš”ν•œ 상담기λŠ₯이 λ‹΄κΈ΄ μ†Œλ‹΄

직접 상담사와 토둠을 톡해 κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

화상상담, μƒλ‹΄λ‚΄μš© μžλ™ λ¬Έμ„œν™”, 일정 등둝 λͺ¨λ“  것을 μ΄μš©ν•΄ λ³΄μ„Έμš”.

πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘§ νŒ€μ›

μ—„ν˜•κ·œ ν”„λ‘œν•„ κΉ€λΉ›λˆ„λ¦¬ ν”„λ‘œν•„ κΉ€μ•„ν˜„ ν”„λ‘œν•„ κΉ€λ―Έν˜„ ν”„λ‘œν•„ μ •μž¬ν›ˆ ν”„λ‘œν•„ ν™©ν˜Έμ„  ν”„λ‘œν•„
BE μ—„ν˜•κ·œ BE κΉ€λΉ›λˆ„λ¦¬ BE κΉ€μ•„ν˜„ BE κΉ€λ―Έν˜„ FE μ •μž¬ν›ˆ FE ν™©ν˜Έμ„ 

πŸ‘ν”„λ‘œμ νŠΈ μ†Œκ°œ

  • ν”„λ‘œμ νŠΈλͺ…: κ·Έλ£Ή λΉ„λ””μ˜€ 상담 μ„œλΉ„μŠ€(μ†Œλ‹΄)
  • μ„œλΉ„μŠ€ νŠΉμ§•: 웹을 ν†΅ν•œ 상담과 일정 μ‘°μ • λ„μš°λ―Έ μ„œλΉ„μŠ€
  • μ£Όμš” κΈ°λŠ₯
    • νšŒμ› 관리
    • 화상 λ―ΈνŒ…λ£Έ
    • 상담사 일정관리
    • STTλ₯Ό ν†΅ν•œ μƒλ‹΄λ‚΄μš© νƒμŠ€νŠΈ 파일둜 생성
  • μ£Όμš” 기술
    • WebRTC
    • WebSocket
    • JWT Authentication
    • REST API
    • JPA
    • STT
    • SSE
  • μ°Έμ‘° λ¦¬μ†ŒμŠ€
    • Vuetify 3: λ””μžμΈ μ „λ°˜ 적용
    • Vue Argon Design System: λ””μžμΈ μ „λ°˜ 적용
    • Color Hunt : 이미지 μ „λ°˜μ˜ 색깔 적용
    • FullCalendar: μΊ˜λ¦°λ” μ»΄ν¬λ„ŒνŠΈ μ‚¬μš©
    • google stt: κ΅¬κΈ€μ—μ„œ μ œκ³΅ν•˜λŠ” stt 지원 라이브러리. 이미지 인식 및 μ˜€λ²„λ ˆμ΄ μ˜μƒμ— ν™œμš©
  • 배포 ν™˜κ²½
    • URL: // μ›Ή μ„œλΉ„μŠ€, λžœλ”© νŽ˜μ΄μ§€, ν”„λ‘œμ νŠΈ μ†Œκ°œ λ“±μ˜ 배포 URL κΈ°μž…
    • nginx proxy manager: // nginxλ₯Ό κ΄€λ¦¬ν•˜κ³  μ—­λ°©ν–₯ ν”„λ‘μ‹œ ꡬ성 및 ssl인증을 κ°„λž΅ν™”
    • docker network : // networkλ₯Ό ν†΅ν•œ 내뢀망 ꡬ성
    • swagger :// url을 ν†΅ν•œ ν•΄λ‹Ή 값을 λΆ„μ„ν•˜κ³  ν”„λ‘ νŠΈμ™€ λ°±μ—”λ“œ κ°„ ν˜‘μ—…

νŒ€ μ†Œκ°œ

  • ν™©ν˜Έμ„ : νŒ€μž₯, ν”„λ‘ νŠΈμ—”λ“œ 개발
  • μ •μž¬ν›ˆ: ν”„λ‘ νŠΈμ—”λ“œ 개발
  • μ—„ν˜•κ·œ: Web RTC, CI/CD
  • κΉ€μ•„ν˜„: λ°±μ—”λ“œ 개발
  • κΉ€λ―Έν˜„: λ°±μ—”λ“œ 개발
  • κΉ€λΉ›λˆ„λ¦¬ : λ°±μ—”λ“œ 개발

git convention

  • Master(main) : μ œν’ˆ μΆœμ‹œν•  수 μžˆλŠ” 브랜치
  • Develop : λ‹€μŒ 버전 개발 브랜치
  • {Feature} : κΈ°λŠ₯을 κ°œλ°œν•˜λŠ” 브랜치
  • Release : 배포 브랜치

Frontend

Vue.js Python Bootstrap CSS3 JavaScript HTML5

Backend

Spring Redis Java Flask

DevOps

AWS Git MySQL Jenkins Nginx

🚑 verson

JVM(openjdk11)

Node(16.19.0)

Python(3.9)

Vue 3

Spring Boot

DB : MySQL

πŸ“‘ 아킀텍쳐

E103_μ•„ν‚€ν…μ²˜.png

🏳 port

22 : ssh

80 : nginx(HTTP)

443 : nginx(HTTPS)

3306 β†’ mysql

5000 β†’ backend(+ tomcat)

6379 β†’ radis

8180 β†’ frontend

8280 β†’ stt

9000 β†’ portainer

🚦 νŒ€ κ·œμΉ™

μ½”λ”© κ΄€λ ¨

  • PR μ μš©μ€ λ‚ λ¦° μ‚¬λžŒμ΄ λ°”λ‘œ ν•  수 없도둝 μ„€μ •ν•˜μž (μ΅œμ†Œ 리뷰 1개 이상 달리면 머지!)
  • λ‚΄κ°€ μ§  μ½”λ“œλ₯Ό λ‹€λ₯Έ μ‚¬λžŒμ΄ μ‰½κ²Œ 이해할 수 μžˆμ–΄μ•Ό ν•œλ‹€
    • νŒ€μ΄ μ§  μ½”λ“œλŠ” λͺ¨λ“  νŒ€μ›μ΄ λ‹€ μ΄ν•΄ν•˜κ³  μ„€λͺ…ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€
    • λ‚΄κ°€ μ§  μ½”λ“œμ— λŒ€ν•΄ νŒ€μ›λ“€μ΄ μ§ˆλ¬Έν•˜λ”λΌλ„ λΆˆν‰ν•˜μ§€ μ•Šκ³  λŒ€λ‹΅ν•΄μ£ΌκΈ°
  • λ‹€λ₯Έ μ‚¬λžŒμ΄ μ§  μ½”λ“œλ₯Ό μˆ˜μ •ν•΄μ•Ό ν•  일이 μžˆμ„ 경우 미리 μ•Œλ¦¬κΈ°
  • 두 선택지 쀑 ν•˜λ‚˜λ₯Ό 선택해야 ν•˜λŠ” κ²½μš°μ—λŠ” μ„ νƒν•œ 이유λ₯Ό PR이든 Commit 이든 확인할 수 μžˆλŠ” 곳에 λ°˜λ“œμ‹œ λͺ…μ‹œν•˜κΈ°

κ·ΈλΌμš΄λ“œ λ£°

  1. λͺ¨λ“  μ˜κ²¬μ— 긍정적인 λ°˜μ‘ λ¨Όμ €ν•˜κΈ° (ν˜Έμ‘ν•΄μ£ΌκΈ°)
  2. 개인 일정이 μžˆμ„ 땐, νŒ€ μ „μ²΄μ—κ²Œ μ΅œμ†Œ 3μ‹œκ°„ 전에 κ³΅μœ ν•˜κΈ°
  3. μ•Œλ¦Όμ„ 받은 ν›„μ—λŠ” 읽음 ν‘œμ‹œ ν•˜κΈ°
  4. μ±…μž„μ„ μƒλŒ€μ—κ²Œ λ„˜κΈ°μ§€ 말자

πŸŽ₯ μ˜μƒ

πŸ‘€ ν”„λ‘œμ νŠΈ μ£Όμš” κΈ°λŠ₯

둜그인

상담사와 λ‚΄λ‹΄μžλŠ” 탭을 λ³€κ²½ν•˜μ—¬ 각각 λ‘œκ·ΈμΈν•  수 μžˆμŠ΅λ‹ˆλ‹€.

둜그인.PNG

νšŒμ›κ°€μž…

상담사와 λ‚΄λ‹΄μžλŠ” κ°€μž… μ‹œ λ°›λŠ” μž…λ ₯ 정보가 λ‹€λ¦…λ‹ˆλ‹€.

고객

Untitled

상담사

νšŒμ›κ°€μž…(상담사).PNG

νšŒμ›κ°€μž…(상담사1).PNG

λͺ¨λ“  값을 μž…λ ₯ν•΄μ•Ό λ‹€μŒμœΌλ‘œ λ„˜μ–΄κ°ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

νšŒμ›κ°€μž…(상담사2).PNG

μƒλ‹΄μ‚¬μ˜ ν•™μœ„, 자격증, κ²½λ ₯ 정보λ₯Ό μž…λ ₯λ°›κ³ , 인증 사진을 톡해 κ΄€λ¦¬μžκ°€ κ²€μ¦ν•©λ‹ˆλ‹€.

상담사와 λ‚΄λ‹΄μžλ‘œ νŽ˜μ΄μ§€κ°€ κ΅¬λΆ„λ˜κΈ° λ•Œλ¬Έμ— 각각 λ‚˜λˆ„μ–΄ μ„€λͺ…ν•˜κ² μŠ΅λ‹ˆλ‹€.

고객

λ©”μΈνŽ˜μ΄μ§€

λ©”μΈνŽ˜μ΄μ§€(λ‚΄λ‹΄μž).PNG

λ‚΄λ‹΄μžλ‘œ 둜그인 ν–ˆμ„ λ•Œ λ‚˜νƒ€λ‚˜λŠ” 메인 νŽ˜μ΄μ§€μž…λ‹ˆλ‹€. 우츑 μƒλ‹¨μ˜ λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ μ—¬λŸ¬ νŽ˜μ΄μ§€ λͺ©λ‘μ΄ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

μƒλ‹΄μ‚¬λ©”μΈνŽ˜μ΄μ§€.PNG

μƒλ‹΄μ‚¬λ©”μΈνŽ˜μ΄μ§€1.PNG

μ•„λž˜λ‘œ μŠ€ν¬λ‘€μ„ 내리면 검색바와 상담사 리슀트λ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. 사진 μœ„λ‘œ 마우슀λ₯Ό 올리면 상담사에 λŒ€ν•œ κ°„λ‹¨ν•œ 정보λ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

상담사 상세 νŽ˜μ΄μ§€

λ©”μΈνŽ˜μ΄μ§€(상담사).PNG

λ©”μΈνŽ˜μ΄μ§€(상담사)1.PNG

상담사 μƒμ„ΈνŽ˜μ΄μ§€μ—μ„œλŠ” μƒλ‹΄μ‚¬μ˜ μžμ„Έν•œ 정보λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. κ²½λ ₯, 자격증 및 μ‹€μ œ 상담을 λ°›μ•˜λ˜ λ‚΄λ‹΄μžμ˜ ν›„κΈ°λ₯Ό 톡해 μ˜ˆλΉ„ λ‚΄λ‹΄μžλΆ„μ˜ 선택을 λ„μšΈ 수 μžˆμŠ΅λ‹ˆλ‹€.

상담 μ‹ μ²­μ„œ

μƒλ‹΄μ‹ μ²­μ„œ.PNG

ν›„κΈ° μž‘μ„±

ν›„κΈ°.PNG

κ³ λ―Όκ²Œμ‹œνŒ

κ³ λ―Όκ²Œμ‹œνŒ.PNG

κ³ λ―Όκ²Œμ‹œνŒ1.PNG κ³ λ―Όκ²Œμ‹œνŒ2.PNG

ν—¬ν”„ 데슀크

ν—¬ν”„λ°μŠ€ν¬.PNG

개인 정보 μˆ˜μ •

κ°œμΈμ •λ³΄μˆ˜μ •1.PNG

κ°œμΈμ •λ³΄μˆ˜μ •2.PNG

κ°œμΈμ •λ³΄μˆ˜μ •3.PNG

κ°œμΈμ •λ³΄μˆ˜μ •4.PNG

상담사 νŽ˜μ΄μ§€

메인 νŽ˜μ΄μ§€

λ©”μΈνŽ˜μ΄μ§€(상담사).PNG

일정 관리, 고객 관리 탭이 상담사 νŽ˜μ΄μ§€μ— μΆ”κ°€λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

일정관리

고객관리.PNG

화상 상담

화상상담.PNG

화상상담1.PNG

고객관리

고객관리.PNG

μ•Œλ¦Ό νŽ˜μ΄μ§€

μ•ŒλžŒνŽ˜μ΄μ§€.PNG

πŸ”— 링크

μ†Œλ‹΄λ™μ˜μƒ

πŸ•™μ΅œμ’… ν”„λ‘œμ νŠΈ 회고

문제점

  • ν™•μ‹€ν•œ μ˜μ‚¬κ²°μ •κ³Ό 정리 λ‚΄μš© κ³΅μœ κ°€ λΆ€μ‘±ν–ˆλ‹€.
  • 진행상황을 ν™•μ‹€ν•˜κ²Œ κ³΅μœ ν•  수 μžˆλŠ” λ¬Έμ„œλ‚˜ ν˜„ν–‰ μƒνƒœκ°€ μ •λ¦¬λœ μžλ£Œκ°€ ν•„μš”ν•˜μ§€ μ•Šμ•˜λ‚˜.
  • 배포상황을 κ³ λ €ν•˜μ§€ λͺ»ν•œ λΌμ΄λΈŒλŸ¬λ¦¬λ‚˜ κΈ°μˆ μŠ€νƒμ˜ μ„ νƒμœΌλ‘œ 인해 ν™•μ‹€ν•œ κΈ°μˆ μ΄λ‚˜ ν™˜κ²½μ μΈ λΆ€λΆ„μ˜ λͺ…ν™•ν•œ λ¬Έμ œνŒŒμ•… μ‹œκΈ°κ°€ λŠ¦μ–΄μ§„ 것 κ°™λ‹€.
  • μƒˆλ‘œμš΄ 기술 ν•™μŠ΅μ— μ˜ν•œ 일정 늦좰짐
  • 일정관리가 잘 μ•ˆλ˜μ—ˆλ‹€.(지라λ₯Ό 톡해 κ΄€λ¦¬ν•˜κΈ°)
  • μ˜μ‚¬μ†Œν†΅μ΄ 잘 μ•ˆλœ 뢀뢄이 μžˆμ—ˆλ‹€.(업무 곡유λ₯Ό 지라λ₯Ό ν†΅ν•΄μ„œ ν™•μΈν•΄μ•Όν•˜λŠ”λ° 지라 관리가 잘 μ•ˆλœ 뢀뢄이 μžˆμ—ˆλ‹€.)
  • μ½”λ“œ κ³΅μœ μ™€ λ¬Έμ„œλ₯Ό 톡해 진행상황을 확인할 수 μ—†μ—ˆλ‹€. (μ‹€μ œ 개발과 λ¬Έμ„œμ˜ 차이가 λ„ˆλ¬΄ λ§Žμ•„ μ‹€μ§ˆμ μœΌλ‘œ κ°œλ°œμ‹œμ— λ¬Έμ„œ μ°Έμ‘°ν•˜μ§€ μ•ŠμŒ.)
  • 일정 ν•„μˆ˜ νŒŒλΌλ―Έν„° λͺ…ν™•ν•˜κ²Œ ν•˜κΈ°
  • api νŒŒλΌλ―Έν„° ν•„μˆ˜κ°’ μ˜΅μ…˜κ°’ λ“± apiλ₯Ό λͺ…ν™•ν•˜κ²Œ 이해할 수 μžˆλŠ”
  • μ€‘μš”ν•œ κΈ°λŠ₯을 μš°μ„ μˆœμœ„λ₯Ό μ •ν•΄μ„œ κ΅¬ν˜„ ν•˜μ§€ λͺ»ν•¨. β†’ 일정이 μ •λ¦¬λ˜μ§€ μ•Šμ•„μ„œ ν•„μˆ˜κΈ°λŠ₯ κ΅¬ν˜„ κΈ°λŠ₯이 ν”„λ‘œμ νŠΈ λ§‰λ°”μ§€κΉŒμ§€ 미뀄진닀
  • μ–΄λ €μš΄ 것듀을 많이 μ„ νƒν•œ λŠλ‚Œ. (ν˜„μž¬ νŒ€μ›λ“€μ˜ κΈ°μˆ μŠ€νƒκ³Ό ν”„λ‘œμ νŠΈ 진행 기간을 κ³ λ €ν•˜μ§€ λͺ»ν•œ 기술 선택)
  • 핡심 κΈ°λŠ₯ μœ„μ£Όλ‘œ μš°μ„  κ°œλ°œν•΄μ•Ό ν•  것.
  • 폴더 ꡬ쑰 λͺ…ν™•ν•˜κ³  μ„Έμ„Έν•˜κ²Œ.
  • 이름 μ»¨λ²€μ…˜

κ°œμ„ ν•  점

  • 기술의 μš°μ„ μˆœμœ„ ν™•μ‹€ν•˜κ²Œ μ •ν•΄μ„œ κ°œλ°œν•  것.
  • 컀밋 λ‹¨μœ„ μ„Έμ„Έν•˜κ²Œ ν•˜κΈ°(그리고 μžμ£Όν•˜κΈ°! β‡’ μ—„μ²­λ‚œ 좩돌의 원인이 λ μˆ˜μžˆλ‹€.)
  • 본인 λ‹΄λ‹Ή μ—­ν•  (ex. jira) 에 λŒ€ν•΄μ„œλŠ” κ°•μ œμ μœΌλ‘œ νŒ€μ›λ“€μ—κ²Œ ν‘Έμ‹œν•˜κΈ°
  • ν•œλ²ˆ λ…Όμ˜λœ μ£Όμ œλ‚˜ λ¬Έμ œμ— λŒ€ν•΄μ„œλŠ” λͺ…ν™•ν•˜κ²Œ 결둠짓고 κ³΅μœ ν•˜κΈ°.
  • μ΅œμ†Œν•œμ˜ μ˜μ‚¬μ†Œν†΅μ„ μœ„ν•œ apiλ¬Έμ„œ λͺ…ν™•ν•˜κ²Œ μž‘μ„±ν•˜κΈ°(ν•„μˆ˜ νŒŒλΌλ―Έν„°, μ˜΅μ…˜ νŒŒλΌλ―Έν„° λͺ…ν™•ν•˜κ²Œ ν‘œκΈ°ν•˜κΈ°, μ–΄λ–€ 데이터 λ‚΄λ €μ£ΌλŠ” api인지 λ¬Έμ„œλ§Œ 보고 νŒŒμ•…ν•  수 μžˆλ„λ‘)
  • κΈ°μˆ μ€ ν™•μ‹€νžˆ μ•Œκ³  μ‚¬μš©ν•˜κΈ°(β‡’ 였λ₯˜ λ°œμƒ μ‹œ 원인을 νŒŒμ•…ν•  수 μ—†μŒ γ… γ… )
  • entity, response, request객체 λͺ…ν™•ν•˜κ²Œ

배운점

  • ν”„λ‘œμ νŠΈλ‚˜ λ°°μš΄μ μ— λŒ€ν•œ λ‚΄μš©μ„ κΎΈμ€€ν•˜κ²Œ κΈ°λ‘ν•˜κ³  μ •λ¦¬ν•˜μ‹œλŠ” λΆ€λΆ„

sodam's People

Contributors

bnuri00 avatar goeom77 avatar hyun132 avatar imhyun132 avatar mauv2sky avatar wogns8123 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.