Soy Juan Domingo, un Full Stack Developer y Analista de Datos apasionado por crear soluciones innovadoras que combinan desarrollo de software y análisis de datos. Con sede en Madrid, España, tengo experiencia trabajando en una variedad de proyectos complejos y colaborativos. Además, puedo trabajar como freelance y estoy abierto a nuevas oportunidades.
- 💼 Experiencia: Full Stack Developer con más de 2 años de experiencia y Analista de Datos.
- 🎓 Formación: Curso de Ciencia de Datos de 600 horas (6 meses), donde desarrollé habilidades avanzadas en análisis y limpieza de datos.
- 🌍 Trabajo como Freelance: Desarrollo de aplicaciones completas y robustas, desde el backend hasta el frontend.
Este proyecto es una aplicación web empresarial desarrollada utilizando Spring Boot para el backend y React para el frontend. Diseñada para gestionar múltiples operaciones internas de negocio como notas de gasto, autenticación de usuarios, gestión de inventarios y administración de empleados. Cada funcionalidad está implementada como un microservicio independiente.
- Backend: Spring Boot (JDK 17), PostgreSQL, APIs RESTful, OAuth2 + JWT.
- Frontend: React, Redux, Material-UI, Axios.
- DevOps: Docker, Kubernetes, CI/CD (GitHub Actions/Jenkins).
- Pruebas: JUnit (backend), Jest y React Testing Library (frontend).
- Gestión de Notas de Gasto:
- Empleados pueden gestionar sus propias notas de gasto.
- Los administradores tienen acceso completo a todas las operaciones CRUD.
- Autenticación y Gestión de Roles:
- Control de acceso basado en roles utilizando tokens JWT.
- Roles:
Admin
yUsuario
.
- Gestión de Inventarios:
- Seguimiento y control de dispositivos electrónicos y otros activos de la empresa.
- Gestión de Empleados:
- Administración de registros, roles y accesos dentro de la organización.
- Microservicios: Cada funcionalidad de negocio está aislada en un microservicio independiente.
- APIs RESTful: Comunicación entre microservicios, promoviendo un acoplamiento débil.
- OAuth2 & JWT: Seguridad en la autenticación y control de acceso por roles.
- Incorporar un microservicio de e-commerce.
- Integrar una pasarela de pago para habilitar transacciones seguras.
- Añadir reportes analíticos para la gestión de inventarios y notas de gasto.
📌 Repositorio: Bizflow Web App
Una aplicación web diseñada para gestionar las operaciones de una clínica dental. Facilita la programación de citas, la administración de pacientes y los horarios de los dentistas, proporcionando una experiencia eficiente tanto para secretarias como para dentistas.
- Gestión de Pacientes: Registro de datos personales, métodos de pago (seguro o privado) y asignación de responsables para menores de edad.
- Programación de Citas: Validación automática según disponibilidad de dentistas y horarios definidos.
- Gestión de Dentistas: Configuración de horarios y registro de observaciones tras cada cita.
- Roles de Usuario: Acceso seguro para secretarias y dentistas con funcionalidades específicas.
- Reportes: Estadísticas como pacientes atendidos, citas diarias y desglose por seguros.
- Backend: Java EE 8, JDK 21, JPA para ORM.
- Frontend: JSP, HTML, CSS.
- IDE: NetBeans 23.
- Base de Datos: MySQL o PostgreSQL.
📌 Repositorio: Dentist Office Management System
Expense Note App es una aplicación backend monolítica desarrollada con Spring Boot y Java JDK 11 (actualmente migrada a JDK 17). Está diseñada para gestionar notas de gasto y datos de nóminas de empleados, permitiendo un control eficiente y centralizado de los procesos administrativos.
- Arquitectura Monolítica: Simplifica el control y la implementación de la aplicación.
- API RESTful: Endpoints expuestos para la gestión de empleados, usuarios del sistema y nóminas.
- Patrones DTO y DAO: Facilitan el procesamiento y la persistencia de datos.
- Control de Acceso Basado en Roles (RBAC):
- Roles:
ROLE_ADMIN
yROLE_USER
. - Autenticación JWT: Acceso seguro mediante tokens.
- Soporte para empleados que no sean usuarios del sistema.
- Roles:
- Persistencia: Almacenamiento confiable de datos en PostgreSQL.
- Backend: Spring Boot 2 (migración futura a Spring Boot 3), Java JDK 17.
- Base de Datos: PostgreSQL.
- Seguridad: JSON Web Token (JWT) para autenticación y autorización.
- Pruebas: Uso de Postman para pruebas de endpoints.
- Migración a Spring Boot 3 para aprovechar nuevas optimizaciones.
- Integración con un frontend para facilitar la interacción.
- Ampliación de pruebas unitarias con JUnit.
📌 Repositorio: Expense Note App
Este año, he finalizado un curso en Ciencia de Datos financiado por la UE y los servicios públicos de empleo:
📍 Colegio Tajamar, Madrid (Presencial)
📅 Mar. 2024 – Sep. 2024 (600 horas)
🏛️ Data Science, IFCT156PO, Fondo Social Europeo
🔑 KPI, Big Data, Madurez Digital, Roles en DS, CRISP-DM
💻 Máquinas Virtuales
🐧 Linux: Comandos, Shell Scripting, Creación de Entornos Virtuales
🌲 Git: Repositorios, Ramas, Cambios, Etiquetas
🤝 Colaboración: Pull Requests, Forks, Clonar
🔄 Integración Continua
📒 Jupyter Notebook: Gestión de Datasets
🗄️ SQL:
- DDL/DML: Operadores, Agregaciones, Relaciones y Claves
- JOIN: Inner, Left, Right, Full
- Funciones Ventana y Subconsultas
📁 Repositorio: SQL Prácticas
📈 Storytelling with Data: Visualización para Negocios
📘 Basado en el libro de Cole Nussbaumer Knaflic
📁 Repositorio: DS Storytelling
🐍 Python:
- Fundamentos, POO, Regexp, Excepciones
- Programación Funcional: Lambdas, Map, Reduce y Filter
📁 Repositorio: DS Python
📊 Numpy & Pandas:
- Data Wrangling: Series, DataFrames, Filtrado
- Limpieza Avanzada: Missing Data, Outliers
- Operaciones: Merge, Concat, Melt, GroupBy, JSON, Time Series
📁 Repositorios: DS Numpy | DS Pandas
📊 Matplotlib: Gráficos de Línea, Área, Barras, Columnas, Dispersión, Caja-Bigotes
🎨 Seaborn: Mapas, Boxplots, Violin Plots, Regresión
📊 Plotly: Visualizaciones interactivas
📐 Estadística: Exploración, Correlación, Distribuciones, Muestreo
📊 Inferencia: ANOVA, Chi-Cuadrado, Valores p, Pruebas t
📈 Regresión: Lineal, Polinómica, Pronóstico
🤖 Machine Learning:
- Supervisado:
- Clasificación: Regresión Logística, K-NN, SVM, Naive Bayes
- Árboles: Decisión, Random Forests, Boosting
- Regresión: Lineal, Polinómica
- No Supervisado:
- Clustering: K-Means, PCA, Hierarchical Clustering
- Semisupervisado: Autoencoders, Métodos de Propagación de Etiquetas
📍 Madrid, España (Remoto)
📅 Oct. 2024 – Actualidad
Actualmente trabajo como freelance, desarrollando soluciones innovadoras que combinan desarrollo de software y análisis de datos. He trabajado en proyectos como:
- Bizflow Web App
- 💻 Backend: Arquitectura de microservicios con Spring Boot (JDK 21), seguridad con OAuth2/JWT y APIs REST para la gestión de notas de gasto y usuarios.
- 🌐 Frontend: Interfaz creada con React.js, Redux para la gestión de estado, y diseño moderno con Material-UI.
- ⚙️ DevOps: Implementación de contenedores con Docker y orquestación con Kubernetes.
- 🧪 Pruebas: Automatización de pruebas con JUnit (backend) y Jest (frontend).
📍 Madrid, España (Híbrido)
📅 Abr. 2023 – Ago. 2023
Trabajé en el proyecto PERSEO, una solución para la gestión del tráfico aéreo en España:
- 🚀 Migración de una aplicación monolítica en Java 8/J2EE a una arquitectura basada en microservicios, utilizando Talend Open Studio (ETL).
- 🔄 Optimización del flujo de datos entre sistemas mediante procesos automatizados.
- 🛠️ Resolución de incidencias críticas, mejorando la disponibilidad del sistema en un 80%.
Tecnologías: J2EE, SQL Server, Swagger, Maven, Gitflow, Talend, YAML.
📍 Madrid, España
📅 Oct. 2022 – Abr. 2023
Colaboré en el desarrollo de la aplicación web Revita, una solución de tele-asistencia médica:
- 📱 Diseño responsive y optimización para dispositivos móviles y escritorio.
- 🚀 Desarrollo de endpoints en Node.js y frontend con AJAX y Pug.
- 🛠️ Reducción de tiempos de carga en un 10% y mejora de la usabilidad en un 20%.
Tecnologías: JavaScript, Node.js, AJAX, CSS, Pug, Linux, Trello.
📍 Torrejón de Ardoz, España (Híbrido)
📅 Ene. 2022 – Oct. 2022
Lideré el desarrollo de la Expense Note App, una aplicación empresarial para gestionar gastos y nóminas:
- 🛠️ Diseño de una arquitectura en capas con Spring Boot, integrando patrones DAO y DTO.
- 🔒 Seguridad mediante autenticación y autorización con JWT.
- 📊 Persistencia de datos en PostgreSQL y automatización de pruebas con JUnit y Postman.
Tecnologías: Java 11, Spring Boot, PostgreSQL, Hibernate, JSON Web Token (JWT).
📍 Madrid, España
📅 Sept. 2021 – May. 2022
Participé en el KER Project, una plataforma médica basada en datos de salud y condiciones meteorológicas:
- 🤖 Creación de conectores entre MongoDB y APIs como Google Fit y OpenData AEMET.
- 🛠️ Refactorización de scripts en Python para optimizar la gestión de datos en tiempo real.
- 🌩️ Integración de soluciones en AWS Lambda para asegurar despliegues seguros y eficientes.
Tecnologías: Python, Flask, JSON, MongoDB, RESTful APIs, AWS Lambda.
- Email: [email protected]
- LinkedIn: Juan Domingo Ortin