Terminado

Base de datos Mysql con Aplicativo Web a través de interfaz gráfica

Publicado el 28 Mayo, 2019 en Programación y Tecnología

Sobre este proyecto

Abierto

Objetivo del proyecto.  –SÍNTESIS-- 

Crear una base de datos vinculada a un aplicativo web mediante una interfaz gráfica, sencilla, interactiva e intuitiva para ser usada de forma simultánea por varios usuarios y gestionada por varios administradores (tantos administradores como el administrador principal permita).

FUNCIONES Y ASPECTOS MÁS específicos.-

1.    El sistema aplicativo web se conectará a una base de datos que se tiene que hacer con MySQL. El sistema creado tiene que servir como un ‘puente’ de unión entre la información que introduzca el usuario y la propia base de datos MySQL, donde terminará finalmente la información.

2.    Dicho sistema aplicativo tiene que ser claro, sencillo, interactivo e intuitivo, exactamente a imagen y semejanza como se observa en las ilustraciones adjuntadas a este proyecto. El diseño y la funcionabilidad serán  idénticos a dichas ilustraciones adjuntadas. La información no será introducida directamente con MySQL, sino a través de dicho aplicativo web mediante la mencionada interfaz gráfica por acción de los usuarios.


3.    Se creará un formulario para poder registrar todos los usuarios del sistema para poder hacer un seguimiento de los datos registrados por cada uno, además de la fecha y hora en la que se realizó la acción en el sistema.

4.    Los datos de los usuarios (su nombre de usuario, su contraseña,…) podrán ser modificados y eliminados del aplicativo web y como consecuencia a su vez, de la base de datos a través del administrador o administradores. Incluso se podrá eliminar un determinado usuario cuando fuese necesario. Es importante por tanto, que no interfiera la información de los usuarios con la información de las combinaciones de productos, que no se entremezclen, para llegado el caso, solo sacar la información de las combinaciones.
 

5.    Varios usuarios de distintos países accederán al sistema para introducir información en la base de datos mediante los permisos requeridos por el administrador/es a través de usuario y contraseña. La idea es que se haga mediante registro en un hosting/servidor y que la información se guarde de forma simultánea siendo visible para todos y manteniéndose actualizada en tiempo real, algo similar a como sería trabajar con Excel en Google Drive. 

6.
El hosting será propio. Información del hosting/servidor que pueden ser necesarios:
        Versión Apache        2.4.39
        Versión PHP              7.2.17
        Versión MySQL          10.2.23-MariaDB-log
        Arquitectura              x86_64
        Sistema operativo      Linux

7.    Todo el sistema que se cree tendrá que funcionar en el mayor número de exploradores posibles, pero prioritariamente en CHROME.


8.    Evitar en lo posible la utilización de JAVA y/u otros lenguajes que dificulten la actualización y el correcto funcionamiento de todo el sistema del aplicativo web.

9.    El sistema aplicativo tendrá que combinar un producto α con un producto β y de forma automática el producto β quedará combinado con el producto α.                                   
Si  α combina con β,  entonces  β  combina con  α. 

    Por ejemplo,  observar la ilustración ’11-DIBUJO’.
Un producto α sería cualquiera de la columna en azul oscuro, en este caso concreto sería Frambuesa (señalada en azul claro). Un producto β en este caso, sería coco (también señalado en azul claro). Al realizar está combinación mediante el aplicativo web, tanto en el aplicativo como en la base de datos MySQL quedará registrada la relación: Frambuesa – Coco; así como, Coco – Frambuesa.
De ésta manera al Coco que esté en la columna en azul le saldría automáticamente en su listado de combinaciones Frambuesa.

10.    Cada producto perteneciente a la columna de azul oscuro, tendrá asignado al lado una celda perteneciente a la columna de las combinaciones. De dicha celda se desprenderá un listado de productos susceptibles de ser combinados con el producto de la columna de azul oscuro pudiendo tener cientos y cientos de combinaciones con tendencia a +∞ (ver secuencia de ilustraciones desde ‘4-dibujo’ hasta ‘8-dibujo’).

    El listado de productos que se desplegará junto a cada uno de los productos ubicados en la columna de azul oscuro, es el mismo listado de la propia lista de color azul oscuro (ver ilustración ’24-dibujo’)
*importante aclaración: cabe destacar que no todos los productos de una lista combinan con los de la otra lista. Las relaciones de combinaciones se harán manualmente por los usuarios en el sistema como se observa en todas y cada una de las ilustraciones adjuntadas. 

