πŸ₯‚Homezakaya

1인가ꡬ 화상 λžœμ„  술자리 ν”Œλž«νΌ

SSAFY 8κΈ° 곡톡 ν”„λ‘œμ νŠΈ


πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦νŒ€μ› μ†Œκ°œ

고진석 : backend / frontend / Leader

κΆŒνƒœν˜• : frontend

윀민주 : backend / frontend

μ΄λ™μš° : frontend

μ „λ³‘ν˜„ : backend / dev-ops

μ‘°μˆ˜μ • : backend / frontend


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

βš™β€‹ 개발 ν™˜κ²½ 및 IDE

Backend

Frontend

Server

webRTC

Cooperation & Communication

  • 진행 κΈ°κ°„: 2023.1.9 ~ 2023.2.17

✨ 기획 배경

1. 1인 가ꡬ 증가


κ΅­κ°€μ§€ν‘œμ²΄κ³„ | μ§€ν‘œμƒμ„Έμ •λ³΄

1gagu

β†’ μ‹œκ°„μ΄ 갈수둝 평균 κ°€κ΅¬μ›μˆ˜[총 인ꡬ/ 총 κ°€κ΅¬μˆ˜]λŠ” κ°μ†Œν•˜λ©°, 1인 κ°€κ΅¬μˆ˜λŠ” κΎΈμ€€νžˆ μ¦κ°€ν•˜κ³  μžˆλ‹€.

2. μ™Έλ‘œμ›€μ΄ λ§Œμ—°ν•œ μ‚¬νšŒ


β€˜μ™Έλ‘œμ›€β€™μ΄ κ°μ—Όλ§ŒνΌ μœ„ν—˜ν•˜λ©°, ν•˜λ£¨ λ‹΄λ°° 15κ°œλΉ„λ₯Ό ν”Όμš°λŠ” 것과 λ™μΌν•˜κ²Œ ν•΄λ‘­λ‹€

  • β€˜κ³ λ¦½μ˜ μ‹œλŒ€β€™μ˜ μ €μžμΈ β€˜λ…Έλ¦¬λ‚˜ ν—ˆμΈ β€™ 박사

alone1 alone2

β†’ μ„€λ¬Έ 쑰사에 λ”°λ₯΄λ©΄ κ΅­κ°€μ˜ κ°œμž…μ΄ ν•„μš”ν•˜λ‹€κ³  λŠλΌλŠ” λΉ„μœ¨μ΄ 높은 만큼

β†’ ꡭ민듀은 β€œμ™Έλ‘œμ›€β€μ„ ν•΄κ²°ν•΄μ•Όν•  β€œλ¬Έμ œβ€λΌκ³  μΈμ‹ν•˜κ³  μžˆλ‹€.

3. μ˜€ν”„λΌμΈ 술자리의 λΆˆνŽΈν•¨ !


술자리 κΌ°λŒ€ 사진 β†’ λ°‘μž” 남기넀? (술 κ°•κΆŒ μœ ν˜•)

β†’ 먹을 쀄 λͺ¨λ₯΄λ„€? (ν›ˆμˆ˜ μœ ν˜•)

β†’ ν•˜ 그게 νž˜λ“€μ–΄? λ‚˜λ•ŒλŠ” (라떼 μœ ν˜•)

β†’ λ‚΄κ°€ κ·Έκ±° ν•΄λ΄€λŠ”λ° λ‚΄κ°€ 잘 μ•Œμ•„ (μ•ˆν•΄λ³Έ 일이 μ—†λŠ” μœ ν˜•)

β†’ ν•œμž” 더 해야지? (술 λͺ»λ§ˆμ…”μ„œ μ£½κ³  ν™˜μƒν•œ μœ ν˜•)

β†’ λΆˆνŽΈν•œ μ‚¬λžŒλ“€κ³Όμ˜ μˆ μžλ¦¬μ—μ„œ μΌμ–΄λ‚˜μ§€λ„ λͺ»ν•˜κ³  전전긍긍?

β†’ ν™ˆμžμΉ΄μ•Όμ—μ„œλŠ” 강퇴, λ§€λ„ˆλ„μˆ˜ κΈ°λŠ₯으둜 λΆˆνŽΈν•œ μ‚¬λžŒλ“€κ³Όμ˜ λ§Œλ‚¨μ„ μ‰½κ²Œ ν”Όν•  수 μžˆμŠ΅λ‹ˆλ‹€


