Hello, and thank you for visiting. This GitHub repository contains the implementation code for the model used in the singtome project. If you're interested in learning more about the singtome project, please refer to this link.
- Members
- Introduction
- Swagger Page
- Screen Composition
- API Documentation
- Used Languages, Libraries, Frameworks, Tools
| Profile | Name | Role |
|---|---|---|
| Heechan Chung anselmo |
Restful API with Spring Boot and AWS RDS |
The Sing-To-Me website is a platform where you can create new songs by overlaying different voices onto original tracks. Users can upload various voice files to train models, and then choose original songs and trained voices to blend together, creating new vocal combinations. Key features include:
- User login and management
- Uploading voice files and training models
- Blending original songs with trained voices to synthesize new songs
- Song playback
- Providing a Top100 list of popular songs
- Voice API: Controls every request against Voice List (Create, Read, Modify, Delete)
- AI Cover Song API: Controls every request against Voice List (Create, Read, Modify, Delete) and checking if the RVC model is running or not.
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 as follows: According to MVC pattern of Spring Boot. We folderized every contents into Model, Controllers, and Service. Each domain has its own Model, Controllers, and Services.
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.
| 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. |
| 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. |
| Endpoint | Method | Description |
|---|---|---|
/login |
POST |
Authenticates a user with their email and password. |
| Category | Details |
|---|---|
| Languages | Java, SQL |
| Libraries and Frameworks | Spring Boot |
| Tools | Intellij |