Social networking is great except when your "friends" pollute your feed with sponsored spam, political flamewars, and live-tweets of some show or event you don't care about (or are jealous you didn't get to attend!). Sure you could unfollow/unfriend them, but you really want a way to tell them they are being annoying without permanently ending your connection with them.
This challenge is to create a "doghouse" app in Ruby that will allow users to authenticate via twitter or facebook, then send friends or people they follow "to my doghouse" -- this will temporarily unfollow/unfriend them, and then re-follow/re-friend them after a certain period of time.
This is a creative challenge, so scores will be heavily influenced by your user interface and interesting/useful features you come up with.
Your app must be written in Ruby, and must allow the user to authenticate using their twitter or facebook account.
Once authenticated, you must provide a way for your app's user to find and select the users on twitter/fb that are annoying them. You can do this in a number of ways, including showing recent posts from their feed, showing filterable lists of their friends/people they follow, providing search capability on posts and/or users, etc.
Once your user selects the people they want to send to their doghouse, you should provide some options about how long they want them to stay in the doghouse, and also provide the option to post/tweet about this punishment, ideally including a number of canned posts like "[target user name]'s in my doghouse for posting dinner photos again" and the ability to write their own custom posts. After selecting whatever options you have made available, your user should be able to click on a button (or engage some other UI element) to actually execute the unfriending/unfollowing of all the selected people.
Finally, your app needs to implement a means of letting people "out of the doghouse" (re-follow/re-friend them) after the specified period of time has elapsed (if you can allow the user to configure a custom tweet/post when this happens that would be even better!). Utilizing some kind of asynchronous queue would be one way to do this, but you can do whatever you like as long as it's reasonably reliable.
You may use any libraries, frameworks, add-ons, or plug-ins you like as long as they are open source.
You can deploy/host your app anywhere you like, as long as it is accessible from the public internet.
Be creative and have fun!
Your submission will be judged by a panel of peers based upon this criteria. If you would like to request an extension, please read Can challenge deadlines be extended for more time? on our FAQ. We do not want to grant extensions unless there is a valid reason.
Install the CloudSpokes Chrome Extension for quick and easy access to the latest CloudSpokes challenges, your payments, leaderboards and more!