πŸ™Œ μ£Όμš” κΈ°λŠ₯

  • μ„œλΉ„μŠ€ μ„€λͺ… : 1인 가ꡬ 친ꡬ μ°ΎκΈ° 화상 술자리 μ„œλΉ„μŠ€

  • μ£Όμš” κΈ°λŠ₯ :

    • λ©”μΈνŽ˜μ΄μ§€ - λ°© 생성,μ°Έκ°€ 및 각쒅 정보 확인
    • 친ꡬ CRUD , 온라인 친ꡬ 따라가기
    • webRTCλ₯Ό ν†΅ν•œ μ‹€μ‹œκ°„ 화상 술자리 κ²Œμž„
    • ν• λ¨Έλ‹ˆ κ²Œμž„
    • λ‚˜ μ•ˆ μ·¨ν–ˆμ–΄
    • 랜덀 λŒ€ν™” 주제
    • μœ μ € 상세 정보 , λ§€λ„ˆ λ„μˆ˜ 평가
    • λ°°κ²½ 효과
  • λ°© 생성

    • λ°© 제λͺ©, μ£Όμ’…, 인원, 곡개 방에 λŒ€ν•œ 섀정이 κ°€λŠ₯ν•©λ‹ˆλ‹€.
      • room
  • 친ꡬ 관리

    • 같은 방에 μ ‘μ†ν•˜κ±°λ‚˜ 아이디 및 λ‹‰λ„€μž„ 검색을 톡해 λ‹€λ₯Έ μ‚¬λžŒμ—κ²Œ 친ꡬ μš”μ²­μ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    • 친ꡬ μš”μ²­ 수락 μ‹œ, μ„œλ‘œ μΉœκ΅¬κ°€ 되고 온라인 친ꡬ의 경우 친ꡬ λ°© 따라가기가 κ°€λŠ₯ν•©λ‹ˆλ‹€.
      • fo
  • λ§€λ„ˆ λ„μˆ˜ , μ•Œμ½”μ˜¬ λ„μˆ˜

    • μœ μ €μ— λŒ€ν•΄ ν•œ λˆˆμ— μ•Œ 수 μžˆλŠ” μ§€ν‘œλ‘œ λ§€λ„ˆ λ„μˆ˜λŠ” 같은 방에 μ°Έμ—¬ν•œ μœ μ €λ“€μ˜ μƒν˜Έ 평가λ₯Ό 톡해 κ³„μ‚°λ˜κ³  μ•Œμ½”μ˜¬ λ„μˆ˜λŠ” 개인의 μ£ΌλŸ‰μ— λŒ€ν•œ ν‰κ°€μž…λ‹ˆλ‹€.
      • userinfo

ν• λ¨Έλ‹ˆ κ²Œμž„

  • ν• λ¨Έλ‹ˆ κ²Œμž„μ΄λž€?

    • 1
    • ν•œ 주제λ₯Ό μ •ν•˜κ³  λ‚˜μ„œ, κ·Έ μ£Όμ œμ— λ§žλŠ” 단어λ₯Ό λŒμ•„κ°€λ©΄μ„œ 말해야 ν•©λ‹ˆλ‹€.
      μΉ˜μ•„κ°€ 보이지 μ•Šκ²Œ μž‡λͺΈμœΌλ‘œ μΉ˜μ•„λ₯Ό 가리고 λ§ν•˜λŠ” 것이 κ·œμΉ™μ΄κ³  μ›ƒμœΌλ©΄ νƒˆλ½μž…λ‹ˆλ‹€!
  • FACE API

    • FACE APIλž€?
    • face_api_happy
    • FACE APIλŠ” λΉ„λ””μ˜€ λ‚΄μ—μ„œ 얼꡴을 μΈμ‹ν•˜κ³ , μ–Όκ΅΄ ν‘œμ • λ³€ν™”λ₯Ό κ°μ§€ν•˜μ—¬ 값을 λ„μΆœ ν•©λ‹ˆλ‹€.
      ν‘œμ • 뢄석에 λŒ€ν•œ 결과둜 μ—¬λŸ¬ 감정듀이 수치둜 ν‘œμ‹œ λ©λ‹ˆλ‹€.
      행볡에 λŒ€ν•œ 감정이 일정 수치λ₯Ό λ„˜μœΌλ©΄ μ›ƒμ—ˆλ‹€ νŒλ‹¨ν•˜κ³  λ²ŒμΉ™ λ‹Ήμ²¨μžκ°€ λ©λ‹ˆλ‹€.
  • gm_game

    • μ›ƒμŒ μ‚¬λžŒμ˜ 화면은 λ…Έλž€μƒ‰ ν…Œλ‘λ¦¬λ‘œ ν‘œμ‹œλ˜μ–΄ μ†μ‰½κ²Œ μ•Œμ•„λ³Ό 수 있고
      κ²Œμž„ ν˜„ν™© 화면에 μ›ƒμŒμ„ 참지 λͺ»ν•œ μ‚¬λžŒμ΄ ν‘œμ‹œλ©λ‹ˆλ‹€.

