A cloud music player that user can upload music to and listen from.
├── music-cloud
│ ├── backend-go //a go project
│ ├── frontend-android //an Android project
│ ├── frontend-web //a web project
│ ├── screenshot //place to store UI screenshots
- a cloud server based on linux (In fact it's OK to do it on your computer locally if you just want to have a test. )
I would recommend you just download release executable targets from this page, also it is not a bad choice to build it from source code.
-
clone this project
cd ~ git clone https://github.com/IzumiSakai-zy/music-cloud.git
-
checkout dependencies then build executable target
cd ~/music-cloud/backend-go go get . #make sure dependency of this project is right env GOOS=linux GOARCH=amd64 go build -o music-cloud-linux-amd64
-
transfer executable target to your remote server based on linux. you can try scp command below or use some ftp client such as XFtp.
cd ~/music-cloud/backend-go scp music-cloud-linux-amd64 'username'@'ip address':~
-
setup Mysql database. just execute sql commands below.
create table `music-cloud`.song ( id varchar(64) not null primary key, title varchar(512) null, artist varchar(512) null );
-
login in your remote linux server and deploy backend service. you can just deploy it on your server itself, or you can deploy it in a docker container, whatever is OK.
ssh 'username'@'ip address' cd ~ mkdir music-cloud nohup ./music-cloud-linux-amd64 --MysqlServerHost 'mysql server address' --MysqlPassword 'mysql password' > log.txt &
-
Over
click this page
note that the apk in this page uses a backend service which is just for testing.
I can't guarantee the backend service will be ok in the future.
I strongly recommend you build your own apk from source code.
-
clone project. (just skip if you have done it in 'backend-go quick start')
cd ~ git clone https://github.com/IzumiSakai-zy/music-cloud.git
-
set your your own backend service ip address in this file
package izumi.music_cloud.global object GlobalConst { //here to set your BASE_URL for retrofit const val BASE_URL = "http://xxx.xxx.xxx.xxx:8001" }
-
build
cd ~/frontend-anroid ./gradlew build # this step will sync gradle to get dependencies then build a debug apk if it's success to sync.
-
over
still in progress!!!