Skip to content

Commit

Permalink
Adding documentation changes into master.
Browse files Browse the repository at this point in the history
  • Loading branch information
jsdiaz committed Aug 7, 2015
2 parents 96a80f6 + b84ee65 commit 26302f2
Showing 1 changed file with 50 additions and 11 deletions.
61 changes: 50 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,54 @@
# Question Tool

TODO: Update the project description
The question and answer tool is a real-time web application written in Meteor.js that allows anyone with a web browser and connection to the server to create a question/answer instance on a particular subject, propose a question, view other's questions, reply to questions and vote on questions on that particular subject.

The question and answer tool is a web application written in Meteor.js that allows anyone with a web browser and connection to the server to propose and vote on questions on a particular subject. A question tool author can create an instance with a specific topic, after which web users can propose questions. Once the question is submitted, users can then vote on the question. Questions that are more popular are pushed to the top. Users can also comment on the questions.
For any server that is running the question tool software, any number of subject instances can be active at one time. All users of an instance see any actions performed on the instance at the same time (voting, posting of questions or responses, etc) thanks to the magic of Meteor.js.

Admins of the instance have various special privileges, eg can mute or delete certain questions, suspend the instance, etc.
## Usage

The question tool was written to gather questions from an online audience and present them in a coherent and ordered way that communicates the communities interest in those questions by means of votes or responses.

The tool has various permission levels:

* Server Admin: can rename or delete any instance, plus user privileges.
* Instance Admin: can unhide questions, add moderators, delete or rename instance, plus moderator privileges.
* Instance Moderator: can hide or merge questions, plus user privileges.
* Registered User: can create instances, can favorite instances.
* User: can post questions or replies as anonymous, pseudonymous, or signed.

By design, all instances are public - anyone with a web browser and connection to the server can view any instance, question or response, with the exception questions hidden by instance admins or moderators.

A user who is signed in can create an instance with a specific topic, after which web users can propose questions. Once the question is submitted, users can then vote on the question. Questions that are new, active or popular are pushed to the top. Users can also reply to questions.

## Installation

Navigate to the /server/lib/startup.js file to set the email of the Question Tool superadmin (is able to delete/rename instances) and add a mail server URL for emailing. Superadmin must create a Question Tool account and be logged in with the specified email address for the superadmin priveleges.
* Requirements: Mongo 2.6+, Node 0.10.36+

## Usage
* Install

* git clone the repo
* build the meteor application

TODO: Write usage instructions
```meteor build {output_dir} --directory```
* in the build directory, install node packages

```(cd programs/server && npm install)```
* create the mongo db and add necessary permissions
* run the app

```shell
export MONGO_URL='mongodb://app_user:[email protected]:27017/app_db'
export MONGO_OPLOG_URL=mongodb://oplog_user:[email protected]:27017/local?authSource=admin
export ROOT_URL='https://your.url.here'
export HTTP_FORWARDED_COUNT=1
export PORT=8000
export MAIL_URL='smtp://user:password@mailhost:port/'
node main.js
```

* Setup

Navigate to the /server/lib/startup.js file to set the email of the Question Tool superadmin (is able to delete/rename instances) and add a mail server URL for emailing. Superadmin must create a Question Tool account and be logged in with the specified email address for the superadmin priveleges.

## Contributing

Expand All @@ -24,14 +60,17 @@ TODO: Write usage instructions

## History

TODO: Write history
The question tool has been used at the [Berkman Center for Internet & Society](https://cyber.law.harvard.edu "Berkman Center for Internet & Society") for over 10 years. It has been used at events, in class rooms, in forums, in meetings, any place where it is valuable to obtain community consensus over the topics that need to be pursued.

## Credits

TODO: Write credits

Nick Rubin
* Nick Rubin - everything technical
* Jonathan Zittrain - the concept

## License

TODO: Write license
QuestionTool is licensed under the GPL

## Copyright

2015 President and Fellows of Harvard College

0 comments on commit 26302f2

Please sign in to comment.