11.
El sistema aplicativo permitirá crear una relación de múltiples combinaciones simultáneas con un producto determinado, seleccionando varias de ellas y eliminando aquellas seleccionadas según convenga,  con independencia de en qué posición se encuentren en el listado, recurriendo al buscador para encontrarlas si fuese necesario, tal y como se observa en la secuencia de ilustraciones que va desde la ’10-dibujo’ hasta la ’17-dibujo’, manteniendo siempre la premisa de si  α combina con β,  entonces  β  combina con  α.  Por tanto si se elimina una combinación tanto del aplicativo web, como de la base de datos se suprimirá la relación en ambos sentidos.

12.    *importantísimo: se establecerá un sistema de bloqueo para los datos de las combinaciones registradas por los usuarios (por ejemplo, frambuesa – coco, coco – frambuesa; albaricoque – bellota, bellota - albaricoque, etc…) tanto en el sistema aplicativo web, como en la base de datos mysql para que no puedan ser modificados ni alterados por ningún usuario a excepción del administrador/es del sistema.

13.    En el sistema aplicativo se podrá editar la columna de productos en color azul oscuro (Albaricoque, Anacardo, Avellana, Bellota,… hasta +∞), pudiendo modificar el nombre de cualquiera de ellos, así como editar o crear nuevos. Estos productos de momento solo tendrán Nombre y un ID único.
Paralelamente y de forma simultánea, cada vez que haya una modificación o se edite un nuevo producto en la columna de azul oscuro, aparecerá en la columna de combinaciones, puesto que siempre han de tener idéntico contenido (ver ilustración ’25-Dibujo’).
    *importantísimo: esta acción solo la podrá realizar el administrador/es del aplicativo web, nunca los usuarios. Los usuarios sólo combinaran los productos, nunca podrán editar o modificar nombres y posiciones de éstos en el sistema.


14.    El sistema tendrá que crear una función que pueda mostrar todos los productos que hayan sido combinados con un producto determinado y cuantificarlos. Por ejemplo, mostrar todos aquellos productos que estén combinados con la Frambuesa, tal y como se observa en la secuencia de ilustraciones que va de la ’18-dibujo’ a la ’21-dibujo’.


15.    El sistema permitirá solo al administrador/es, nunca a los usuarios, suprimir una combinación ya guardada en el listado de ‘productos ya combinados’. De este modo, dicha combinación quedará eliminada tanto del aplicativo web como de la base de datos Mysql (ver ilustraciones ’22-dibujo’ y ’23-dibujo’).


16.    El sistema tendrá que crear funciones de búsqueda para encontrar de inmediato un producto determinado digitando el nombre concreto, resaltándolo una vez encontrado tanto en la columna de color azul oscuro (ver ilustraciones ‘2-dibujo’, ‘3-dibujo’ y ‘4-dibujo’), tanto en la columna de combinaciones (ver ilustraciones ‘9-dibujo’, ’10-dibujo’ y ’11-dibujo’), así como en listado de productos ya combinados con un producto determinado (ver ilustración ’21-dibujo’, donde se observa la celda con la lupa).

17.
El sistema no dejará que se duplique una combinación existente ya creada con anterioridad por otro usuario. El sistema tendrá que avisar al usuario que corresponda de que esa combinación ya está introducida. Del mismo modo, el sistema no dejará que un mismo producto se combine consigo mismo.
Por ejemplo, Albaricoque – Albaricoque, (NO).

18.    El sistema permitirá solo al administrador o administradores del aplicativo web, ver y acceder a la base de datos mysql mediante un acceso controlado por contraseña, nunca a los usuarios se les permitirá ésta acción (ver ilustraciones ’26-dibujo’, ’27-dibujo’ y ’28-dibujo’).

19.    Una vez que el freelancer entregue el sistema al cliente, el freelancer dará todo el soporte necesario al cliente hasta comprobar por ambas partes el correcto funcionamiento de todas las funciones aquí acordadas, teniendo que ser corregidas sin coste en caso de error u objetivo no cumplido.

20.    Todas las imágenes o ilustraciones a las que se hacen referencia en este listado de condiciones, serán adjuntadas para que el freelancer entienda bien todo lo necesario para realizar la tarea.

21.    El pago del proyecto será por trabajo finalizado, y no por horas trabajadas. El monto que se pagará por la realización de la tarea será de 100 USD.
Importe que se desembolsará entendiendo que cada una de las partes asumirá las comisiones que exige la plataforma.

22.    El trabajo será entregado en un plazo de 10 días naturales a partir del momento en que se acepte la propuesta.

Categoría Programación y Tecnología
Subcategoría Otros
Tamaño del proyecto Pequeño
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Integraciones de API Otros (Otras APIs)

Plazo de Entrega: 07 Junio, 2019

Habilidades necesarias