golf1052 / QuotesApp

A multiplatform quotes app.
1 stars 0 forks source link

User object #2

Closed golf1052 closed 10 years ago

golf1052 commented 10 years ago

Refer to the wiki article here

Users should probably be able to

Users with patrician (admin) status in a Room can

Final

{
    "email": "email of user",
    "username": same as email (user does not see username field),
    "password": "password from ParseUser",
    "displayName": "name that user wants to be displayed, non unique",
    "favorites": List of quotes (pointer)
    "emailVerified": Boolean, created and set to false when a User object is created
    "verificationWindow": Boolean, should be set to true when a User is created.
}

A User must verify their email within 24 hours or they should not be able to login into the app. This is what the verificationWindow boolean is for. When they initially create an account set this to true and if they are still in the 24 hour window then they should be able to login. Once that 24 hour window is passed the server should set verificationWindow to false and if they have not verified still they cannot log in.

alfred commented 10 years ago

Dunno if its better to edit or new comment, so new comment for new things and edit the original with actual plans once everyone has seen them.

User in JSON (Cause that is how Parse stores data) about objects.

{
username: String (Included in Parse),
password: String (bCrypt hashed and salted, Included in Parse),
email: String (Included in Parse, for password resets),
objectId: String (Unique IDentifier, Included by Parse),
updatedAt: String (UTC format, Included by Parse),
createdAt: String (UTC, Included by Parse,

// ParseRelation is built like a List of pointers 
// but doesn't force you to pull the entire List into memory to edit it.
submittedQuotes: ParseRelation of Quotes,
rankedQuotes: ParseRelation of Quotes,
fiefdomSubscriptions: ParseRelation of Fiefdoms
}

We'll have to override the Parse default User class to add these fields.

Parse also supports rolling your own user auth, which isn't that difficult, but I don't see a reason for us to. Facebook Auth? Twitter Auth?

Phone Numbers?

I didn't add the phone number field, cause of the spoofing question. But just based off intuition, there's an Android permission that allows an app access to your number, the one stored deep in the "About phone" options I assume. It gets set by SIM(?) Cause flashing ROMs doesn't affect it. So spoofing it would be possible for advanced Android users, but the lay-people wouldn't be able to.

In the end, that's just me thinking about it... someone would have to Google it for a real answer to this.

Location?

Parse has GeoPoints (Latitude and Longitude x,y coords) I don't know if we're gonna be filtering/sorting Fiefdoms you can see based on location. The option is here, though this isn't really a basic feature, doesn't need to be added right away. Just think about how we're gonna display fiefdoms to choose from

I'll write Fiefdom and Quote data models later unless someone else does it first.

knueven commented 10 years ago
golf1052 commented 10 years ago

For Facebook auth you need to sign up on the Facebook dev site or whatever so you can look into that.
Also Fiefdom was a temporary name for a collection of quotes from a group of people. I think we can find a better name.

alfred commented 10 years ago

So we can ignore the phone numbers/IMEI auth thing since Parse user auth handles validating unique emails/usernames... just wanted to see what you guys thought.

golf1052 commented 10 years ago

Yeah we really dont need phone numbers...unless you want phone numbers.

golf1052 commented 10 years ago

InbeforeAlfred'sLittleBlackBook