Sobre este proyecto
it-programming / web-development
Abierto
1. Que tenga para agregar usuarios y privilegios.
2. Que tenga una parte de vista al público donde se ven las imágenes y los menús, la información que va a atraer al cliente.
3. Como el proceso es lineal, debería ir de una pantalla, a la siguiente, y a la siguiente hasta que termine en la última pantalla y se cierre el ítem. Obviamente si después se necesita volver a abrir el item, se pueda hacer, pero sobre un item nuevo y guardando el historial del anterior.
Como es lineal empieza por una categoría, digamos CAT1, CAT2, CAT3, etc.
Luego debajo de la CAT1, pueda abrir una SUBCAT1, SUBCAT2, etc.
Y debajo de la SUBCAT1, abrir una SUBBCAT1, SUBBCAT2, SUBBCAT3 etc.
Y debajo de esa, otras más y más y más. Se me figura como crear carpetas en windows una tras otra tras otra, solo que al llegar a la última categoría, como ya no hay más abajo, se debe saltar al final de proceso que es el CIERRE. Es decir, todas las categorías cuando ya no se puede ir más abajo o más adelante terminan en la categoría CIERRE.
CAT1
CATN
SUBCAT1
SUBCAT2
SUBCATN
Subbcat1
subbcatn
subncat
cierre
bueno, dentro de esas categorías se pueden agregar items, esos items pueden iniciar en cualquier parte de las categorías y desde ahí viajar por la sub categoría hasta el final que es el cierre.
Como llegó al cierre se queda guardado en el cierre, pero se puede abrir de nuevo, adjuntandose a un nuevo ítem como anteriormente había mencionado, creando un nuevo item con un adjunto dentro. Un menú para hacer eso sería darle clic derecho y adjuntar a un nuevo ITEM, en donde se elige nuevamente la categoría donde renacerá y desde ahí seguirá el proceso hasta el final de nuevo.
Cada categoría debe ser creada de forma dinámica, por lo que si hoy solo tengo un árbol pequeño, quizá mañana pueda tener un árbol muy enorme de muchas ramificaciones. Además si edito el nombre de una categoría principal o superior, no debe haber error en las demás, automáticamente todo debe adaptarse.
Ejemplo:
Tengo CAT-A y CAT-B
Dentro de CAT-A tengo C1, C2, C3, C4.
Dentro de C4 tengo Z1, Z2, Z3
Y después el CIERRE.
En C1 tengo los ITEMs C10001, C10002 y C10003; en cierre tengo el item cat-a0001.
Entonces, si yo modifico el Item CAT-A por cat-aa el item que se encontraba en cierre debería cambiar a cat-aa0001 aunque ya esté cerrado.
Y si modifico la categoría C1 por CX1 los ITEM se modificarían a CX0001, CX0002 y CX10003.
(Por modificar me refiero a que puede ser un cambio de nombre por ejemplo u otro elemento o campo que distinga a la categoría, como un color asignado, alguna imagen, algún a descripción, etc. ).
De forma que todo siempre guarde un orden, y se puedan realizar cualquier tipo de modificación sin crear un caos, y por caos me refiero a errores.
Cada categoría debe tener algo parecido a la “bandeja” en los correos electrónicos, en donde llegarán todos los items, y se deben poder visualizar por usuario, es decir, si tengo 10 usuarios en la categoría c2, cada usuario podrá ver lo que le toca y gestionarlo. Además de poder ver todos los otros items de los otros usuarios, también debe tener “permisos” de forma que si un usuario quiere abrir un item de otro, no pueda hacerlo. Y si hay items que no tienen usuario asignado, cualquiera en esa categoría puede abrirlo y gestionarlo, a su vez que si está abierto el item, automáticamente se bloquea de la bandeja para que no se pueda abrir por dos usuarios al mismo tiempo y genere un error.
Desde la bandeja se pueden gestionar los items, moverlos a la siguiente categoría, regresarlos a la anterior, con casilla de selección o selección múltiple con ctrl+ clic primario del mouse para poder trabajar varios items a la vez, o shift+ flechas, etc, con sus opciones de clic secundario del mouse.
Bueno. El ítem nace etiquetado con un número que va incrementando automáticamente y una o varias letras que es la categoría en dónde nació, de preferencia infinito, para que nunca haya problemas de duplicados o de errores; porque que tal si la página llegara a crecer a miles de millones de ITEMS, pues entonces, tendríamos un problema, digo, que tal si llega a pasar.
Los ítems en CIERRE deben poder estar etiquetados con respecto a dónde se iniciaron, para poder "clasificarlos con algún menú o filtro" de esos que son por tipo, por fecha, por rango de fechas, por categoría en la que se encuentra, etc. Para hacer los reportes y esas cosas.
También debe tener un buscador general, que tenga filtros por las categorías creadas, incluyendo la categoría de CIERRE. De preferencia un buscador semi predictivo o que se pueda activar y desactivar lo predictivo, porque por ejemplo, a veces está uno en google y su función predictiva en vez de ayudar, estorba; pero en ocasiones, un buscador predictivo podría ayudarte por si no te sabes la categoría o algún dato del ITEM a completarlo, como sucede cuando no recuerdas la página completa en google y solo escribes una parte y la busca de tu historial y te la da como sugerencia y entonces dices: Oh, esa es la que buscaba.
Claro que el algoritmo de google es sofisticado, pero he sabido que se puede utilizar sin problema para cualquier cosa que se haga, pues está por ahí en una API o como le llamen.
Bueno hablando de la composición de las categorías. Una categoría puede tener, como anteriormente mencioné, campos, estos campos pueden ir variando e irse agregando con forme pasa el tiempo, y por supuesto, cada campo que se agregue en una categoría del mismo nivel, aparecerá en las otras categorías del mismo nivel, con la opción de ocultarla si es que no se utiliza mucho.
Ejemplo:
Supongamos que tenemos la categoría C1 y C2, y sus CAMPOS son de texto o multimedia o variable: Nombre, Apellido, Flor o Fruto, País, Estado, Capital y Color. Entonces si agrego en C1 el CAMPO Animal entre Flor o Fruto y País, en C2 también se debe agregar quedando: Nombre, Apellido, Flor o Fruto, Animal, País, Estado, Capital y Color. Claro que si en C2 después veo que no necesito por ejemplo el CAMPO Color, entonces la desmarco o la oculto para que no se vea, pero que ahí esté la posibilidad por si se me ocurre agregarla.
Además todos estos campos también deben ser incrementables infinitamente, de forma que permanezca todo redundante, porque si de repente yo hago un cambio de nombre el campo color por colores, pues todos los campos en todas las categorías aunque estén ocultas deberán cambiar: y lo mismo, si sigo agregando campos tras campos, se deben tener la opcion de agregar en todas las categorías, digamos paralelas o del mismo rango jerárquico. De igual manera, por ejemplo, si cambié el CAMPO Color por Colores, y me apareció un anuncio alert que dice, "desea cambiar todas las categorías paralelas" y me da la opción si - no, y yo le digo no, y me arrepiento; entonces solamente debo volver a editar el campo y darle en guardar para que me arroje de nuevo el alert y entonces le ponga si. Obviamente esto no importa mucho, porque de todas formas se va a agregar pero no estará visible.
En ese caso aunque el ALERT me diga: "desea cambiar todas las categorías paralelas", realmente signifique: "Desea hacer visible este campo en todas las categorías"; no es que el usuario tenga que saberlo, el sólo sabe que no está y ya. Ahora del mismo modo, si estoy en una categoría digamos C2, pero no está visible el campo Colores, pues de alguna forma en editar categoría puedo ver que si hay un campo colores solamente lo activaré, igual, desde esa parte puedo agregar campos a la(s) categoría(s) si lo prefiero.
También me gustaría que esos campos mediante esa función de editar categoría, me permita guardar el orden particular de la categoría donde lo estoy editando. Si en C1 pongo primero Nombre y luego Apellido, pero en C2 me parece mejor ponerlos invertidos, primero Apellido y luego Nombre, quisiera poder guardar ese orden en particular.
Más o menos quedaría así lo de los items, en este caso, al modificar un item, como todos son la misma plantilla, todos los items se modificarían agregando opciones ocultas. En el caso de los ITEM sería preferible que me dijera: "En qué categorías debo modificar el CAMPO: CAT1, CAT2, ETC" "SUBCAT1" o "SUBBCAT1"; ahí no convendría mucho un ALERT sino alguna otra función.
Tener la función de copiar-pegar, así solamente "clonaría" una categoría con sus elementos dentro. Al estilo batch de cm-dos. "copiar arbol", "copiar árbol con items", etc.
Claro que si voy a usar copiar árbol con items me debe decir si va a tardar mucho o si no, y además debe hacerlo en segundo plano como para que no me atrase en mi trabajo o me bloquee esa pantalla. Al final de hacer el trabajo podría lanzar una alerta como las de google chrome de esas que salen en la esquinita de abajo, que diga: "Tal cosa tal cosa listo" o "Tal cosa terminado", y un sonido para saber que ya está lista la tarea.
En la parte de agregar usuarios y contraseñas, también debo poder agregar cuanta cantidad de usuarios y contraseñas quiera, también el gestor de usuarios me debe de indicar el log de conexiones, para saber cuándo, a qué hora y desde dónde se conectan mis usuarios, y por supuesto el cierre de sesión por inactividad. Formulario de cambio de contraseña de forma automática por si se les llega a olvidar, no tengan que estar haciendo una petición al administrativo.
Los usuarios se deben poder agregar ilimitadamente con su panel de edición de privilegios.
En este caso, los privilegios son variados porque por ejemplo. Un usuario de la categoría principal CAT1 puede modificar todo lo de su categoría, pero no lo de las otras categorías, o si quiero que pueda modificar CAT1 y SUBCAT1, SUBCAT2 y SUBBCAT1, pues también poder elegirlo. También quiero poder elegir qué usuario puede hacer nacer un nuevo item (crear un item pues).
Por ejemplo:
Pablo puede crear ITEMS en CAT1, pero no en SUBCAT1.
José puede crear ITEMS en SUBCAT1 pero no en CAT1.
Juan puede crear ITEMS en CAT1 y SUBCAT1 pero no puede modificarlos.
Y Carlos puede crear y modificar ITEMS en todas las categorías.
Así mismo solo Carlos puede modificar categorías y añadir campos en todas las categorías y campos en los ITEMS.
Como es probable que haya muchos usuarios, TODOS los usuarios pueden agregar comentarios sin importar la categoría a la que pertenezcan. Supongo que ahí debe haber un log de comentarios, pero ese si debe ser visible.
Así mismo, cuando un usuario modifique un item y este pase a la otra categoría siguiente, se debe quedar un registro o un log de cambios, con los datos de usuario que modificó el item y la modificación que hizo. Con la opción de tenerlo todo a la vista u ocultarlo. Algo así como un sub menú por ahí de: "ver log de cambios".
Un log de cambios dirá por ejemplo algo así: "fecha, hora, minuto, segundo usuarioa: modificó nombre x1 por x2, modificó dirección de y1 por y2, guardado correcto. / fecha, hora, minuto, segundo usuariob: modificó dirección de y1 por y2, modificó teléfono z1 por z2, guardado correcto".
Como los items van a ir de categoría en categoría, también debe haber un log de ubicación del item, en el que pueda ver si el item va de adelante para atrás o viceversa. Porque por ejemplo, si el ITEM CX0001 se pasó de la CAT1 a la SUBCAT1 se le agrega una ETIQUETA de: "CAT1 a SUBCAT1" pero la SUBCAT1 dice que está mal, deberá regresarlo a la Cat1, y como éste es el mismo item, al regresarlo le añadirá una marca de por ejemplo: "devuelto" y en el log de ubicación se le agregará una etiqueta de: "subcat1 a cat1". Por lo que el log de ubicación del item cx0001 deberá aparecer:
"cat1 a subcat1", "subcat1 a cat1" y si por ejemplo se continúa con el proceso dirá: "cat1 a subcat1", "subcat1 a cat1", "cat1 a subcat1", "subcat1 a subbcat1", subbcat1 a cierre".
Quiero imaginarme que esos logs como el de ubicación me ayudarán a crear un reporte sobre los items, para saber si van en tiempo y de forma profesional (sin regresos o errores) y medir cuanto tiempo tardan en procesarse los items.
Además como el final de todo el proceso temporalmente es cierre, necesito poder agregar algo antes o más allá de cierre por si es el caso de que quiero que todos los items terminen en otra categoría juntos además de la de cierre. Que tal y después de cierre quiero modificar y enviar el item a otra categoría o base de datos.
Por ejemplo, también quiero poder agregar alguna app donde me permita automatizar acciones, cuando llegue a una categoría en particular.
Por ejemplo: Si mi item pasa por todo el proceso y llega a la categoría cat-e1, automáticamente pueda enviar un correo electrónico o un mensaje de texto sms, o imprima una hoja de datos, o realice una llamada, o algo. Si llega a la CAT-F1 pues haga otra acción automática asignada, o registrarse en otra base de datos DBEXT1 por ejemplo. Y esa DBEXT1 la utilizaría otra persona para sus fines personales.
En el asunto de reportes, pues sumamente complejo, debe de existir alguna app o un algo que ya los haga de forma automática y predictiva, porque debería poder sacar reportes de todos los campos, y pues como los campos van incrementando el reporteador también debe estar adaptado a esas modificaciones. Lo básico, saca gráficas, elegir rangos de fechas, elegir los ITEMS en el reporte, etc. Además de sus capacidades de exportación como son excel, porwer point, png, word, comas, bloc de notas, PDF, enviar por correo, etc.
El reporteador debe ser a pedido y con los datos que uno quiere, y un área especial del reporteador que siempre esté activa con datos importantes.
Acerca de la interfaz, crear un menu donde se pueda elegir una capa de temas que pueden ser paletas de colores institucionales, divertidas, relajantes, oscuras para el trabajo de noche, etc. Y estas se guarden por usuario, con el fin de que cada uno pueda personalizar su área de trabajo donde se pueda sentir más cómodo, también cambiar el tamaño de la fuente y por supuesto debe ser 100% auto ajustable a cualquier tamaño de ventana o monitor. css y bootstrap.
Además cada pantalla, o sección, u hoja, o parte del sitio se debe poder modificar en tema de colores, textos, imágenes de fondo, etc, por si quiero modificarla por temporada o algo parecido. Por ejemplo, si el loggin quiero que sea un dia verde y luego el otro morado, o si en navidad quiero ponerle un pino navideño.
El sitio debe ser seguro, para que no puedan extraer información de dentro o puedan ingresar a partes de la página. He visto que por ejemplo en algunos sitios se puede acceder con la url directa, por ejemplo: una persona accede a la url http//mipagina.com/categorias/ventas/enlaces/items/?-CX0002.php Y el atacante puede ver el ITEM y extraer la información sin autenticación.
Integrar un chat interno donde todo se guarde, sencillo con funciones de transferencia de archivos p2p, sonido, personalizar la foto del usuario, el color, y sobre todo poder chatear con cualquier usuario en el sistema. También debe tener una sección interna como un mini foro donde los usuarios puedan colocar sus consultas, y todos puedan ayudar a resolverlas, y un wiki de información de ayuda al personal.
Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Crear un nuevo sitio personalizado
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Integraciones de API Payment Processor (Paypal, Stripe, etc.), Cloud Storage (Dropbox, Google Drive, etc.), Otros (Otras APIs)
Roles necesarios Programador, Diseñador, Otro
Plazo de Entrega: No definido
Habilidades necesarias