golf1052 / QuotesApp

A multiplatform quotes app.
1 stars 0 forks source link

Room Object #5

Closed alfred closed 9 years ago

alfred commented 9 years ago

Refer to the wiki article here

The Fiefdoms are our groups for these quotes. Anyone can create a fiefdom, and will be one of the patrician's with their own permissions.

Final

{
    "name" : group name, can include emojis,
    "quotes" : Parse pointer relation of Quotes (one-to-many),
    "founders" : ParseRelation of Users (many-to-many),
    "members" : ParseRelation of Users (many-to-many),
}

Group names can include emojis! :pizza:

~~#### Location ####

~~#### Private Fiefdoms? #### These give me an awkward chatroom vibe honestly. It's just an idea, but do you guys think people would ever want the Fiefdoms privatized? Or if it would even be useful to have?~~

~~#### Creator Privileges? #### Instead of a normal patrician but with added permissions over the fiefdom? Emperor? Do you guys think we need this? It'd be able to like change the name/add a password I guess. I think it'd be fine giving all patricians this access.~~

This is a rough draft of this model of course. Comments, Concerns, Opinions, Any Thoughts at all?

natdempk commented 9 years ago
golf1052 commented 9 years ago

Fiefdoms was a temporary name. If you have a better one come up with one and suggest it. I don't like fiefdoms either.

alfred commented 9 years ago

Removed creator field and added location field. Obviously we need a naming brainstorming session here...

golf1052 commented 9 years ago

Just refining it a bit.

{
    "name" : "group name",
    "quotes" : "Parse pointer relation of Quotes (one-to-many)",
    "founders" : "ParseRelation of Users (many-to-many)",
    "members" : "ParseRelation of Users (many-to-many)",
    "location" : "ParseGeoPoint"
}

Founders are the users who founded/own the group, can approve and disapprove quotes. Members are people who are allowed to submit quotes to the group. I don't know if members should just be able to join the group or must be approved by a founder once they join the group.

tevin commented 9 years ago

You could add a group security parameter to the object It can work like facebook groups i.e. Secret - Not Visible, Invite Only Private - Visible, pre-approval required to join Public - Visible, anyone can join

golf1052 commented 9 years ago

I am ok with this. For a group to be created it should have two people confirm the group's existence. So for this process one person creates a group with a name and a location. For the group to be confirmed another user has to enter the name of the group and the name of the creator of the group. This should be done within a certain time period (12-24 hours) so that the group doesn't get deleted. At that point the group will be official. I guess the creator of the group gets a choice if they want to add the user as a founder or as a member. Also founders should be able to update the location of the group whenever.

Refining the object again

{
    "name" : "group name",
    "active" : bool
    "quotes" : Parse pointer relation of Quotes (one-to-many),
    "founders" : ParseRelation of Users (many-to-many),
    "members" : ParseRelation of Users (many-to-many),
    "location" : ParseGeoPoint
}

The active field confirms whether or not the group has passed the two person test and is officially a group.

golf1052 commented 9 years ago

I edited the top for a final setup for the Room object. Any objections must be made soon.

golf1052 commented 9 years ago

Final Room object

{
    "name" : group name, can include emojis,
    "quotes" : Parse pointer relation of Quotes (one-to-many),
    "founders" : ParseRelation of Users (many-to-many),
    "members" : ParseRelation of Users (many-to-many),
}