Web Service driven Question & Answer Application (Rails + Mongo)

Web Service driven Question & Answer Application (Rails + Mongo)

Closed - This job posting has been filled and work has been completed.

Job Description

We are looking for experienced providers to code & deliver a Question/Answer application where users post questions for the community to answer.

Our application is a Q&A app, with some difference. The application is about users posting “topical” questions – for example questions about what to buy or questions about a job. Selection of a topic determines the fields that the questioner needs to fill out (see below). The community then answers the questions or provides feedback through comments.

Basic Flow
Users post questions to the community using one of the question templates from the system. A question template gives the user a form with all the required and optional fields that are appropriate to the topic of the question. Before the question is posted, the questioner can choose to either receive private or public answers. Private answers are only visible to the answerer & the questioner whereas public answers are visible to all.

A registered user can respond to a question in one of two ways. First, a question can simply be commented on. Comments are used by the users to either clarify a question or to make a suggestion etc. Second, a question can be answered to which can then be either accepted or responded to by the questioner. It is important to understand the difference between comments & answers. Comments are short text-only messages. Answers, on the other hand, can be longer and can have other fields besides the response text.

Once a questioner receives an answer, he can either accept it or reply to it with a comment for further clarification. Accepting an answer closes the question to further answers and comments. Comments that are posted against an answer follow the visibility rules of the answer. If the answer is private then the comments are only visible to the questioner and the answerer.

A user can also follow users and, in fact, individual questions. Followed users and questions generate activity that is show in the user’s feed. The feed also contains information about the user’s own questions and answers.

Deliverables

1. A Web Service exposing a REST API Rails application running off of MongoDB.
2. A web client app, preferably in Backbone.js (will also consider Rails based client if proposed)

Technical Requirements

1. Ruby 1.9.2
2. Rails 3.x
3. MongoDB
4. Twitter Bootstrap UI Framework
5. *nix based (we are a linux shop)

Deployment

1. Capistrano based deployment is required
2. During early development, the application can be deployed to any host that you prefer and have experience with. However, the application must eventually be hosted on our Amazon EC based infrastructure which currently has the following available:

a. Rails 3.1 + Ruby 1.9.2
b. Separate servers for the Web client app and the API service (Apache + Passenger)
c. MongoDB
d. MySQL
e. Redis
f. Resque

Source Code Repository

We use unfuddle.com to manage our development process. A GIT repo will be setup and issues and tickets will also be monitored from there. We will setup the project and your accounts there.


Project Collaboration & Planning

We use basecamp.com for project planning and communications. We will setup the project there. Progress monitoring & reporting, issue tracking, delivery schedule and communications procedures must be established from the beginning. These must be strictly followed.

**** PLEASE NOTE: We have specified hourly as the Job Type however we need a pretty good estimate of the total expected cost before the project can be awarded.

---
Skills: linux, amazon