Skip to content

lyricit/lyricit-be

Folders and files

NameName
Last commit message
Last commit date

Latest commit

de4afc9 · Apr 4, 2024
Mar 12, 2024
Apr 3, 2024
Apr 3, 2024
Apr 3, 2024
Apr 3, 2024
Apr 3, 2024
Apr 3, 2024
Apr 3, 2024
Apr 3, 2024
Apr 3, 2024
Apr 3, 2024
Mar 12, 2024
Apr 3, 2024
Apr 3, 2024
Mar 12, 2024
Mar 12, 2024
Apr 3, 2024

Repository files navigation

main


📚 TOC



🤝 Backend

김건우 윤동휘

🙋‍♂️ Role

김건우

  • 백엔드 리더
  • 서버 CI/CD 구축 및 인프라 총괄
  • 웹소켓 통신 구축
  • 회원 기능 API 구축
  • 채팅 기능
  • 방 생성 및 게임 참여 API 구축
  • 게임 플로우 전체 리팩토링
  • 게임 내 타이머 스케줄링

윤동휘

  • 게임 준비 및 시작 기능
  • 게임 플로우 구축
  • 게임 내 가사 검색 기능
  • 발표 전체 담당

🕊️ Deploy URL


📝 Specification



📢 Introduction

main-service

  • LYRIC:IT (리릭잇)
  • 노래 가사 기반 게임 서비스
  • 채팅 기능을 통해 웹 기반의 인터렉티브한 소통형 게임을 즐길 수 있다.
  • 가사 데이터를 전처리하여 단어 별 빈도를 기준으로 랜덤 키워드를 라운드마다 제시한다.
  • 키워드가 포함된 가사를 입력한뒤, 해당 가사를 포함하는 곡의 제목과 가수를 입력한다.
  • 정답을 맞추면 라운드마다 선착순 별로 차등된 점수를 획득한다.

sub-service

  • 가사 키워드 데이터 사전 검색 기능


🛠️ Skills

language

  • Java 17

framework

  • SpringBoot 3.2.1
  • Spring Data JPA

sub

  • WebSocket (STOMP)
  • Quartz Scheduler

database

  • MySQL 8.0.35
  • Redis 7.2

ci / cd

  • AWS EC2
  • Jenkins
  • Docker, Docker Hub, Portainer
  • Nginx Proxy Manager


🌐 System Architecture

system_architecture



🏠 Service Layout

landing lobby
Main Page Lobby
room game
Room Game
score dictionary
Correct Answer Wrong Answer
score dictionary
Result Dictionary


⚙️ Function

🎯 회원

💡 WebSocket session 기반 간편 가입 & 로그인

  • 회원 가입 및 로그인(웹소켓 연결)
  • 로그아웃 (웹소켓 세션 종료)

🎯 로비

💡 전체 채팅, 방 생성, 입장, 상태 업데이트

  • 로비 채팅 기능
  • 로그인 회원 조회
  • 방 생성
  • 방 입장
  • 방 목록 조회
  • 방 업데이트 시 STOMP 를 통한 실시간 상태 연동 (인원, 게임 실행 상태 등)

🎯 사전

💡 Elastic Search 를 활용한 노래 가사 사전 검색

  • 가사 키워드 검색

🎯 게임 방

💡 Redis 기반 게임 방 관리

  • 실시간 채팅
  • 게임 준비 상태 변경
  • 방장 변경 및 방 자동 삭제
  • 게임 시작

🎯 게임

💡 웹소켓 통신을 통한 실시간 채팅 기반 소통형 게임

  • 실시간 채팅을 통한 정답 제출
  • 단어 빈도 기반 랜덤 키워드 제시
  • 라운드 별 초 단위 스케줄링
  • 선착 순 점수 부여
  • 점수 합산을 통한 게임 결과 확인

About

리릭잇 backend repo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages