Community voting system

Cancelado Publicado Jul 10, 2007 Pagado a la entrega
Cancelado Pagado a la entrega

We'd like a community system of votable headlines that looks similar to reddit, but coded using javascript so that it updates without page refreshes. IMPORTANT NOTE: For this project, you will not need to implement the Ajax requests between client and server. That piece already exists. You need to implement the javascript methods and html code to allow these functionalities to work. So, for example, the two methods will be: addNewLineItem(int lineItemId, String text, int rowToInsertAt); updateLineItemScore(int lineItemId); Just keep in mind that the updateLineItemScore method must also be responsible for triggering line switching if one item's score becomes higher than the one above it. Users will be able to vote on items, which will dynamically move up and down based on their score. Notice that Reddit does not order the items based on score alone, but ours will. PLEASE SEE DELIVERABLES FOR MORE DESCRIPTION

## Deliverables

The code should be configurable. For example, the number of displayed rows should be a config file parameter. There also needs to be functionality that allows new headlines to work their way into the front page. (That is, the set of headlines can change gradually over time.) Each row will have the following three items: [single line descriptive headline here] Here's an example of four rows: Arrows this is the line item for row A 421 Arrows this is the line item for row B 411 Arrows this is the line item for row C 409 Arrows this is the line item for row D 371 Let's say that the score for row C then gets an ajax update that increases it by 5 points. In this case, it should swap in an animated way with row B and then we have: Arrows this is the line item for row A 421 Arrows this is the line item for row C 414 Arrows this is the line item for row B 411 Arrows this is the line item for row D 371 Simple stuff. But the swap has to look cool and be efficient. It also has to be completely cross browser. Note that as a user is hovering over the vote button, if the scores dynamically updates, causing the user to vote for the wrong item. To fix this, the page should 'freeze' when the user hovers over the vote column. Even though it is frozen, the score should still update in the background. This should be animated as well, i.e. when a user hovers over a vote button, that line glows. It should also be able to tell the user that score updating is frozen to make voting easier. When the user moves his mouse away from the voting column, the rows should resume swapping (there may be several swaps at this point because many scores could have changed). The order should not just instantly change, but should change through repeated line swaps based on scores. Similar to the bubble-sort algorithm. You won't need to worry about the mysql part of this, but when we test we will be using a mysql table that maintains the information on scores. This table will have three columns: id, title, and score. Remember that we will be calling your function when the score change, your code just needs to be able to update the UI when we call one of the two methods. ------- 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.

2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):

a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.

b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.

3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).

## Platform

cross-everything

Ingeniería JavaScript MySQL PHP Arquitectura de software Verificación de software XML

Nº del proyecto: #3108583

Sobre el proyecto

Proyecto remoto Activo Jul 12, 2007