Evaluando propuestas

Back-end y front-end de sencillo sistema de votación de propuestas

Publicado el 10 Octubre, 2013 en Programación y Tecnología

Sobre este proyecto

Abierto

Se trata de un sistema para poder subir una lista de propuestas y que un conjunto de usuarios pueda votar las que más le gustan.

Para eso hay que desarrollar un back-end muy sencillo, donde se suben y organizan las propuestas y un front-end para votar las propuestas y ver los ganadores. Todo web.

Back-end:
Se crean 'usuarios administradores' en forma manual (a partir de un CSV). A estos se envía un correo de bienvenida, con su usuario y clave. Cada usuario está asociado a un Departamento.



Los usuarios administradores pueden subir propuestas correspondientes a su Departamento. Para esto hay 2 interfases:
1) Subida de propuestas: interfaz sencilla para llenar 4 campos de texto/combobox. Posibilidad de borrar o modificar.


2) Organización de propuestas: Varias propuestas se pueden agrupar dentro de una 'propuesta padre'. Para esto, se provee una interfaz con 2 columnas, la de la izquierda tiene las posibles propuestas padre, la de la derecha las posibles propuestas hijo, y se agrupan haciendo drag & drop.

Front-end:
Una vez cargadas todas las propuestas, se establece un período de votación. Para ello, se prveen 3 interfases:
1) Interfaz de votación. Para ingresar aquí se realiza una simple autenticación, que consiste en ingresar el número de documento y validar que este se encuentre en una tabla de documentos válidos precargada, que también indica en qué departamento está habilitado a votar cada usuario.

Luego, se visualiza en una única pantalla una lista de las propuestas, donde el usuario puede hacer 'me gusta' a 1 o más de ellas.
2) Interfaz de consulta de tendencias. Aquí, usuarios anónimos pueden consultar la lista de las 5 propuestas más votadas para cada departamento.
3) Interfaz de consulta de ganadores. Aquí se muestran las propuestas ganadoras para cada Departamento una vez que se cerró la votación.

Requerimientos no funcionales:
El sistema debe funcionar en navegadores convencionales, sin necesidad de tener instalado Flash.
El sistema debe ser usable desde celulares y otros dispositivos touchscreen, si bien no es necesario que se desarrollen gestures u otras funcionalidades específicas que aprovechen el touchscreen.

Mas detalles del proyecto:

* Requerimientos: Necesito desarrollador que se encargue tanto del maquetado (html5+js) a partir de diseños que proveemos como del sistema que corre en el servidor. También debe proveer las instrucciones (y dar soporte) para la puesta en producción.

* Proyecto nuevo o existente: Nuevo

* Tipo de desarrollo requerido: Client Side Development, Server Side Development

* Lenguages de programación: HTML5, JavaScript. PHP, python o ruby. Base de datos MySQL o PosgreSQL

* Comentarios adicionales: En fundamental cumplir los plazos.

En la primer semana de Noviembre el proyecto debe estar funcional.

Categoría Programación y Tecnología

Plazo de Entrega: 09 Noviembre, 2013

Habilidades necesarias