Build a 4-page website in either PHP or Ruby. Data for the site is stored in a MongoDB in a single collections called "posts" where each document is the JSON from the Twitter Public Streams API: [url removed, login to view]
Wireframes for all 4 pages are attached. In those wireframes, all boxes represent buttons. Yellow boxes are the selected buttons. For instance, in the Dashboard, no buttons are active. In the People Landing wireframe, People, Everyone, Tweets, and Followers are all selected.
On the Topics Landing page, an n-gram is a sequence of n terms. For instance, a single word is a 1-gram. A phrase like "Freelancers are great" is a 3-gram. We'd like to start with 1-grams and add additional options in later versions. So, that page should display a word cloud of the most frequent words with common English stop words removed. We'd like to specify a text file or array to use as a stop word list. The frequency distribution should look like Google's N-gram viewer: [url removed, login to view]
We have a list of Twitter IDs for the "Aldermen" classification of People. Selecting that button should limit displays to tweets by those users' selecting "Public" should display all tweets NOT by those users.
You must deliver code and include a READ ME that explains the server setup on which it should run. We use a Debian server. If using Ruby, Sinatra or Rails are ok, but we need complete directions for setup.