desarrollos por Juan David Rodríguez García

Trabajos de desarrollo de software que he realizado en los últimos años.

EchidnaScratch

Descripción
Las placas de desarrollo Echidna están diseñadas por profesores y para profesores. La intención es acercar la programación y la robótica a todos los interesados, especialmente a los más pequeños. EchidnaScratch es un clon de Scratch al que se le han añadido nuevos bloques para poder controlar los sensores y actuadores de las placas Echidna.
Tecnologías
javascript/Angular, HTML/CSS, Git

LearningML

Descripción
LearningML es una plataforma educativa para aprender sobre inteligencia artificial de una manera sencilla y mediante actividades prácticas. Con este proyecto pretendemos acercar a personas no especialistas pero interesadas en el tema, y a los niños y niñas de niveles no universitarios, los fundamentos una de las técnicas más usadas en aplicaciones basadas en Inteligencia Artificial y de más impacto tecnológico y social: el Machine Learning o aprendizaje automático.
Tecnologías
Python/Django, javascript/Angular, HTML/CSS, Tensorflow.js, MySQL 5, Git

Conversor/Servidor de vídeos

Enero 2014 - Marzo 2014

Descripción
Se trata de un sistema mediante el cual:
  • Los usuarios pueden subir y categorizar vídeos en cualquier formato a través de una aplicación web o por FTP.
  • Los usuarios pueden organizarse en grupos.
  • Los vídeos son automáticamente añadidos a una cola y convertido a formato mp4 y webm optimizado para la visualización on line.
  • Se añade al final del vídeo otro pequeño vídeo con la licencia del mismo.
  • Se crea una url pública para los vídeos subidos que puede ser utilizada como link en la confección de webs.
Trabajos realizados
  • Análisis/Diseño/Implementación
  • Despliegue y mantenimiento correctivo y evolutivo
Tecnologías
PHP / Symfony2, javascript, HTML/CSS, Apache 2 web server, MySQL 5, Subversion, RabbitMQ

Sistema Educativo Digital

Descripción
El SED es un conjunto de aplicaciones interconectadas que proveen de todos los servicios que requiere un centro docente para la consecución de los objetivos del currículum, la personalización de la enseñanza, la mejora de la calidad de los aprendizajes y de la comunicación con las familias.
El acceso a dichas aplicaciones se realiza por un mismo portal de identificación de manera que con las mismas credenciales los usuarios pueden acceder a todas sus aplicaciones identificandose una sola vez (SSO, Single Sing On).
Trabajos realizados
  • Análisis / Diseño / Implementación del Proveedor de Identidad.
  • Coordinación del equipo de desarrollo.
  • Despliegue y mantenimiento del Proveedor de Identidad.
  • Adaptación de los Moodles para identanción Federada.
Tecnologías
PHP / Simplesamlphp, HTML/CSS, Apache 2 web server, MySQL 5, Moodle, Subversion, vagrant

Gestión de Firewalls

Descripción
Aplicación para la gestión automática y remota de los cortafuegos de máquinas (iptables) de la Infraestructura TIC del INTEF. Con esta aplicación se puede:
  • Inventariar las máquinas y todas sus interfaces de red e IP's asociadas.
  • Agrupar las máquinas por granjas.
  • Asignar reglas a las máquinas del sistema a través de una sencilla y usable interfaz gráfica para permitir únicamente las comunicaciones a través de los puertos que requiera para desempeñar su función.
  • Generar reglas de iptables a partir de las reglas asignadas.
  • Desplegar remotamente las reglas de iptables en las máquinas del sistema.
  • Integración en el sistema de Identidad Federada de la intranet del INTEF, pudiendo hacer los usuarios Single Sign On con el resto de aplicaciones de la federación.
Trabajos realizados
  • Diseño / Implementación
  • Coordinación del equipo de desarrollo
  • Despliegue y mantenimiento correctivo y evolutivo
