Tải bản đầy đủ (.docx) (29 trang)

ĐỒ án ỨNG DỤNG NGHE NHẠC BẰNG SWIFT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (906.07 KB, 29 trang )

ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

Báo cáo đồ án cuối kỳ
[ỨNG DỤNG NGHE NHẠC BẰNG SWIFT]
Giảng viên hướng dẫn: ThS. Thái Thụy Hàn Uyển
Sinh viên thực hiện:
Nguyễn Thanh Hoàng -

17520514

Lê Việt Bách

17520261

-

Lớp: NT118.K11.MMCL
Môn học: Đồ án 2

TP HCM, Ngày 01 tháng 1 năm 2021

1


ỨNG DỤNG NGHE NHẠC



GVHD: ThS. Thái Thụy Hàn Uyển

LỜI MỞ ĐẦU
Thời nay xã hội ngày càng tiến bộ, nền tảng công nghệ thông tin
phát triển mạnh mẽ cùng với sự ra đời của nhiều thiết bị di động như
điện thoại, máy tính bảng,… ngày càng được ưa chuộng và khơng thể
thiếu trong cuộc sống. Do đó việc xây dựng ứng dụng cho các thiết bị
trên ngày càng được nhiều người quan tâm. Các ứng dụng dựa trên
nền tảng là hệ điều hành cho thiết bị di động ngày càng phong phú,
đáp ứng được nhiều nhu cầu sống cho xã hội.
Nắm bắt được những cơ hội cung cấp các sản phẩm giải trí,
nhóm em quyết định chọn xây dựng một ứng dụng nghe nhạc với mục
đích đem lại cho những người yêu thích âm nhạc những tác phẩm
nghệ thuật phù hợp với mọi lứa tuổi.
Chúng em đã làm xong đề tài này, chắc chắn khơng tránh khỏi
nhiều thiếu xót, rất mong được sự đóng góp đóng góp ý kiến của thầy
cơ và các bạn.
Chúng em chân thành cảm ơn !

2


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

NHẬN XÉT CỦA GIẢNG VIÊN
…………………………………………………………………………
…………………………………………………………………………

…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
……..…………………………………..
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
…………………………………………………………………………
………………………………………..………………..
…………………………………………………………………………

3


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

…………………………………………………………………………
………………………………………

4


ỨNG DỤNG NGHE NHẠC


GVHD: ThS. Thái Thụy Hàn Uyển

Mục lục

5


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

CHƯƠNG I: GIỚI THIỆU CHUNG ĐỀ TÀI ĐỒ ÁN
“ỨNG DỤNG DI ĐỘNG”
1.Lý do chọn đề tài
Âm nhạc là món ăn tinh thần không thể thiếu của những người yêu âm
nhạc. Với công nghệ ngày càng phát triển, việc cho ra đời nhiều ứng
dụng nghe nhạc rất hữu ích và tiện lợi đối với người nghe nhạc. Vừa tiết
kiệm được thời gian lại tiết kiệm được tiền bạc. Đối với nghệ sĩ, họ sẽ
chạy được quảng cáo về sản phẩm của họ cho công chúng một cách
tiện lợi hơn và nhờ vậy nghệ sĩ họ sẽ càng có thể gây chú ý nhiều hơn
cho tên tuổi của họ.

2.Phân tích hệ thống
o

Các tác nhân :
Người sử dụng (user)

o


Các use case:
o Tìm kiếm
o Nghe nhạc (Online/ Offline)
o u thích (Thêm vào Playlist)

Mơ tả bài tốn
Ứng dụng bao gồm các chức năng chính sau:
o
o

Nghe nhạc
Tìm kiếm

Khi truy cập vào ứng dụng, người dùng có thể xem các thơng tin theo
từng mục và nghe nhạc miễn phí.
Đặc tả hệ thống:
Người dùng chọn 1 trong những chức năng sau của chương trình đề
thực hiện.
o

