Moodvie is an iOS application where users can find a movie depending on the user's mood. Users could find other users who have watched the movie.
Required Must-have Stories
Optional Nice-to-have Stories
Chatting feature with other users
Page where it lists all the movies that are popular on the app
After launch screen, there will be a login/ register page where users can login or register
Checking your mood screen (Answer questions regarding mood, genre and type of rating you would be interested in watching)
Settings screen would help you change your username, password, email and upload a photo
Recommendation screen is a table full of movies that you would be interested in
Mood clubs is a screen where you can join a community of people who have watched the same movie as you
Profile screen allows users to find all the clubs that the user is associated with
Tab Navigation (Tab to Screen)
Flow Navigation (Screen to Screen)
Property | Type | Description |
---|---|---|
userId | Int | unique id for the user and will auto increment |
username | String | username for user |
password | Password (string) | password for user |
name | String | user's name |
Property | Type | Description |
---|---|---|
moodId | String | unique id for the mood and will auto increment |
userId | Int | unique id for the user |
feeling | Int (?) | how the user is feeling that day |
movie_type | Number | Genre that the user is interested in |
movie_rating | Number | rating for the movie that user is interested in |
Property | Type | Description |
---|---|---|
club_id | Int | unique id for clubs |
club_name | Number | number of comments that has been posted to an image |
post | String | what the user posted in the Club |
created_time | DateTime | date when post is created (default field) |
Login Screen
(Read/GET) Check to see username and password is correct
(Create/POST) Create a new user (username, password, and name)
func myMethod() {
var user = PFUser()
user.username = "myUsername"
user.password = "myPassword"
user.email = "email@example.com"
// other fields can be set just like with PFObject
user["phone"] = "415-392-0202"
user.signUpInBackground {
(succeeded: Bool, error: Error?) -> Void in
if let error = error {
let errorString = error.localizedDescription
// Show the errorString somewhere and let the user try again.
} else {
// Hooray! Let them use the app now.
}
}
}
Mood Screen
let query = PFQuery(className:"Mood")
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...
}
}
Club Screen
(Read/GET) Check the posts from each user in the club
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...
}
}
Mood and Search Page