This is application is going to be a music app that is inspired by spotify. It will sync the users playlist from sptofiy. It will also allow the user to find new music.
[Evaluation of your app across the following attributes]
Required Must-have Stories
Optional Nice-to-have Stories
Register Screen
Login Screen
Discover Music/Playlists
Your Playlists
Playlists
Artist
Tab Navigation (Tab to Screen)
Flow Navigation (Screen to Screen)
Login/Register
Your Playlists
Discover
Playlist
Artist
[Add picture of your hand sketched wireframes in this section]
[This section will be completed in Unit 9]
[Add table of models]
Property | Type | Description |
---|---|---|
Username | String | User name set to database |
Password | String | Password to account |
Property | Type | Description |
---|---|---|
URI | String | URI of the track |
Name | String | Name of song |
Artist | SPTAppRemoteArtist | Artist of song |
Album | SPTAppRemoteAlbum | Album of song |
Saved | Bool | Is song saved |
Episode | Bool | Is song episode |
Podcast | Bool | Is song podcast |
Property | Type | Description |
---|---|---|
added_by.ID | String | User who added song |
track | String | Name of song |
href | String | URI of the track |
Album | SPTAppRemoteAlbum | Album of song |
Property | Type | Description |
---|---|---|
URI | String | URI of the artist |
Name | String | Name of artist |
* Base Url https://api.spotify.com
HTTP Verb | Endpoint | Description |
---|---|---|
Get | /me/playlist | Get user playlist list string |
Get | /me/playlist/{playlist_id}/tracks | Get user playlist tracks string |
Get | /tracks/{id} | Get tracks information |
Get | /artists/{id} | Get artist name on the track |
Get | /playlists/{playlist_id} | Get playlist that is not users |
Get | /browse/featured-playlists | Get featured playlists |
Login
(Read)Match User Password and Login
@IBAction func Signin(_ sender: Any) {
let username = UsernameField.text!
let password = PasswordField.text!
PFUser.logInWithUsername(inBackground: username, password: password) { (user, error) in
if user != nil {
self.performSegue(withIdentifier: "loginSegue", sender: nil)
}
else{
print("Error: \(error?.localizedDescription) ")
}
}
}
Register
(Create)Register User in Database
@IBAction func Signup(_ sender: Any) {
let user = PFUser()
user.username = UsernameField.text
user.password = PasswordField.text
user.signUpInBackground { (success, error) in
if success{
self.performSegue(withIdentifier: "loginSegue", sender: nil)
}
else
{
print("Error: \(error?.localizedDescription) ")
}
}
}
Discover
Your Playlists
Playlist
Select Artist
[Add list of network requests by screen ]
[Create basic snippets for each Parse network request]
[OPTIONAL: List endpoints if using existing API such as Yelp]
First gif: