Skip to content

🎀 컨텐츠 기반 필터링 μ•Œκ³ λ¦¬μ¦˜μ„ ν™œμš©ν•œ λ…Έλž˜λ°© 선곑 μΆ”μ²œ μ„œλΉ„μŠ€

Notifications You must be signed in to change notification settings

suwhan2/SongPicker

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SongPicker

Description

🌈 ν”„λ‘œμ νŠΈ μ†Œκ°œ

🎈 μ„œλΉ„μŠ€ κ°œμš”

[컨텐츠 기반 필터링 μ•Œκ³ λ¦¬μ¦˜μ„ ν™œμš©ν•œ λ…Έλž˜λ°© 선곑 μΆ”μ²œ μ„œλΉ„μŠ€]

SongPickerλŠ” λ…Έλž˜λ°© 이용 데이터λ₯Ό λ°”νƒ•μœΌλ‘œ μ‚¬μš©μžμ˜ μ·¨ν–₯에 λ§žλŠ” 선곑을 μΆ”μ²œν•΄ μ£ΌλŠ” μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.
κ°œλ³„ 선곑 μΆ”μ²œλΏλ§Œ μ•„λ‹ˆλΌ νŒ€μ„ λ§Œλ“€μ–΄ νŒ€μ˜ λΆ„μœ„κΈ°μ— λ§žλŠ” λ…Έλž˜λ₯Ό μΆ”μ²œλ°›μ„ 수 있고, μž₯λ₯΄λ³„λ‘œ λ…Έλž˜λ₯Ό μΆ”μ²œλ°›μ„ 수 μžˆμŠ΅λ‹ˆλ‹€.
λ˜ν•œ QR κΈ°λŠ₯을 μ΄μš©ν•΄ λ…Έλž˜λ°© 기기에 μ—°λ™ν•˜μ—¬ μ‰½κ²Œ μ˜ˆμ•½ν•  수 있고, μΆ”μ²œ 차트 λ˜ν•œ λ…Έλž˜λ°© κΈ°κΈ° ν™”λ©΄μœΌλ‘œ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.


πŸ“† 진행 κΈ°κ°„

2024.08 - 2024.10 ( 8μ£Ό )


πŸ‘¨πŸ»β€πŸ’» 개발 인원

μ›μŠΉν˜„
@hyeon8571

BE
Leader
박은지
@eunji04

BE
μ΅œμˆ˜ν™˜
@suwhan2

BE
λ°•μ£Όμ˜
@jjuy00

FE
김민진
@codemj99

FE
μ‘°μ†Œμ—°
@soyeoning

FE

πŸ“Œ μ£Όμš”κΈ°λŠ₯ μ†Œκ°œ

πŸ’‘ 선곑 μΆ”μ²œ κΈ°λŠ₯

λ…Έλž˜λ°© 이용 데이터λ₯Ό 기반으둜 μ‚¬μš©μžμ—κ²Œ μ•Œλ§žμ€ 선곑을 μΆ”μ²œν•©λ‹ˆλ‹€.
개인 이용 기둝을 λ°”νƒ•μœΌλ‘œν•œ 개인 선곑 μΆ”μ²œ, κ·Έλ£Ή 이용 기둝을 λ°”νƒ•μœΌλ‘œν•œ κ·Έλ£Ή 선곑 μΆ”μ²œμ„ μ œκ³΅ν•©λ‹ˆλ‹€.

개인 선곑 μΆ”μ²œ κΈ°λŠ₯

κ·Έλ£Ή 선곑 μΆ”μ²œ κΈ°λŠ₯


πŸ’‘ λ…Έλž˜λ°© 연동 κΈ°λŠ₯

λ…Έλž˜λ°© 기기에 λΆ€μ—¬λœ QRμ½”λ“œλ₯Ό νƒœκΉ…ν•˜μ—¬ 연동할 수 μžˆμŠ΅λ‹ˆλ‹€.
연동을 μ™„λ£Œν•˜λ©΄ λ…Έλž˜λ₯Ό μ˜ˆμ•½ν•  수 있고, μΆ”μ²œ 차트λ₯Ό κΈ°κΈ°μ—μ„œλ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

κ°œλ³„(μ†”λ‘œ) λͺ¨λ“œ 연동 κΈ°λŠ₯

κ·Έλ£Ή λͺ¨λ“œ 연동 κΈ°λŠ₯

μ˜ˆμ•½ κΈ°λŠ₯

μ˜ˆμ•½ λͺ©λ‘ 쑰회

μΆ”μ²œ 차트 쑰회


πŸ’‘ κ·Έλ£Ή 생성 및 μ΄ˆλŒ€ κΈ°λŠ₯

그룹을 μƒμ„±ν•˜κ³  νŒ€μ›μ„ μ΄ˆλŒ€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
그룹에 λŒ€ν•œ 선곑 μΆ”μ²œμ„ 받을 수 μžˆμŠ΅λ‹ˆλ‹€.

κ·Έλ£Ή 생성 κΈ°λŠ₯

νŒ€μ› μ΄ˆλŒ€ κΈ°λŠ₯

νŒ€ μ΄ˆλŒ€ 수락/거절 κΈ°λŠ₯



μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜

μž‘μ„±μ€‘

개발 ν™˜κ²½

🟑 Frontend

  • 개발 μ–Έμ–΄: TypeScript 5.4.2
  • λΉŒλ“œ 툴: Vite 5.4.5
  • ν”„λ ˆμž„μ›Œν¬: React 18.3.1

🟒 Backend

  • 개발 μ–Έμ–΄: Java 17
  • λΉŒλ“œ 툴: Gradle 8.10.1
  • ν”„λ ˆμž„μ›Œν¬: SpringBoot 3.3.3

🟣 Data

  • 개발 μ–Έμ–΄: Python 3.11.10
  • ν”„λ ˆμž„μ›Œν¬: Django 4.2.16

βš’οΈ 기술 μŠ€νƒ

ν”„λ ˆμž„μ›Œν¬ 및 라이브러리


λ°μ΄ν„°λ² μ΄μŠ€


인프라 및 배포


πŸ–¨οΈ ERD

ERD 이미지

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

API λͺ…μ„Έμ„œ 보기

_C__Users_SSAFY_AppData_Local_Temp_c4329436-0718-4647-b396-b2cbe905768c_f7a73be4-594f-4e5b-ab72-76e4993032f9_Export-294bb2cb-2e83-4319-be1a-3d38250cf085 zip 68c_API%20%E1%84%86%E1%85%A7%E1%86%BC%E1%84%89%E1%85%A6%E

πŸ“‚ 디렉토리 ꡬ쑰

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

About

🎀 컨텐츠 기반 필터링 μ•Œκ³ λ¦¬μ¦˜μ„ ν™œμš©ν•œ λ…Έλž˜λ°© 선곑 μΆ”μ²œ μ„œλΉ„μŠ€

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 54.9%
  • Java 32.4%
  • Jupyter Notebook 7.3%
  • Python 2.9%
  • JavaScript 1.0%
  • HTML 0.9%
  • Other 0.6%