Tecnologías
PHP / Symfony2, javascript, HTML/CSS, Apache 2 web server, MySQL 5, sphinx, Subversion

Centro Virtual de Educación

Enero 2007 a Marzo 2009

Descripción
El Centro Virtual de Educación es un entorno integrado tele-informático que hace uso de las posibilidades de Internet para llevar a cabo las actividades de formación en línea y otros servicios que el INTEF ofrece a sus usuarios.
Trabajos realizados
  • Mantenimiento
  • Desarrollo correctivo y evolutivo
  • Coordinación del equipo de desarrollo
Tecnologías
PHP / Symfony 1.4, javascript, HTML/CSS, Apache 2 web server, MySQL 5, Subversion

SymfonITE

Descripción
Symfonite es una extensión del framework de desarrollo de aplicaciones web symfony (versión 1.4) con la que se pretende:
  • centralizar la gestión de usuarios y perfiles de las aplicaciones construidas con dicho framework,
  • construir sistemas de aplicaciones web que se pueden asociar/desasociar a los usuarios a través de una única aplicación de gestión del sistema.
  • construir aplicaciones que sean integradas fácilmente en entornos de Identidad federada.
La extensión consiste en la combinación de varios plugins, algunos de los cuales han sido desarrollados por el Departamento de Telemática y Desarrollo del Instituto de Tecnologías Educativas (ITE), y otros son plugins bien conocidos desarrollados por la comunidad de symfony.
Enlaces
Trabajos realizados
  • Análisis/diseño e implememtación del framework
Tecnologías
PHP / symfony 1.4, javascript, HTML/CSS, Apache 2 web server, MySQL 5, Subversion

Incorporación de symfony 1.4 para el desarrollo de módulos del Centro Virtual de Educación

Descripción
Cambiar el inicio de Sesión del Centro Virtual de Educación por uno basado en el framework symfony 1.4, y adaptar el código para realizar el desarrollo de los módulos venideros en symfony 1.4 en sustitución del framework construido originalmente para el proyecto.
Trabajos realizados
    Diseño e implementación de la pasarela de CVE a symfony 1.4
Tecnologías
PHP / symfony 1.4, HTML/CSS, Apache 2 web server, MySQL 5, Subversion

RetextINTEF, documentación con restructured text

