golf1052 / QuotesApp

A multiplatform quotes app.
1 stars 0 forks source link

Quote object #3

Closed golf1052 closed 9 years ago

golf1052 commented 9 years ago

Refer to the wiki article here

Final Blurb

{
    "blurb" : "insert text here",
    "misattributed_to" : "insert author here"
}

Quote

{
    "submitter" : User object,
    "group" : Room object,
    "disapprovers" : Parse List of Users (pointers),
    "favorites" : Integer,
    "blurbs" : [
        {
            "blurb1" : "insert text here",
            "misattributed_to" : "insert author here"
        },
        {
            "blurb2" : "insert text here",
            "misattributed_to" : "insert author here"
        }
    ]
}

Once the list of disapprovers contains more than half of the founders the Quote object will be deleted.

tevin commented 9 years ago

Quote should also have author for the sake of mis-attributing. The Submitter can be the default author if none is set.

golf1052 commented 9 years ago

Yes but I was thinking that if they don't misattribute anybody then it gets attributed to anonymous. They still get labeled as the submitter though.

alfred commented 9 years ago

Author? How about multi-person quotes? Like a short dialogue? Or are we sticking to one-liners? If short dialogues, then what would be the length restrictions? Ex: Tweets are 140 characters, a text is 160 characters... etc.

Quote model, here you go for a 1 author/1 line.

{
objectId: String (Unique IDentifier, Included by Parse),
updatedAt: String (UTC format, Included by Parse),
createdAt: String (UTC, Included by Parse),

submitter: User (See User model in Issue #2),
fiefdom: Fiefdom,
ranking: Integer,
approved: Boolean (True for yes, False for no),
author: String,
text: String
}

We should have multiple person quotes here, but the data model gets a little strange honestly

{
objectId: String (Unique IDentifier, Included by Parse),
updatedAt: String (UTC format, Included by Parse),
createdAt: String (UTC, Included by Parse),

submitter: ParseRelation to User (See User model in Issue #2),
fiefdom: ParseRelation to Fiefdom,
ranking: Integer,
approved: Boolean (True for yes, False for no),
text: {
   authorOne: String,
   authorOneLine: String,
   authorTwo: String,
   authorTwoLine: String,
   authorN: String,
   authorNLine: String,
   }
}

I don't think "text" is a good field name, and I also don't think adding line to the end is a good field name either... so there's that.

golf1052 commented 9 years ago

My suggestion for Quote object

Blurb

{
    "blurb" : "insert text here",
    "misattributed_to" : "insert author here"
}

Quote

{
    "submitter" : User object,
    "group" : Group (Fiefdom) object,
    "ranking" : integer,
    "approved" : bool,
    "blurbs" : [
        {
            "blurb1" : "insert text here",
            "misattributed_to" : "insert author here"
        },
        {
            "blurb2" : "insert text here",
            "misattributed_to" : "insert author here"
        }
    ]
}

Now this way we don't need two separate objects for multiline quotes and single line quotes. Also in the interface we can just have an add blurb button so that people can add multiline quotes.