Users create a profile for their dog in order to match with like-minded dogs for play dates and meet ups. Matches are based on swipes of other profiles.
[Evaluation of your app across the following attributes]
Required Must-have Stories
Optional Nice-to-have Stories
[x] View Fetch Profiles (Dogs)
Chat
Log in
Profile
Tab Navigation (Tab to Screen)
Flow Navigation (Screen to Screen)
[x] Login Screen
[x] Registration Screen
[x] View Fetch Profiles (Homepage: the swiping screen) => Successful Match Screen: If it’s a match, show this screen to encourage chatting, or allow going back to Home (View Fetch Profiles)
[x] Chats (Homepage: The list of chats with matches)
[x] Profile (Homepage: Your profile information)
User (Dog)
struct User: ParseUser {
// These are required by `ParseObject`.
var objectId: String?
var createdAt: Date?
var updatedAt: Date?
var ACL: ParseACL?
var originalData: Data?
// These are required by `ParseUser`.
var username: String?
var email: String?
var emailVerified: Bool?
var password: String?
var authData: [String: [String: String]?]?
// Custom Properties for Fetch
// -- Dog traits --
var name: String?
var breed: String?
var age: Int?
var bio: String?
var preferences: [String]?
var images: [ParseFile]?
// User metadata
var location: ParseGeoPoint?
var recentlyActive: Bool?
// Cross-user data
// Strings represent usernames
var dislikedUsers: [String]?
var likedUsers: [String]?
var matchedUsers: [String]?
}
ChatRoom + ChatMessage
struct ChatRoom: ParseObject {
// These are required by `ParseObject`.
var objectId: String?
var createdAt: Date?
var updatedAt: Date?
var ACL: ParseACL?
var originalData: Data?
// Chat room properties
var messages: [ChatMessage]?
var users: [String]?
var lastUpdated: Date?
}
struct ChatMessage: ParseObject {
// These are required by ParseObject
.
var objectId: String?
var createdAt: Date?
var updatedAt: Date?
var ACL: ParseACL?
var originalData: Data?
// Chat message properties
var user: String?
var message: String?
}
### Networking
- [Add list of network requests by screen ]
- [POST] Login, [GET] Logout, [POST] Register
- [GET] Get all profiles, [POST] Record swipe left/right
- [GET] Get list of chats, [GET] Message History, [POST] Send message, [DELETE] Delete chat
- [GET] Get Individual Profile, [PUT] Update Profile
- [Create basic snippets for each Parse network request]
- [OPTIONAL: List endpoints if using existing API such as Yelp]
### Updates:
- Chelsea Joe - Created branch for profile, and added text from Parse backend
- Chelsea Joe - Updated editing photos functionality to upload images
- Melissa Saechao - Finished Login & Signup features
- Anh Vu - Finished Chat features
- Anh Vu - Merged all current branches into main