Terminado

Diseño de una aplicación web

Publicado el 19 Octubre, 2012 en Programación y Tecnología

Sobre este proyecto

Abierto

Requerimientos generales de la programación
    El código debe de ser OO (Object Oriented)
    El código debe estar documentado profesionalmente
    De preferencia usar la técnica TDD (Test Driven Development)
    Debe de estar estructurado según el patrón MVC (Model-View-Controller)
    Utilizar UTF-8 (Character encoder Unicode UTF-8)
    Capacidad para crear Templates o Temáticas a través de CSS y cambiar el look-&-feel de la aplicación de acuerdo al gusto del usuario
    Cumplir con los estándares Web 2.0
    El código debe de ser trabajado en un repositorio (SVN) propietario del contratante

Requerimientos particulares del sistema
    Personalizable a través de un archivo de configuración, en el cual se pueda especificar el nombre de la compañía propietaria, dirección, teléfono, logotipo, dirección del servidor de base de datos, DBMS, nombre de la base de datos, idioma, dirección del servidor SMTP y demás según se requiera  a la hora de instalar.
    El sistema debe de ser modular
    Modulo de control de usuarios RBAC (role-based access control)
    El sistema cuenta con un contador que contabiliza cuanto tiempo tarda el usuario una vez que entra al Record principal (MAIN RECORD).
    El sistema nunca borra los records. Cuando un usuario edita o borra un record, el original se transfiere a una base de datos (Archival DB) y documenta la acción en el nuevo record generado. Esto con el propósito de rastreabilidad de la información.
    Tiene integración con algún sistema de soporte al usuario - Bug Tracking System (con la finalidad de brindar soporte al usuario, yo he trabajado con Mantis Bug Tracker).
    El sistema debe de ser programado pensando para extensiones futuras, como Web Services e integración con dispositivos móviles.
    Actualmente se cuenta con 59 imagenes de pantallas que describen la funcionalidad y los campos a detalle. Faltan las pantallas de configuración y búsqueda avanzada. El diseño es consistente en todas las pantallas y si se usan los templates (OO, MVC), solo hay que configurar los diferentes grids dependiendo de la pantalla.
    La aplicación es multilenguaje, en un inicio en Español e Ingles (Multilingual User Interface Support).
    El sistema imprimirá reportes y documentos de las distintas pantallas.

 

Ejemplos de pantallas y el tipo funcionalidad que llevara la aplicación

//Calendar.png//
    Lleva un modulo de calendario (tipo Google) con todas sus funcionalidades (Drag &Drop, Ajax, etc...)
    Búsqueda tipo Google, para encontrar el record principal (por nombre, teléfono, email, etc...)

//ResultList.png//
    Listado de los resultados
    Paginación

//CRUD_001.png//
    Menú principal tipo pestañas, junto con un menú dependiente también de tipo pestañas
    Todo tipo de campos (text, checkmark, radio button, lists, etc...)
    Menús tipo Pulldown de opciones configurables a través de la misma interface (es decir, hay pantallas para las configuraciones)

//CRUD_002.png//
    Retículas para el desplegado de la información tipo lista
    Listas con autofiltros (usando Ajax)

//CRUD_003.png//
    Listas de información, con renglones expandibles para ver el record completo.

//CRUD_004.png//
    Lleva un sistema sencillo de control de documentos.
    El sistema almacena archivos de diferentes tipos en el servidor.
    Despliega la lista de los archivos con un thumbnail creado del documento al que hace referencia.
    Soporte para ver los archivos en el mismo explorador, cuando el tipo de archivo lo permita.

 

Requisitos Legales
    Se requiere convenio de confidencialidad.
    El código pertenece al contratante.

 

Notas Adicionales

Es preferible se use un framework conocido. Podría hacerse en PHP & MySQL, utilizando un framework como Yii. Solo tendría que cumplir con los requerimientos antes mencionados.

Una vez clara la definición de requerimientos, el tiempo de programación esta calculado para 125 días.  Es posible ajustar estos tiempos y llegar a un acuerdo.

El diseño inicial de la base de datos esta compuesta por 49 tablas, una de las más grandes tiene 24 campos. Hay que agregarle algunos catálogos, como los de ciudad, estado, etc….

Es posible cambiar de plataforma, nos podemos poner de acuerdo con eso, siepre y cuando funcione a través del explorador de Internet (Explorer, FireFox, Chrome, Safari).

Categoría Programación y Tecnología

Plazo de Entrega: 23 Marzo, 2013

Habilidades necesarias