λ‚˜ μ•ˆ μ·¨ν–ˆμ–΄

  • λ‚˜ μ•ˆ μ·¨ν–ˆμ–΄ κ²Œμž„μ΄λž€?

    • nah
    • μ•Œμ½”μ˜¬μ€ 감각과 μ€‘μΆ”μ‹ κ²½κ³„μ˜ κΈ°λŠ₯을 λ§ˆλΉ„μ‹œν‚€κ³  λŠ₯λ ₯을 μ €ν•˜μ‹œν‚΅λ‹ˆλ‹€.
      μˆ μ— μ·¨ν•œ μ‚¬λžŒμ€ μ‰½κ²Œ ν˜€κ°€ 꼬이고 μ–΄λ €μš΄ λ°œμŒμ„ ν•˜κΈ° νž˜λ“€μ–΄ ν•˜κΈ° λ•Œλ¬Έμ—,
      μˆ μ— μ·¨ν•œ κ²ƒμœΌλ‘œ μ˜μ‹¬ λ˜λŠ” μ‚¬λžŒμ—κ²Œ λ°œμŒν•˜κΈ° μ–΄λ €μš΄ λ¬Έμž₯을 μ½κ²Œν•˜μ—¬ μž¬λ―Έμ™€ κ±΄μ „ν•œ 술자리 λ¬Έν™” λ‘˜ λ‹€ κ°€μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • Web Speech API - SpeechRecognition

    • SpeechRecognitionμ΄λž€?
    • stt
    • SpeechRecognition은 μŒμ„±μ„ ν…μŠ€νŠΈλ‘œ λ³€ν™˜ν•˜λŠ” APIμž…λ‹ˆλ‹€.
      μŒμ„±μ„ κΈ€μžλ‘œ λ³€ν™˜ν•˜κ³  μŒμ„±μ΄ μ’…λ£Œλ˜λ©΄ μ™„μ„±λœ λ¬Έμž₯이 λ§Œλ“€μ–΄μ§‘λ‹ˆλ‹€.
  • na100

    • λ‚˜ μ•ˆ μ·¨ν–ˆμ–΄ κ²Œμž„μ€ ν˜ΈμŠ€νŠΈκ°€ ν•œ λͺ…을 μ§€μ •ν•˜μ—¬ κ²Œμž„μ„ μ‹œμž‘ν•©λ‹ˆλ‹€.
      λŒ€μƒμžκ°€ λ°œμŒν•  λ¬Έμž₯이 λ‚˜μ˜€κ³  λŒ€μƒμžκ°€ λ¬Έμž₯을 λͺ¨λ‘ λ°œμŒν•˜λ©΄ λ°œμŒν•œ λ¬Έμž₯이 κ²Œμž„ 화면에 λ‚˜μ˜΅λ‹ˆλ‹€.
      λ°œμŒν•΄μ•Ό ν•˜λŠ” λ¬Έμž₯κ³Ό λ°œμŒν•œ λ¬Έμž₯이 λΉ„κ΅λ˜μ–΄ 정확도λ₯Ό μΈ‘μ •ν•©λ‹ˆλ‹€.
      λ¬Έμž₯ 인식은 κ²Œμž„ λŒ€μƒμžμ˜ μŒμ„±λ§Œ μΈμ‹λ˜κΈ°μ— λ‹€λ₯Έ μœ μ €κ°€ 말해도 μ •ν™•νžˆ λ¬Έμž₯이 μ™„μ„±λ©λ‹ˆλ‹€.
      정확도 결과에 따라 μœ μ €λ“€μ΄ κ²Œμž„ λŒ€μƒμžλ₯Ό μ·¨ν–ˆλŠ”μ§€ νŒλ‹¨ν•©λ‹ˆλ‹€.


