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)
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
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.
- 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.
- 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)
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

