[컨텐츠 기반 필터링 알고리즘을 활용한 노래방 선곡 추천 서비스]
SongPicker는 노래방 이용 데이터를 바탕으로 사용자의 취향에 맞는 선곡을 추천해 주는 서비스입니다.
개별 선곡 추천뿐만 아니라 팀을 만들어 팀의 분위기에 맞는 노래를 추천받을 수 있고, 장르별로 노래를 추천받을 수 있습니다.
또한 QR 기능을 이용해 노래방 기기에 연동하여 쉽게 예약할 수 있고, 추천 차트 또한 노래방 기기 화면으로 볼 수 있습니다.
2024.08 - 2024.10 ( 8주 )
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|---|
| 원승현 @hyeon8571 BELeader |
박은지 @eunji04 BE |
최수환 @suwhan2 BE |
박주영 @jjuy00 FE |
김민진 @codemj99 FE |
조소연 @soyeoning FE |
노래방 이용 데이터를 기반으로 사용자에게 알맞은 선곡을 추천합니다.
개인 이용 기록을 바탕으로한 개인 선곡 추천, 그룹 이용 기록을 바탕으로한 그룹 선곡 추천을 제공합니다.
노래방 기기에 부여된 QR코드를 태깅하여 연동할 수 있습니다.
연동을 완료하면 노래를 예약할 수 있고, 추천 차트를 기기에서도 확인할 수 있습니다.
그룹을 생성하고 팀원을 초대할 수 있습니다.
그룹에 대한 선곡 추천을 받을 수 있습니다.
- 개발 언어: TypeScript 5.4.2
- 빌드 툴: Vite 5.4.5
- 프레임워크: React 18.3.1
- 개발 언어: Java 17
- 빌드 툴: Gradle 8.10.1
- 프레임워크: SpringBoot 3.3.3
- 개발 언어: Python 3.11.10
- 프레임워크: Django 4.2.16
프레임워크 및 라이브러리
데이터베이스
인프라 및 배포
|
frontend .
├── README.md
├── eslint.config.js
├── index.html
├── package-lock.json
├── package.json
├── postcss.config.js
├── public
│ ├── basicImg.png
│ ├── firebase-messaging-sw.js
│ ├── fonts
│ ├── icons
│ ├── manifest.json
│ └── songPicker_icon.png
├── src
│ ├── App.css
│ ├── App.tsx
│ ├── assets
│ ├── components
│ ├── firebaseConfig.ts
│ ├── hooks
│ ├── index.css
│ ├── layouts
│ ├── main.tsx
│ ├── pages
│ ├── react-qr-scanner.d.ts
│ ├── services
│ ├── stores
│ ├── styles
│ └── vite-env.d.ts
├── tailwind.config.js
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts |
backend .
├── java
│ └── com
│ └── fastarm
│ └── back
│ ├── BackApplication.java
│ ├── auth
│ │ ├── config
│ │ ├── controller
│ │ ├── dto
│ │ ├── enums
│ │ ├── exception
│ │ ├── security
│ │ └── service
│ ├── basedata
│ │ ├── constants
│ │ ├── controller
│ │ ├── dto
│ │ ├── entity
│ │ ├── exception
│ │ ├── repository
│ │ └── service
│ ├── common
│ │ ├── config
│ │ ├── constants
│ │ ├── controller
│ │ ├── exception
│ │ └── service
│ ├── connection
│ │ ├── controller
│ │ ├── dto
│ │ ├── entity
│ │ ├── enums
│ │ ├── exception
│ │ ├── repository
│ │ └── service
│ ├── history
│ │ ├── controller
│ │ ├── dto
│ │ ├── entity
│ │ ├── repository
│ │ └── service
│ ├── karaoke
│ │ ├── dto
│ │ ├── entity
│ │ └── repository
│ ├── likes
│ │ ├── controller
│ │ ├── dto
│ │ ├── entity
│ │ ├── exception
│ │ ├── repository
│ │ └── service
│ ├── member
│ │ ├── controller
│ │ ├── dto
│ │ ├── entity
│ │ ├── enums
│ │ ├── exception
│ │ ├── repository
│ │ ├── service
│ │ └── validation
│ ├── notification
│ │ ├── controller
│ │ ├── dto
│ │ ├── entity
│ │ ├── enums
│ │ ├── exception
│ │ ├── repository
│ │ └── service
│ ├── song
│ │ ├── constants
│ │ ├── controller
│ │ ├── dto
│ │ ├── entity
│ │ ├── enums
│ │ ├── exception
│ │ ├── repository
│ │ └── service
│ └── team
│ ├── controller
│ ├── dto
│ ├── entity
│ ├── exception
│ ├── repository
│ ├── service
│ └── validation
└── resources
├── application.yml
|
노래방 서비스 디렉토리 구조
|
karaoke_front .
├── README.md
├── dist
│ ├── assets
│ ├── fonts
│ └── index.html
├── eslint.config.js
├── index.html
├── package-lock.json
├── package.json
├── postcss.config.js
├── public
│ └── fonts
├── src
│ ├── App.css
│ ├── App.tsx
│ ├── assets
│ ├── atoms
│ ├── hooks
│ ├── index.css
│ ├── main.tsx
│ ├── molecules
│ ├── organisms
│ ├── pages
│ ├── services
│ ├── shared
│ ├── styles
│ ├── template
│ ├── utils
│ └── vite-env.d.ts
├── tailwind.config.js
├── tsconfig.app.json
├── tsconfig.app.tsbuildinfo
├── tsconfig.json
├── tsconfig.node.json
├── tsconfig.node.tsbuildinfo
└── vite.config.ts
|
karaoke_back .
├── java
│ └── com
│ └── fastarm
│ └── back
│ ├── BackApplication.java
│ ├── common
│ │ ├── config
│ │ ├── constants
│ │ ├── controller
│ │ ├── exception
│ │ └── service
│ ├── connection
│ │ ├── entity
│ │ ├── enums
│ │ └── repository
│ ├── history
│ │ ├── entity
│ │ └── repository
│ ├── karaoke
│ │ ├── constants
│ │ ├── controller
│ │ ├── dto
│ │ ├── entity
│ │ ├── exception
│ │ ├── repository
│ │ └── service
│ ├── member
│ │ ├── entity
│ │ ├── enums
│ │ ├── exception
│ │ └── repository
│ ├── song
│ │ ├── entity
│ │ ├── exception
│ │ └── repository
│ └── team
│ ├── entity
│ ├── exception
│ └── repository
└── resources
└── application.yml
|




















