Hola mi nombre es Victor

Programo aplicaciones en Php, Html, Css, JavaScript y Sql. He trabajado en aplicaciones de gestión de usuarios, gestión de redes y gestión de telemetría, Mqtt, RabbitMQ, diseñando la arquitectura de la aplicación, la arquitectura del sistema y todo el diseño, maquetación y programación del software para el despliegue de la aplicación.

Aquí en www.intvictor.com muestro a modo de currículum, una pequeña presentación de mis conocimientos y habilidades en programación y despliegue de aplicaciones.

Habilidades y Experiencia

En este trabajo se muestran catálogos de objetos del firmamento, concretamente el famoso Catálogo Messier que consta de 110 objetos, que en su tiempo se diferenciaron de las estrellas mas nítidas, también los planetas solares y sus múltiples lunas. Se trata de desplegar las técnicas necesarias para presentar en internet un sistema practico de consulta, orden y búsqueda de datos.

Mi afición por el Cosmos me ayudó en la temática, quedando el trabajo como un sistema bonito y practico para la multitud de personas interesadas en la astronomía y el Cosmos.

Proceso de desarrollo

El trabajo se inicia con la obtención de los datos que describen los objetos, planetas y lunas. Para ello se realizan búsquedas en internet. Wikipedia esta repleta de información, siendo un punto de consulta muy útil y enriquecedor. La documentación sobre el sistema solar y los objetos celestes es muy abundante gracias a la multitud de estudios que se desarrollan y sobre todo a la aportación de una gran cantidad de personas aficionadas al estudio del firmamento, siendo una de las actividades mas ancestrales, enriquecedoras y naturales en una curiosidad sana y noble por el descubrimiento, admiración y estudio de lo que nos rodea.

La NASA y la ESA

La Administración Nacional de Aeronáutica y del Espacio (del inglés: National Aeronautics and Space Administration) y la Agencia Espacial Europea (ESA, del inglés: European Space Agency) son la fuente principal para contrastar los datos que se describen. El Laboratorio de Habitabilidad Planetaria, PHL (The Planetary Habitability Laboratory) ubicado en Arecibo, Perto Rico. https://phl.upr.edu/ El Astronomical Applications Department of the U.S. Naval Observatory, https://aa.usno.navy.mil/index Son fuentes gracias a las cuales una persona puede contrastar y completar los datos necesarios para mostrar una representación de este tipo.

Preparación de los Datos

Al pretender mostrar una presentación introductoria a la temática, la necesidad de realizar una adaptación de los datos, que son de una rigurosidad máxima acorde al nivel tecnológico de las agencias, y comprenden una muy gran cantidad de datos detallados, se opto por la confección de unas nuevas tablas de datos simplificadas y la realización de algoritmos necesarios para automatizar la migración de los datos seleccionados a las nuevas tablas generadas en la base de datos con la intención de optimizar los tiempos de manejo y consulta para su presentación en la web. La optimización de tiempos es uno de los temas importante en lo que respecta a las aplicaciones en entorno web.

Php, Json, Xml, Sql

Los algoritmos para trabajar con el volumen de datos se realizan en PHP. Algunos de ellos se acoplan al Framework para realizar el tratamiento, limpieza e importación de los diversos formatos, ya fuesen CSV, Json, XML, para su posterior exportación en secuencias SLQ e inserción en las estructura de tablas de la base de datos diseñada para esta aplicación.

Otros, la mayoría, solo se han programado para realizar una tarea especifica y puntual, como puede ser, por ejemplo, la limpieza de algún carácter para encajar mejor en un campo "(int) integer" o la de filtrar ciertos caracteres incómodos para el motor de bases de datos. Buscando la optimización en la Db y mejora en la indexación de datos en sus tablas. Siendo, una vez usados, descartados al no ser el propósito de esta aplicación la gestión de importación y exportación de esos datos en concreto, quedando el rodaje personal por la experiencia en el análisis de la problemática y las soluciones técnicas a ella.

Imágenes recopilación

Gracias a la recopilación de imágenes en las webs sobre el tema, se van completando y enriqueciendo los catálogos. Las diversas fuentes son muy ricas, de una calidad tremenda. Hay muchas personas aficionadas a la Astronomía capaces de realizar unas fotografías increíbles.

Solo en algunos objetos celestes se a tenido problemas, los menos fotografiados, ya sea por su dificultad técnica para ello. El caso es que no se quería dejar huérfano un objeto y el material obtenido no es de una calidad acorde a los tiempos que corren. Siendo el tamaño y calidad de las imágenes muy diferente de una fuente a otra. Lo cual provoca dificultades para mantener las vistas homogéneas a la vez que evitar que un objeto celeste saliese muy feo.

Tratamiento de Imágenes

En una aplicación para internet es importante plantearse el modo en el cual se muestre un entorno rico y descriptivo. La velocidad de descarga es un tema muy importante y esta tirando en el extremo opuesto en el dilema de la calidad de imágenes, animaciones y el flujo UX. Es muy bueno para el despliegue de la aplicación el contar con conocimientos en software de tratamiento de imágenes.

Permitiendo la posibilidad de ajustar y afinar en este pesado dilema referente a la velocidad y estética. Muchas de las visitas a la web se realizan desde terminales tipo teléfono móvil, y algunas no están precisamente en una red WiFi conectada a una fibra óptica. En consecuencia, la descarga de datos vía Hypertext Transfer Protocol, html, css, imágenes, JavaScript, Json, necesarios para armar la estructura de la web en el navegador y mostrar los datos, puede venir de una conexión 4G o 5G incluso 2G, a diferente velocidad, dependiendo de la cobertura o saturación de las lineas de datos. Para su compresión y tratamiento se utilizan formatos múltiplos de la relación de aspecto 16:9 partiendo de FHD.

Al ser las fuentes de las imágenes de diferente tamaño y calidad, en el proceso de escalado o ampliación se restringe a encajar en las dos proporciones o en su fallo, restringir uno de sus lados para mantener el enquadre en las vistas web de naturaleza responsive (receptivo al tamaño de pantalla).
Múltiplos de 1920x1080

  • 1/1,5 = 1280x720
  • 1/2 = 960x540
  • 1/3 = 640x360
  • 1/4 = 480x270
  • 1/6 = 320x180

La arquitectura de la aplicación

La aplicación esta en base al clásico MVC.

  • La Entity es la que conforma el Objeto.
    • El Repositorio se encarga de la comunicación con el sistema de datos y servir la matriz con las propiedades que forman a la Entidad vinculada. En esta aplicación se utiliza Sql y Json.
  • El Controlador recibe la solicitud por parte del Http Request, reparte las responsabilidades entre las entidades, repositorios y servicios necesarios, terminando el trabajo con su método Response() referenciando las variables de datos solicitados para conformar un archivo de vista. Las respuestas son en su mayoría plantillas Html y alguna respuestas en Json.
  • La Vista esta conformada por Header, Footer y Content, en los cuales se vincula las hojas de estilo necesarias. Cada plantilla que sirve el Response del Controlador se encaja en la sección de el "Content". El código y librerías JavaScript, al igual que las librerías y fragmentos de CSS, las hay globales y otras para cada sección en concreto, como por ejemplo en el visor ampliador de imágenes, que solo se utiliza en las vistas de "Detalles". Ayudando de ese modo a mantener un acceso ligero a la aplicación y procurando mantener un código limpio y ordenado.

UML

Lenguaje de Modelado Unificado

Diagrama de Clase Planetas

Los diagramas UML son comprensibles para diversos roles implicados en la realización de una aplicación. Ayudando de manera grafica a mostrar, entre otros, la especificación de los requisitos, las funcionalidades, la interacción con el usuario, etc.
Siendo una guía de muy explicita y colaborativa para el desarrollo de la aplicación.





En la aplicación los planetas están conformados en Php por la Entidad: system_solar_planets.php
Los planetas incluyen: Imágenes y Lunas. Cada uno especificado en su respectiva Entidad.
Pequeña into a UML en la aplicación