Skip to content

silverttthin/muse

Repository files navigation

Muse

[English]

Muse는 사용자의 취향에 맞는 음악을 발견하고 다른 사람들과 음악적 경험을 공유할 수 있는 웹 애플리케이션입니다.

  • 총 9824개의 노래를 담은 방대한 음악 데이터 기반으로 사용자들이 직접 평점과 리뷰를 남기고 소통할 수 있습니다.
  • 모든 노래에 대해 Spotify 듣기 링크와 아티스트 상세 정보 페이지를 제공합니다.
  • 단순한 음악 커뮤니티를 넘어 사용자가 남긴 평점 기반 개인화 추천 기능을 제공합니다
  • 음악에 대한 깊이 있는 칼럼이 제공되고 댓글을 통해 다양한 의견을 나눌 수 있습니다.

주요 기능

  • 음악 검색 및 상세 정보: 원하는 곡을 검색하고, 앨범 커버, 아티스트, 오디오 특성 등 상세 정보를 확인하고 노래를 들을 수 있습니다.
  • 평점 및 리뷰: 좋아하는 곡에 별점을 매기고, 상세한 리뷰, 그리고 댓글을 작성하여 다른 사용자들과 감상을 공유할 수 있습니다.
  • 개인화 추천: 사용자의 평점 기록을 기반으로 한 개인화된 음악 추천을 제공합니다. 추천 기능은 추천용 FastAPI 서버에서 서빙합니다.
  • 음악 칼럼: 음악에 대한 깊이 있는 이야기를 읽고 댓글로 의견을 나눌 수 있는 칼럼 게시판 기능을 제공합니다.
  • 소셜 기능: 사용자간 팔로잉/팔로우 및 목록을 확인할 수 있습니다.
  • 관리자 페이지: 사용자 관리 기능 및 패턴 매칭 비속어 필터링 기능을 통해 서비스 운영을 위한 관리자 기능을 제공합니다.

기술 스택

  • Backend: Java, Spring Boot, Spring Security(used only for password encryption), Spring Data JPA
  • Frontend: Thymeleaf, HTML, CSS
  • Build Tool: Gradle
  • Containerization: Docker
  • Deployment: Private Home Server (self-hosted, running in my room)

아키텍쳐

muse 아키텍쳐

프로젝트 구조

src
└── main
    ├── java
    │   └── org
    │       └── siwoong
    │           └── muse
    │               ├── admin # 관리자 기능
    │               ├── column # 칼럼 기능
    │               ├── common # 기본 엔터티, 보안 등 유틸 모음
    │               ├── page # 정적 페이지 컨트롤러
    │               ├── profanity # 비속어 감지 기능 API 클라이언트
    │               ├── recommendation # 추천 로직 API 클라이언트
    │               ├── search # 검색 기능
    │               ├── song # 노래, 평점, 리뷰 기능
    │               └── user # 사용자, 소셜 및 인증 기능
    └── resources
        ├── static
        │   ├── css
        │   └── images
        └── templates
            ├── admin
            ├── column
            ├── error # 404 페이지
            ├── fragments # 공통 컴포넌트 UI(nav)
            ├── search
            ├── song
            └── user

ERD

ERD Diagram

Muse

Muse is a web application designed for discovering music tailored to individual tastes and sharing musical experiences with others.

  • Extensive Database: Features a vast collection of 9,824 songs, allowing users to leave ratings, reviews, and interact with the community.
  • Comprehensive Details: Provides Spotify listen links and detailed artist information for every song.
  • Personalized Recommendations: Goes beyond a simple community by offering personalized music recommendations based on user ratings.
  • In-depth Content: Features professional music columns where users can engage in discussions through comments.

Key Features

  • Music Search & Details: Search for any song and view detailed information including album art, artist info, and audio characteristics while listening to tracks.
  • Ratings & Reviews: Rate your favorite songs, write detailed reviews, and share your impressions with other users via comments.
  • Personalized Recommendations: Delivers tailored music suggestions based on a user's rating history. This feature is served by a dedicated FastAPI Recommendation Server.
  • Music Columns: A dedicated board for reading in-depth music stories and exchanging opinions through comments.
  • Social Networking: Connect with other users through follow/following features and view social lists.
  • Admin Dashboard: Provides administrative tools for service operations, including user management and pattern-matching profanity filtering.

Tech Stack

  • Backend: Java, Spring Boot, Spring Security (used for password encryption), Spring Data JPA
  • Frontend: Thymeleaf, HTML, CSS
  • Build Tool: Gradle
  • Containerization: Docker
  • Deployment: Private Home Server (Self-hosted)

Architecture

muse 아키텍쳐

Project Structure

src
└── main
    ├── java
    │   └── org
    │       └── siwoong
    │           └── muse
    │               ├── admin          # Admin functionalities
    │               ├── column         # Music column features
    │               ├── common         # Base entities, security, and utilities
    │               ├── page           # Static page controllers
    │               ├── profanity      # Profanity detection API client
    │               ├── recommendation # Recommendation logic API client
    │               ├── search         # Search functionalities
    │               ├── song           # Song, rating, and review features
    │               └── user           # User profile, social, and authentication
    └── resources
        ├── static
        │   ├── css
        │   └── images
        └── templates
            ├── admin
            ├── column
            ├── error          # 404 and error pages
            ├── fragments      # Common UI components (navbar, etc.)
            ├── search
            ├── song
            └── user

ERD

ERD Diagram

About

2025-2 데이터베이스 텀프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published