/noraehaebang

온라인 노래방 서비스. 노래를 부르고 사람들과 공유하세요!

Primary LanguageJava

노래 해방 🎵

노래해방homePage

프로젝트 소개

  • 내가 부른 노래를 sns형태로 공유 할 수 있는 웹 노래방 서비스
  • 실시간으로 사람들 앞에서 노래를 부르고, 피드에 공유할수 있습니다.

프로젝트 기간

2024.01.04 ~ 2024.02.16

팀원


조현우

고정원

노성은

송준석

연정흠

이준범
기술 ELK
에러 처리
암호화
데이터 동기화
프로시저
user key 구조
OpenVidu 피드 및 사용자 상호작용 노래 데이터 DM 알림기능(SSE)
인프라

링크

노래해방로고

Notion

ERD Cloud

Figma


개발 환경

  • IDE : IntelliJ IDEA, Vidsual Studeo Code
  • BE : Java 11 Spring Boot 2.7.18 Redis 7.2.4 MariaDB 11.2.2 Gradle 6.8
  • FE : Node 20.11.0 Vue 3.4.15 Quasar 2.14.3
  • ETC : openvidu 2.29.0 ELK 7.17.0 Docker 25.0.1 jenkins 2.442 rabbitMQ 3.12.12

기술 스택

Back-end

Front-end

JavaScript Static Badge Static Badge

DB

Dev-Ops

협업Tools

ETC


주요 기능

  • webRTC와 활용한 실시간 화상 노래방 환경 제공
  • 2가지 노래방 모드
    • 일반 노래방
      • MR과 가사 제공
      • 녹화
    • 퍼펙트 스코어
      • 사용자의 음성 데이터 분석
      • 분석된 데이터로 음정 평가
  • 노래방 부가 기능
    • 인원제한, 비밀번호 설정
    • 추방
    • 채팅
    • 입력 변경
    • 종료 후 피드 작성
  • 실시간 알림
  • 녹화된 영상을 sns 피드 형태로 공유
  • DM
    • 방생성
    • 초대
    • 실시간 채팅

화면

<< 노래방 만들기 >>

방만들기



<< 노래방 입력설정 >>

입력설정



<< 노래방 노래예약 >>

노래예약



<< 노래방 채팅 >>

노래방채팅기능



<< 노래방 일반 모드 >>

노래방일반모드



<< 노래방 퍼펙트 스코어 >>

노래해방퍼펙트스코어



<< 피드리스트 및 피드 상세 >>

피드리스트및피드상세



<< 피드 업로드 >>

피드업로드



<< 채팅 >>

채팅기능



<< 친구 목록 >>

노래해방친구목록



아키넥처 구성도

노래해방아키텍처


디렉토리 구조

front
├─assets
│  ├─font
│  ├─icon
│  └─img
├─boot
├─components
│  ├─chat
│  └─karaoke
│      ├─list
│      ├─session
│      ├─song
│      └─video
├─css
├─js
│  ├─chat
│  ├─comment
│  ├─config
│  ├─encrypt
│  ├─feed
│  ├─friends
│  ├─hit
│  ├─karaoke
│  ├─like
│  ├─perfectScore
│  ├─song
│  └─user
├─layouts
├─pages
├─router
└─stores

server
├─api
├─audit
├─auth
│  ├─controller
│  ├─model
│  │  ├─dto
│  │  └─entity
│  ├─repository
│  ├─service
│  └─util
├─chat
│  ├─controller
│  ├─model
│  ├─repository
│  └─service
├─comment
│  ├─controller
│  ├─error
│  ├─model
│  ├─repository
│  └─service
├─common
│  ├─error
│  ├─filter
│  └─util
├─config
├─feed
│  ├─controller
│  ├─error
│  ├─model
│  ├─rank
│  │  ├─document
│  │  └─service
│  ├─repository
│  └─service
├─friends
│  ├─controller
│  ├─model
│  │  └─dto
│  ├─repository
│  └─service
├─hit
│  ├─controller
│  ├─document
│  ├─error
│  ├─model
│  ├─repository
│  └─service
├─karaoke
│  ├─controller
│  ├─model
│  ├─repository
│  └─service
├─like
│  ├─controller
│  ├─document
│  ├─error
│  ├─model
│  ├─repository
│  └─service
├─notification
│  ├─cotnoller
│  ├─dto
│  ├─entity
│  ├─repository
│  ├─service
│  └─util
├─point
│  ├─controller
│  ├─model
│  │  ├─dto
│  │  └─entity
│  ├─repository
│  └─service
├─song
│  ├─controller
│  ├─model
│  │  └─entity
│  ├─repository
│  └─service
└─user
    ├─controller
    ├─document
    ├─error
    ├─model
    ├─repository
    ├─secure
    ├─service
    └─util