Tracks what music an individual listens to, and pairs them with others based on that music. Could be potentially used as a dating app, or just meeting new friends with similar music tastes.
- Category: Social Networking / Music
- Mobile: This app would be primarily developed for mobile but would perhaps be just as viable on a computer, such as tinder or other similar apps. Functionality wouldn't be limited to mobile devices, however mobile version could potentially have more features.
- Story: Analyzes users music choices, and connects them to other users with similar choices. The user can then decide to message this person and befriend them if wanted.
- Market: Any individual could choose to use this app, and to keep it a safe environment, people would be organized into age groups.
- Habit: This app could be used as often or unoften as the user wanted depending on how deep their social life is, and what exactly they're looking for.
- Scope: First we would start with pairing people based on music taste, then perhaps this could evolve into a music sharing application as well to broaden its usage. Large potential for use with spotify, apple music, or other music streaming applications.
Required Must-have Stories
- User logs in to access previous chats and preference settings
- User picks what their favorite artist/genre/etc. (Think Spotify interface)
- Matches have a chat window to get to know each other, with the ability to skip music and unmatch (Tinder Style).
- Profile pages for each user
- Settings (Accesibility, Notification, General, etc.)
Optional Nice-to-have Stories
- Log of past songs/people with album art covers matching
- Page of most played songs (i.e. songs that most users are connecting through)
- Profile Add-On: Top music choices, etc.
- Optional Shuffle Button (i.e. random encounter/random song)
- Listening/Encounter Queue
- Login
- Register - User signs up or logs into their account
- Upon Download/Reopening of the application, the user is prompted to log in to gain access to their profile information to be properly matched with another person.
- ...
- Messaging Screen - Chat for users to communicate (direct 1-on-1)
- Upon selecting music choice users matched and message screen opens
- Profile Screen
- Allows user to upload a photo and fill in information that is interesting to them and others
- Song Selection Screen.
- Allows user to be able to choose their desired song, artist, genre of preference and begin listening and interacting with others.
- Settings Screen
- Lets people change language, and app notification settings.
Tab Navigation (Tab to Screen)
- Music selection
- Profile
- Settings
Optional:
- Music/Encounter Queue
- Discover (Top Choices)
Flow Navigation (Screen to Screen)
- Forced Log-in -> Account creation if no log in is available
- Music Selection (Or Queue if Optional) -> Jumps to Chat
- Profile -> Text field to be modified.
- Settings -> Toggle settings
Property | Type | Description |
---|---|---|
objectId | String | unique id for the user post (default field) |
author | Pointer to User | image author |
image | File | image that user posts |
caption | String | image caption by author |
commentsCount | Number | number of comments that has been posted to an image |
likesCount | Number | number of likes for the post |
createdAt | DateTime | date when post is created (default field) |
updatedAt | DateTime | date when post is last updated (default field) |
- Home Feed Screen
- (Read/GET) Query all posts where user is author
let query = PFQuery(className:"Post") query.whereKey("author", equalTo: currentUser) query.order(byDescending: "createdAt") query.findObjectsInBackground { (posts: [PFObject]?, error: Error?) in if let error = error { print(error.localizedDescription) } else if let posts = posts { print("Successfully retrieved \(posts.count) posts.") // TODO: Do something with posts... } }
- (Create/POST) Create a new like on a post
- (Delete) Delete existing like
- (Create/POST) Create a new comment on a post
- (Delete) Delete existing comment
- (Read/GET) Query all posts where user is author
- Create Post Screen
- (Create/POST) Create a new post object
- Profile Screen
- (Read/GET) Query logged in user object
- (Update/PUT) Update user profile image
-
Base URL - http://www.anapioficeandfire.com/api
HTTP Verb Endpoint Description GET
/characters get all characters GET
/characters/?name=name return specific character by name GET
/houses get all houses GET
/houses/?name=name return specific house by name
-
Base URL - https://api.got.show/api
HTTP Verb Endpoint Description GET
/cities gets all cities GET
/cities/byId/:id gets specific city by :id GET
/continents gets all continents GET
/continents/byId/:id gets specific continent by :id GET
/regions gets all regions GET
/regions/byId/:id gets specific region by :id GET
/characters/paths/:name gets a character's path with a given name