Tìm kiếm bài hát: Người dùng có thẻ xem thơng tin bài hát, thể loại
hoặc ca sĩ mà họ muốn nghe. Khi người dùng nhập tên bài hát
trong khung tìm kiếm và chạm vào biểu tượng tìm kiếm, hệ thống
6


ỨNG DỤNG NGHE NHẠC

o


GVHD: ThS. Thái Thụy Hàn Uyển

sẽ cho ra bài hát có tên giống với tên mà người dùng nhập và cho
người dùng chọn bài hát đó.
Nghe nhạc : Cho phép người dùng nghe được bài hát được chọn.
Người dùng có thể tạm dừng, tiếp tục, xem lyric, xem lại playlist,
chuyển bài.
• Kết luận:
Bài tốn đặt ra là:
- Xây dựng ứng dụng cho phép người sử dụng điện thoại Iphone
có thể tìm kiếm nhạc, nghe nhạc và tải nhạc về điện thoại.
- Là ứng dụng có ngơn ngữ thiết kế hiện đại, bắt trend.
Các vấn đề cần giải quyết:
- Để xây dựng được một ứng dụng nghe nhạc trực tuyến cần giải
quyết các
vấn đề sau:
o Giao diện thân thiện và dễ sử dụng: Để giải quyết vấn đề
này ta cần phải có một con mắt thẩm mỹ và kinh nghiệm về
cách bố trí các chức năng của một chương trình để có thể
thiết kế một cách tiện lợi nhất về chức năng của chương
trình để người dùng có thể tiếp cần một cách dễ dàng nhất.
o Các thông tin đưa ra phải chính xác và đầy đủ: Thơng tin về
bài hát và ca sĩ phải được đưa ra đầy đủ và chính xác.
• Phạm vi giải quyết
Các vấn đề cần giải quyết được thực hiện trong phạm vi chương
trình với mục đích là giúp người dùng tiếp cần với chương trình
một cách dễ dàng nhất

7



ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

2.1. Usecase hệ thống

Tác nhân
User

Usescase
Tìm kiếm
Nghe nhạc

2.2. Usecase nghe nhạc
- Sự kiện kích hoạt: Người dùng khởi động ứng dụng, người dùng nhập
tên bài hát vào trong khung tìm kiếm và chạm vào biểu tượng tìm kiếm,
hệ
thống sẽ xuất ra những bài hát có tên giống với tên mà người sử dụng
đã nhập
và cho phép người sử dụng chọn bài hát.
 Luồng sự kiện chính:






Người dùng khởi động ứng dụng

Ứng dụng hiển thị thanh tìm kiếm
Người dùng nhập bài hát muốn nghe
Hệ thống đưa ra list bài hát
Người dùng chọn bài hát đúng theo ý người dùng

Hành động của tác nhân
Người dùng nhập bài hát
Người dùng chọn bài hát muốn
nghe

Phản ứng hệ thống
Hệ thống xuất ra danh sách bài hát
Hệ thống phát bài hát

8


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

2.3. Sơ đồ tuần tự

Sơ đổ tuần tự chức năng nghe nhạc

9


ỨNG DỤNG NGHE NHẠC


GVHD: ThS. Thái Thụy Hàn Uyển

2.4. Sơ đồ hoạt động

10


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

CHƯƠNG II: XÂY DỰNG CHƯƠNG TRÌNH
1. Cấu trúc database

Bảng album
PK

IdAlbum
TenAlbum
TenCaSiAlbum
HinhAlbum

int(11)
Varchar(255)
Varchar(255)
Varchar(255)

IdTheLoai
IdChuDe
TenTheLoai

HinhTheLoai

int(11)
Varchar(255)
Varchar(255)
Varchar(255)

Bảng theloai
PK
FK1

11


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

Bảng baihat
PK
FK1
FK2
FK3

IdBaiHat
IdTheLoai
IdAlbum
IdPlaylist
TenBaiHat
HinhBaiHat

Casi
LinkBaiHat
Luotnghe

int(11)
Varchar(255)
Varchar(255)
Varchar(255)
Varchar(255)
Varchar(255)
Varchar(255)
Varchar(255)
Int(11)

IdChuDe
TenChuDe
HinhChuDe

Int(11)
Varchar(255)
Varchar(255)

IdPlayList
Ten
Hinhnen
Hinhicon

Int(11)
Varchar(255)
Varchar(255)

Varchar(255)

Bảng chude
PK

Bảng playlist
PK

Bảng quangcao
PK
FK1

ID
Hinhanh
Noidung
Idbaihat

Int(11)
Varchar(255)
Varchar(255)
Int(11)

12


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

2. Thiết kế giao diện

2.1. Giao diện trang chủ

13


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

2.2. Giao diện tìm kiếm, cài đặt

14


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

2.3. Giao diện Playlist

15


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

2.4 Giao diện Album

16



ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

2.6. Giao diện khi phát nhạc

17


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

2.7. Giao diện đăng nhập, đăng ký

18


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

3. API Endpoint
Bảng thiết kế bộ API Endpoint cho từng module
theo từng usecase
Module Album
Id
getTrackByAlbumId

getByAlbumId
getByAlbumId

Module Artists
Id

METHOD
get
get
get

ENDPOINT
/v1/albums/{Id}/tracks
/v1/albums/{Id}
/v1/albums

USAGE
get an Album's Tracks
get an Album
get Several Albums

ENDPOINT

USAGE

getAlbumByArtistsId
getRelateByArtistsId
getTopTrackByArtistsId
getByArtistsId
getByArtistsId


METHO
D
get
get
get
get
get

/v1/artists/{Id}/albums
/v1/artists/{Id}/related-artists
/v1/artists/{Id}/top-tracks
/v1/artists/{Id}
/v1/artists

get an Artist's Albums
get an Artist's Related Artists
get an Artist's Top Tracks
get an Artist
get Several Artists

Module Browse
Id
getGenreSeeds

METHOD
get

USAGE
get Available Genre Seeds


getListCategories

get

ENDPOINT
/
v1/recommendations/availa
ble-genre-seeds
/v1/browse/categories

getCategoriesAlbumId

get

getPlaylistByCategoryI
d
getFeaturedPlaylist

get

getNewReleaseSongs
getRecommendSongs

get
get

get

/v1/browse/categories/

{category_Id}
/v1/browse/categories/
{category_Id}/playlists
/v1/browse/featuredplaylists
/v1/browse/new-releases
/v1/recommendations

get a List of Browse
Categories
get a Single Browse
Category
get a Category's playlists
get a List of Featured
Playlists
get a List of New Releases
get Recommendations
Based on Seeds

19


ỨNG DỤNG NGHE NHẠC
Module Library
Id

METHO
D
DELETE
DELETE
DELETE

GET
GET
GET
GET
GET
GET
PUT
PUT
PUT

removeAlbums
removeShows
removeTracks
checkAlbums
checkShows
checkTracks
getUserAlbums
getUserShows
getUserTracks
SaveAlbums
SaveShows
SaveTracks

Module
Player
Id
getRecentlyTr
acks

METHOD

GET

getCurrentPla
yback
getAvailableD
evices

GET

getCurrentTra
ck

GET

goToNextTrac
k

POST

goToPreviousT
rack

POST

createOne

POST

sendPause


PUT

sendStart

PUT

sendToggleRe
peat

PUT

sendPositionT
rack

PUT

GET

GVHD: ThS. Thái Thụy Hàn Uyển
ENDPOINT

USAGE

/v1/me/albums
/v1/me/shows
/v1/me/tracks
/v1/me/albums/contains
/v1/me/shows/contains
/v1/me/tracks/contains
/v1/me/albums

/v1/me/shows
/v1/me/tracks
/v1/me/albums
/v1/me/shows
/v1/me/tracks

