Skip to content

API description

μœ μ’…λ¬Έ edited this page Jun 14, 2024 · 2 revisions

API Documentation for Sing-To-Me Backend Services

This document provides detailed information about the API endpoints available for interacting with the Sing-To-Me backend services. These APIs allow users to manage and interact with voice and AI cover song functionalities.


Table of Contents

  1. Swagger Page
  2. Screen Composition
  3. API Documentation

1. Swagger Page

Swagger Page Screenshot

  • 🎀 Voice API: Manages all requests related to the Voice List (Create, Read, Update, Delete).
  • 🎢 AI Cover Song API: Manages all requests related to the AI Cover Song List (Create, Read, Update, Delete) and checks the status of the RVC model.

2. Screen Composition

2.1 Folder Structure

domain/
β”œβ”€β”€ config/
β”œβ”€β”€ controller/
β”‚   β”œβ”€β”€ UserController.java
β”‚   β”œβ”€β”€ UvrStatusController.java
β”‚   β”œβ”€β”€ ...
β”œβ”€β”€ entity/
β”‚   β”œβ”€β”€ User.java
β”‚   β”œβ”€β”€ UvrStatus.java
β”‚   β”œβ”€β”€ ...
β”œβ”€β”€ repository/
β”‚   β”œβ”€β”€ UserRepository.java
β”‚   β”œβ”€β”€ VoiceRepository.java
β”‚   β”œβ”€β”€ ...
β”œβ”€β”€ jwt/
β”œβ”€β”€ service/

The project's folder structure is organized according to the MVC pattern of Spring Boot, with each domain having its own Models, Controllers, and Services.


3. API Documentation

This section details the API endpoints available for interacting with the Sing-To-Me backend services. The APIs allow users to manage and interact with voice and AI cover song functionalities.

🎢 AI Cover Song API

Endpoint Method Description
/convertedsong/list GET Retrieves a list of all converted songs.
/convertedsong/list/{user_id} GET Retrieves a list of songs converted by a specific user.
/convertedsong/likes/{user_id}/{converted_id} POST Adds or removes a like from a converted song by the specified user.
/convertedsong/playCount GET Retrieves a paginated list of songs sorted by play count.
/convertedsong/top10 GET Retrieves a list of the top 10 converted songs by play count.
/convertedsong/{converted_id} POST Increments the play count each time a converted song is played.

🎀 Voice API

Endpoint Method Description
/voice/list/{user_id} GET Retrieves a list of voices created by a specific user.
/voice/likes/{user_id}/{voice_id} POST Adds or removes a like from a voice by the specified user.

πŸ‘€ User API

Endpoint Method Description
/login POST Authenticates a user with their email and password.


Author: HeeChang Chung
Last modified: June 14. 2024

Clone this wiki locally