랜덀 λŒ€ν™” 주제

  • random

  • μ–΄μƒ‰ν•œ λΆ„μœ„κΈ°λ₯Ό 없앨 수 있게 μƒˆλ‘œμš΄ λŒ€ν™” 주제λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

μœ μ € 상세 정보 , λ§€λ„ˆ λ„μˆ˜ 평가

  • friend_manner
  • 같은 방에 μžˆλŠ” μœ μ €λΌλ¦¬ μ„œλ‘œ 친ꡬ μΆ”κ°€λ₯Ό ν•˜κ³  λ§€λ„ˆ λ„μˆ˜λ₯Ό 평가 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ°©μž₯의 경우, νŠΉμ • μœ μ €μ—κ²Œ λ‚˜ μ•ˆ μ·¨ν–ˆμ–΄ κ²Œμž„μ„ μ‹œν‚€κ±°λ‚˜ λ°©μž₯ λ³€κ²½, μœ μ € κ°•μ œ 퇴μž₯도 κ°€λŠ₯ν•©λ‹ˆλ‹€.

배경 효과

-back2

  • 뿌리기 νš¨κ³ΌλŠ” λ΄„, 여름, 가을, 겨울 μ»¨μ…‰μœΌλ‘œ λ²šκ½ƒ, λΉ„, λ‚™μ—½ , 눈 4가지가 μžˆμŠ΅λ‹ˆλ‹€.
  • λ²„νŠΌ 클릭 μ‹œ λ‹€μŒ 효과둜 λ„˜μ–΄κ°€κ³  눈이 내릴 λ•Œ ν΄λ¦­ν•˜λ©΄ λ°°κ²½ νš¨κ³Όκ°€ μ’…λ£Œλ©λ‹ˆλ‹€.



πŸ’κ°œλ°œ 방식 및 κ²°κ³Ό

🧱 μ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜

service


🌠 Server Description

  • port (nginx)

    • 443 HTTPS
      80 HTTP - HTTPS둜 λ¦¬λ‹€μ΄λ ‰νŠΈ(ν”„λ‘ νŠΈ νŽ˜μ΄μ§€)
      3306 MYSQL
      8080 Jenkins
      8443 Openvidu
      3000 React, NginX Docker Container
      8081 Spring boot Docker Container

🎩 ν™”λ©΄ μ„€κ³„μ„œ

wireframe1

🎨 DB ERD

erd

πŸ“¬ API λͺ…μ„Έμ„œ

api

πŸ“‹ μ»¨λ²€μ…˜

μ½”λ“œ μ»¨λ²€μ…˜ μš”μ•½


1. μ†ŒμŠ€ 파일 κΈ°λ³Έ 사항
2. μ†ŒμŠ€ 파일 ꡬ쑰
3. Class μ •μ˜ 방법
4. μ½”λ“œ 포맷
5. 넀이밍 κ·œμΉ™
6. 주석

πŸŒ„ JIRA μ»¨λ²€μ…˜

jira

  • 번 λ‹€μš΄ 차트 jira

πŸ‘‰ Git μ»¨λ²€μ…˜ μš”μ•½


- λˆ„κ°€ μ–΄λ””μ„œ 무엇을 μ–΄λ–»κ²Œ ν•˜κ³ μžˆλŠ”μ§€ λˆ„κ΅¬λ‚˜ λŒ€μž…ν•  수 μžˆλŠ” 쒋은 μ˜ˆμ‹œ
- μ†ŒμŠ€μ½”λ“œλ₯Ό 보지 μ•Šκ³ λ„ λ³€κ²½ 사항이 무엇을 ν•˜λŠ”μ§€ μ•Œ 수 μžˆλ„λ‘ ν•˜κΈ°
- Git-flow μ€€μˆ˜ν•˜κΈ°

μ˜ˆμ‹œ
ymj: feat(User): νšŒμ› κ°€μž… κΈ°λŠ₯ 
ymj: Design: ν…μŠ€νŠΈ μƒμžμ™€ λ ˆμ΄μ•„μ›ƒ ν”„λ ˆμž„ 사이 μ™Όμͺ½ 간격 늘림


gitflow

πŸ˜… Git-flow

git


πŸ₯‚Homezakaya