Remove Albums for Current User
Remove User's Saved Shows
Remove Tracks for Current User
Check Current User's Saved Albums
Check User's Saved Shows
Check Current User's Saved Tracks
Get Current User's Saved Albums
Get User's Saved Shows
Get Current User's Saved Tracks
Save Albums for Current User
Save Shows for Current User
Save Tracks for Current User

ENDPOINT
/
v1/me/player/rec
ently-played
/v1/me/player
/
v1/me/player/de
vices
/
v1/me/player/cur
rently-playing

/
v1/me/player/nex
t
/
v1/me/player/pre
vious
/
v1/me/player/qu
eue
/
v1/me/player/pa
use
/
v1/me/player/pla
y
/
v1/me/player/rep
eat
/
v1/me/player/see

USAGE
Get the Current User's Recently Played Tracks
Get Information About The User's Current
Playback
Get a User's Available Devices
Get the User's Currently Playing Track
Skip User's Playback To Next Track
Skip User's Playback To Previous Track
Add an item to the end of the user's current

playback queue.
Pause a User's Playback
Start/Resume a User's Playback
Set Repeat Mode On User's Playback
Seek To Position In Currently Playing Track
20


ỨNG DỤNG NGHE NHẠC
sendToggleSu
ffle

PUT

sendATranfer
sendNewVolu
me

PUT
PUT

k
/
v1/me/player/shu
ffle
/v1/me/player
/
v1/me/player/vol
ume


GVHD: ThS. Thái Thụy Hàn Uyển
Toggle Shuffle For User's Playback
Transfer a User's Playback
Set Volume For User's Playback

21


ỨNG DỤNG NGHE NHẠC
Module Playlists
Id
removeOne

METHO
D
DELETE

getCurrentPlaylists

GET

getPlaylistCover

GET

getPlaylistTrack

GET

getPlaylists

getListOfPlaylist
createOne

GET
GET
POST

createOne
sendPlaylistCover

POST
PUT

sendNewPlaylistTrac
k
sendNewPlaylistDet
ails

PUT
PUT

Module Library
Id
getTopArtistsAndTracks

Module Tracks
Id
getAnalysisById
getFeatures
getFeaturesById

getTracks
getTracksById

ENDPOINT

USAGE

/v1/playlists/
{playlist_id}/tracks
/v1/me/playlists

Remove Items from a Playlist

/v1/playlists/
{playlist_id}/images
/v1/playlists/
{playlist_id}/tracks
/v1/playlists/{playlist_id}
/v1/users/{user_id}/playlists
/v1/playlists/
{playlist_id}/tracks
/v1/users/{user_id}/playlists
/v1/playlists/
{playlist_id}/images
/v1/playlists/
{playlist_id}/tracks
/v1/playlists/{playlist_id}

METHO
D

GET

METHOD
GET
GET
GET
GET
GET

Module Users Profile
Id
getCurrentProfile
getProfileByID

GVHD: ThS. Thái Thụy Hàn Uyển

METHOD
GET
GET

Get a List of Current User's
Playlists
Get a Playlist Cover Image
Get a Playlist's Items
Get a Playlist
Get a List of a User's Playlists
Add Items to a Playlist
Create a Playlist
Upload a Custom Playlist Cover
Image

Reorder or Replace a Playlist's
Items
Change a Playlist's Details

ENDPOINT

USAGE

/v1/me/top/{type}

Get User's Top Artists and Tracks

ENDPOINT
/v1/audio-analysis/{id}
/v1/audio-features
/v1/audio-features/{id}
/v1/tracks
/v1/tracks/{id}

USAGE
Get Audio Analysis for a Track
Get Audio Features for Several Tracks
Get Audio Features for a Track
Get Several Tracks
Get a Track

ENDPOINT
/v1/me
/v1/users/{user_id}


USAGE
Get Current User's Profile
Get a User's Profile

22


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

4. Backend Gui quản lý bằng Laravel

23


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

24


ỨNG DỤNG NGHE NHẠC

GVHD: ThS. Thái Thụy Hàn Uyển

25



×