Skip to content
@Music-Web-Micro-service

MelodyBay

A Microservice Spring Boot and JPA project designed to share copyright-free music. Now is still developing

🎵 MelodyBay: Copyright-free Music Sharing Platform with Microservices

MelodyBay is a copyright-free music-sharing platform designed to provide a wide range of features for music lovers and artists. Our platform emphasizes effortless sharing, discovering, and appreciating copyright-free music.

🌟 Features

Users can

  • Listen, download, and search for songs.
  • Create and manage playlists.
  • Add songs to favorites.
  • Share songs with friends.
  • Get personalized song recommendations.
  • User account management for registration and login.
  • Become an artist to upload songs.

🔍 Services

  • Discovery service: Responsible for a service registry monitoring the heartbeat of all servers using Eureka.
  • Feign service: Responsible for HTTP requests between servers via Feign API.
  • Gateways service: Responsible for routing requests using Spring Gateway.
  • User service: Manage user information and roles, and support artist profiles and bands using MySQL and JPA.
  • Media service: Handles all images, videos, and music files; responsible for uploading files to MinIO and sending information to the music library with MySQL, MinIO, JPA, and RabbitMQ.
  • Music library service: Stores all music information using MySQL, and users can use this service to query for specific music; Use RabbitMQ for music information updates.
  • Playlist service: Responsible for collecting playlist songs using JPA and MySQL.
  • Listen history service: Responsible for the history of the music the user listened to using MongoDB.
  • Elasticsearch service: Responsible for quickly searching for words entered by the user, including prefixes and fuzzy searches, as well as saving basic display information for album, track, and artist.
  • Recommendations service: Responsible for music recommendations based on user behavior and trends.
  • Authentication service: Validates user login and registration information, and tokens operations using MySQL, JPA, Spring Security, OAuth2, and JWT.

🛠 Technologies

💻 Frontend

  • TypeScript
  • React
  • Material UI

🖥 Backend

  • Java
  • Spring Boot
  • Spring Cloud
  • MySQL
  • Hibernate
  • Elasticsearch
  • Eruka
  • RabbitMQ
  • MinIO
  • Redis
  • Spring Gateway
  • Load Balancing
  • OAuth 2 Authentication

Popular repositories Loading

  1. music-web-frontend music-web-frontend Public

    TypeScript

  2. music-web-common music-web-common Public

    Java

  3. music-web-parent music-web-parent Public

    Dockerfile

  4. discovery-service discovery-service Public

    Java

  5. authentication-service authentication-service Public

    Java

  6. feign-service feign-service Public

    Java

Repositories

Showing 10 of 16 repositories
  • Music-Web-Micro-service/music-web-frontend’s past year of commit activity
    TypeScript 0 0 0 1 Updated Feb 15, 2024
  • Music-Web-Micro-service/playlist-service’s past year of commit activity
    Java 0 0 0 0 Updated Jan 8, 2024
  • .github Public
    Music-Web-Micro-service/.github’s past year of commit activity
    0 0 0 0 Updated Jan 8, 2024
  • user-service Public
    Music-Web-Micro-service/user-service’s past year of commit activity
    Java 0 0 0 0 Updated Nov 23, 2023
  • Music-Web-Micro-service/recommendations-service’s past year of commit activity
    Java 0 0 0 0 Updated Nov 23, 2023
  • feign-service Public
    Music-Web-Micro-service/feign-service’s past year of commit activity
    Java 0 0 0 0 Updated Nov 22, 2023
  • Music-Web-Micro-service/listen-history-service’s past year of commit activity
    Java 0 0 0 0 Updated Nov 22, 2023
  • Music-Web-Micro-service/gateways-service’s past year of commit activity
    Java 0 0 0 0 Updated Nov 14, 2023
  • Music-Web-Micro-service/authentication-service’s past year of commit activity
    Java 0 0 0 0 Updated Nov 7, 2023
  • Music-Web-Micro-service/elasticsearch-service’s past year of commit activity
    Java 0 0 0 0 Updated Nov 5, 2023

Top languages

Loading…

Most used topics

Loading…