Descripción
Se trata de una aplicación para la elaboración y gestión de documentación en formato restructured text (http://docutils.sourceforge.net/rst.html, http://www.sphinx-doc.org/es/stable/rest.html). La aplicación permite:
  • Crear/editar documentos rst y ver paralelamente el resultado en html
  • Crear proyectos de documentación consistentes en un n.º indefinido de documentos rst.
  • Crear grupos de editores sobre proyectos para la edición colaborativa.
  • Crear documentación HTML accesible a los miembros del departamento.
Trabajos realizados
  • Analisis/diseño/implementación
  • Despliegue y mantenimiento correctivo y evolutivo
  • Coordinación del equipo de desarrollo.
Tecnologías
PHP / Symfony2, javascript, HTML/CSS, Apache 2 web server, MySQL 5, sphinx, Subversion

Cuaderno Digital

Descripción
Se trata de una aplicación consistente
  • 1. en un backend web que utiliza el profesor para gestionar actividades para el grupo de alumnos,
  • 2. Una aplicación cliente que los alumnos se instalan en su computador y que se conecta al servidor de actividades para descagarse en local las actividades asignadas por el profesor. Una vez descargadas las actividades pueden utilizarse off-line.
Trabajos realizados
Diseño e implementación
Tecnologías
PHP / symfony 1.4, Java, HTML/CSS, Apache 2 web server, MySQL 5, Subversion

Identidad federada con SAML y SSO en intranet del INTEF

Descripción
Integración de varias aplicaciones de la intranet del INTEF a un sistema de Single Sign On (SSO) basado en SAML y contra Directorio Activo.
Trabajos realizados
  • Adaptación de simplesamlphp (https://simplesamlphp.org) como Proveedor de Identidad (IdP) de las aplicaciones de la intranet y como librería PHP para la adaptación de las aplicaciones PHP como Proveedores de Servicio (SP), esto es, para que puedan hacer el proceso de autenticación sobre el Proveedor de Identidad.
  • Coordinación del equipo de desarrollo
Tecnologías
PHP / SimplesamlPHP, HTML/CSS, Apache 2 web server, MySQL 5, Subversion, Directorio activo de windows

Gestión de usuarios y servicios

Descripción
Aplicación para gestionar los usuarios con servicios de correo, espacio web y FTP. Esta aplicación se comunica con el sistema para asociar/desasociar dichos servicios a los usuario, a través de servicios web de tipo SOAP.
Trabajos realizados
  • Diseño/implementación
  • despliegue y mantenimiento correctivo y evolutivo
Tecnologías
PHP / Symfony2, javascript, HTML/CSS, Apache 2 web server, MySQL 5, Subversion, SOAP

Web de Aluni (alquiler de pisos para estudiantes)

Descripción
Web para alquiler de habitaciones a estudiantes y jóvenes profesionales en toda España. (https://www.aluni.net)
Trabajos realizados
  • Formación y coordinación de los desarrolladores.
  • Arquitectura de la aplicación.
  • Implementación del proceso económico.
  • Despliegue de la aplicación.
Tecnologías
PHP / Symfony2, javascript, HTML/CSS, Apache 2 web server, MySQL 5, Git/github, pasarelas de pago, paypal

Colabora

Descripción
Aplicación para la gestión de incidencias de una empresa con:
  • Gestión de usuarios y grupos.
  • Asignación de roles.
  • Workflow con interacción entre roles.
  • Workflow con interacción entre roles.
  • Subida múltiple y simultánea de archivos.
  • Notificaciones por email.
Trabajos realizados
  • Análisis / diseño e implementación.
  • Despliegue.
  • Mantenimiento correctivo y evolutivo.
Tecnologías
PHP / Symfony2, javascript, HTML/CSS, Apache 2 web server, MySQL 5, vagrant, git/github

Gestión de contenedores de obras

Descripción
La aplicación permite la gestión integral de una flota de vehículos móviles y elementos no móviles asociados. Dicho producto está diseñado para proporcionar toda la información sobre el estado de una flota, dejando atrás procedimientos tediosos de gestión manuales. El producto viene articulado de acuerdo a los siguientes módulos funcionales:
  • Gestión del Parque de vehículos
  • Gestión de Servicios en tiempo real
  • Gestión del Mantenimiento
  • Gestión de Alertas y Generación Automática de Mantenimientos
  • Gestión de Consumos y Gastos Gestión de las Incidencias
  • Gestión de los Documentos
  • Listados e Informes
  • Gestión de Usuarios y Perfiles de acceso
  • Configuración y Parametrización
  • Gestión de Clientes, empleados, proveedores, etc
  • Geolocalización de vehículos, contenedores, vertederos y almacenes.
Trabajos realizados
  • Análisis
  • Diseño
  • Implementación de la arquitectura
  • Coordinación del equipo de desarrollo
  • Despliegue
Tecnologías
PHP / Symfony2, javascript, HTML/CSS, Apache 2 web server, MySQL 5, git/bitbucket, geolocalización

Integración de symfonITE en abiesweb

Descripción
ntegrar el framework de desarrollo symfonITE en abies web AbiesWeb es una aplicación creada por el Ministerio de Educación, Cultura y Deporte (MECD) para la gestión de los fondos y de los recursos de las bibliotecas escolares en los centros educativos no universitarios. http://www.abies.es/web/
Trabajos realizados
  • Análisis/Diseño/Implementación del framework symfonITE
  • Integración de symfonITE en abies
Tecnologías
PHP / symfony 1.4, javascript, HTML/CSS, Apache 2 web server, MySQL 5, Subversion

Buscador de recursos

Descripción
Un buscador de recursos educativos históricos alojados en el INTEF.
Trabajos realizados
  • Diseño e implementación
Tecnologías
Scala, javascript, HTML/CSS, Apache Tomcat, MongoDB, Subversion

Mensajería para el Centro Virtual de Educación

Descripción
Aplicación de mensajería interna para los usuarios del Centro Virtual de Educación.
Trabajos realizados
  • Análisis del proyecto.
  • Diseño de la gestión de grupos de usuarios.
  • Adaptación e incorporación del software “roundcube”. (https://roundcube.net) como cliente de mensajería interna.
  • Supervisión de la implementación de la gestión de grupos.
  • Desarrollo de la infraestructura tecnológica del proyecto. (servidores y servicios de correo)
  • Coordinación del equipo de desarrollo.
Tecnologías
PHP, javascript, HTML/CSS, Apache 2 web server, MySQL 5, Subversion, servidor SMTP postfix, servidor IMAP courier

Geoaulas

Descripción
Buscador de aulas con geolocalización de google para el proyecto aulas mentor (http://www.aulamentor.es/es/aulas)
Trabajos realizados
  • Despliegue y mantenimiento
Tecnologías
PHP, javascript, HTML/CSS, Apache 2 web server, MySQL 5, Subversion, geolocalización

Foros CVE

Descripción
Aplicación de Foros para los usuario del Centro Virtual de Educación
Trabajos realizados
  • Adaptación e incorporación de la aplicación de foros phpbb ( https://www.phpbb.com/) al Centro Virtual de Educación
Tecnologías
PHP, HTML/CSS, Apache 2 web server, MySQL 5, Subversion

Diversas calculadoras jurídicas para IOS y Android

Descripción
Calculadoras de interés jurídico implementadas para web, IOS y Android
Trabajos realizados
  • Implementación para web, IOS y android
  • despliegue en web
  • despliegue en apple store (ios)
  • despliegue en play store (android)
Tecnologías
Javascript / angular 1.4 / HTML / CSS, ionic framework para las aplicaciones móviles, GIT, apache2

Easesor

Descripción
Aplicación móvil para IOS y android Es un sistema de gestión de despachos en entorno seguro (extranet) que permite:
  • 1. Proporcionar documentación relativa a sus servicios a disposición de sus clientes.
  • 2. Efectuar transacciones de documentos en un entorno seguro.
  • 3. Permitir que sus clientes le envíen documentos.
  • 4. Recoger peticiones y consultas de clientes a través de formularios.
Trabajos realizados
  • Implementación IOS / Android
  • despliegue en apple store
  • despliegue en play store
Tecnologías
ionic framework, git/github, apple store, play store

Emisión de vídeos de publicidad distribuido

Descripción
Se trata de un sistema mediante el cual se controla las emisiones de vídeos/imágenes de publicidad en una granja de pantallas publicitarias. Cada pantalla está controlada directamente por una raspberry pi 3 model b y recibe los vídeos/imágenes que debe proyectar desde un servidor central.

Las programaciones se realizan a través de una aplicación web que permite:
  • registrar las pantallas de publicidad y geolocalizarlos,
  • hacer grupos de pantallas que emitirán la misma publicidad,
  • realizar programaciones con una interfaz visual basada en un calendario,
  • asociar programaciones a grupos y/o a pantallas
  • visualizar la emisión que se está realizando en una pantalla concreta
Las pantallas pueden seguir funcionando en caso de que se pierda la conexión a internet con el servidor central.
Trabajos realizados
  • Análisis, diseño e implementación
  • Despliegue y mantenimiento
Tecnologías
Python 3/Flask, javascript/angular 1.4, MySQL 5, Gunicorn, nginx, git/bitbucket, ansible, jenkins, supervisor, raspberry pi