https://github.com/ppvan/moon
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/ppvan/moon
- Owner: ppvan
- Created: 2023-10-14T06:40:08.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-05T06:30:54.000Z (over 2 years ago)
- Last Synced: 2024-02-19T21:37:15.168Z (over 2 years ago)
- Language: Kotlin
- Size: 19.4 MB
- Stars: 0
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Moon
## Phía front-end
Giao diện tab, là một app nghe nhạc offline bth
có chức năng upload và sync nhạc lên server
- Danh sách nhạc
- View khi phát nhạc
- tua, next các kiểu
### Giao diện tab
- Gồm các tab: bài hát, album, nghệ sĩ danh sách phát
Bài hát: Liệt kê các bài hát
Album: Liệt kệ các album, khi click vào album đó sẽ hiện ra một danh sách bài hát (thuộc album đó).
Nghệ sĩ: Như album
Danh sách phát: Như album.
### Chơi nhạc
- Chơi nhạc trên android kiểu gì?
- Làm sao để load được file nhạc?
- Làm sao để có thể next, load, tạm dừng?
### Phía backend
Gồm hai thực thể chính là
- User
- Song
- Playlist
Yêu thích cũng chỉ là playlist đặc biệt
quan hệ 1 User -> n playlist
1 playlist -> n song
-> 1 user : n song
1 song sẽ có 1 field playlists: Favorite;Playlist1;Playlist2;
-> dễ hơn cho việc đồng bộ.
Phía server cần có CRUD các thực thể này
- Quản lý user (có sẵn trong Spring, game dễ)
- Quản lý playlist (CRUD)
- Quản lý bài hát (Chỉ sync thôi, muốn nghe thì phải sync từ mobile trước)
### Usecase
- Đăng ký
- Đăng nhập
- Đăng xuất
- Bảo vệ api
Spring security
session based
JWT -> stateless.
## Hành vi
Sau khi cài đặt -> bắt người dùng đăng ký tài khoản
Quét các file nhạc trên máy
Chức năng đồng bộ:
đồng bộ danh sách playlist và nhạc lên server.