aboutsummaryrefslogtreecommitdiff
path: root/src/data
diff options
context:
space:
mode:
authorAriel Costas Guerrero <94913521+arielcostas@users.noreply.github.com>2025-03-14 22:21:47 +0100
committerAriel Costas Guerrero <94913521+arielcostas@users.noreply.github.com>2025-03-14 22:21:47 +0100
commit54dab1e00b38693e96c801d0c5a020693a35bbda (patch)
treee0c61e6b694a1e8c8a6618671a9f5c738e6e621f /src/data
parent847294bbf1b4bfa213b7ac03757aa2cf444c31bd (diff)
Refactor SCSS imports to use @use syntax, update portfolio entries, and add new projects
Diffstat (limited to 'src/data')
-rw-r--r--src/data/blog/necesitas-saber-bitcoin.md16
-rw-r--r--src/data/portfolio/dynamic-tourist-info.mdx9
-rw-r--r--src/data/portfolio/mientreno.mdx17
-rw-r--r--src/data/portfolio/order-extractor.mdx11
-rw-r--r--src/data/portfolio/vigo-360.mdx15
-rw-r--r--src/data/portfolio/wp-consulting.mdx9
6 files changed, 61 insertions, 16 deletions
diff --git a/src/data/blog/necesitas-saber-bitcoin.md b/src/data/blog/necesitas-saber-bitcoin.md
deleted file mode 100644
index 0dbb684..0000000
--- a/src/data/blog/necesitas-saber-bitcoin.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title: "Necesitas saber esto antes de 'invertir' en Bitcoin"
-metaDescription: "Desmitifiquemos las criptomonedas y entendamos cómo funcionan antes de invertir en ellas."
-publishedAt: 2025-03-12
----
-
-En los últimos años, hemos oído mucho sobre criptomonedas y otros criptoactivos, pero ¿realmente la gente entiende cómo funcionan? ¿Saben realmente lo que están comprando o simplemente están siguiendo una moda?
-
-Cuando decides invertir en acciones, acudes a un bróker regulado que compra y custodia acciones de una empresa en tu nombre. Esta transacción se realiza en un mercado regulado, como la Bolsa de Madrid (BME) en España o la Bolsa de Nueva York (NYSE) en Estados Unidos, bajo la supervisión de un regulador (CNMV en España, SEC en Estados Unidos) y una cámara de compensación como IberClear en España o la NSCC en Estados Unidos.
-
-Sin embargo, ¿qué ocurre con las criptomonedas? Es posible que ni siquiera estés comprando el activo en sí, sino un derivado (como un CFD) que replica el precio de la criptomoneda. En el mejor de los casos, adquieres una anotación en una base de datos que indica que posees una cantidad determinada en un exchange, con la esperanza de poder transferirla a tu cartera privada.
-
-En cierto modo, este sistema se asemeja más al de un banco que al del mercado de valores. Con la diferencia de que los bancos tienen una reserva fraccionaria obligatoria (por ejemplo, el 1% para depósitos a la vista o de menos de dos años en la Eurozona), mientras que los exchanges de criptomonedas no están obligados a tenerla. Además, si un banco quiebra, tus depósitos están asegurados (hasta 100.000€ por titular y entidad en la Eurozona), pero si un exchange quiebra, puedes perderlo todo, como ocurrió con FTX.
-
-Por otro lado, las criptomonedas no están reguladas, lo que permite que cualquier persona con conocimientos básicos pueda llevar a cabo esquemas de "pump and dump" (inflar y vender) y quedarse con el dinero de inversores desinformados. No existe un regulador que te proteja ni leyes que lo prohíban. Ejemplos recientes incluyen las estafas relacionadas con Trump, Melania y LIBRA, que fue promocionada por Milei, supuestamente sin su conocimiento.
-
diff --git a/src/data/portfolio/dynamic-tourist-info.mdx b/src/data/portfolio/dynamic-tourist-info.mdx
new file mode 100644
index 0000000..677f0f6
--- /dev/null
+++ b/src/data/portfolio/dynamic-tourist-info.mdx
@@ -0,0 +1,9 @@
+---
+title: "Punto de información turística en móviles"
+description: "Creación de un sitio web dinámico con PHP adaptado a móviles y accesible mediante QR en localizaciones físicas"
+technologies: ["php"]
+---
+
+Creación de un sitio web dinámico con PHP adaptado a móviles y accesible mediante QR en localizaciones físicas. Cada página muestra datos de la ubicación correspondiente en tres idiomas (castellano, gallego e inglés), una galería de imágenes en 360º con la biblioteca PanoLens y vídeos incrustados de YouTube.
+
+Desasrrollado entre 2020 y 2021, en colaboración con [Kendra](https://kendra.es/). \ No newline at end of file
diff --git a/src/data/portfolio/mientreno.mdx b/src/data/portfolio/mientreno.mdx
new file mode 100644
index 0000000..a7d8fab
--- /dev/null
+++ b/src/data/portfolio/mientreno.mdx
@@ -0,0 +1,17 @@
+---
+title: "MiEntreno"
+description: "Creación de un sitio web dinámico con PHP adaptado a móviles y accesible mediante QR en localizaciones físicas"
+technologies: ["dotnet", "sqlserver", "azure", "rabbitmq"]
+---
+
+Aplicación web para la gestión de entrenamientos deportivos, con una interfaz sencilla y fácil de usar. Desarrollado con ASP.NET Core, Razor Pages y SQL Server, y alojada en Azure App Service.
+
+La aplicación permite a los entrenadores personales crear y gestionar rutinas de entrenamiento para sus clientes, que pueden proporcionar _feedback_ sobre estos. Además, los clientes pueden ver sus rutinas de entrenamiento y registrar sus progresos en la aplicación.
+
+La principal complejidad que me encontré en este proyecto fue la implementación de los dos roles de usuario (entrenador y cliente) y la gestión de los permisos de acceso a las distintas partes de la aplicación, con filtrado para evitar mostrar datos potencialmente sensibles.
+
+Además, el tiempo de desarrollo era muy limitado, al tratarse del proyecto final de ciclo, en un plazo de 3 meses desde la concepción de la idea, redacción del proyecto y desarrollo de la aplicación. Podría considerarse un _MVP_ (Producto Mínimo Viable) de la idea original, con muchas funcionalidades que quedaron fuera del alcance de este proyecto.
+
+También, fue un "campo de pruebas" para mí, ya que fue el primer proyecto serio que desarrollé con ASP.NET Core, y donde también quise introducir el uso de emailing transaccional, colas de mensajes y otros conceptos más avanzados que no había utilizado antes en una aplicación real.
+
+El código fuente se puede encontrar en [GitHub](https://github.com/arielcostas/mientreno) bajo la licencia GNU Affero GPL v3.0. \ No newline at end of file
diff --git a/src/data/portfolio/order-extractor.mdx b/src/data/portfolio/order-extractor.mdx
new file mode 100644
index 0000000..d0a2ea6
--- /dev/null
+++ b/src/data/portfolio/order-extractor.mdx
@@ -0,0 +1,11 @@
+---
+title: "Extractor de pedidos (2023-actualidad)"
+description: "Extractor de pedidos de compra online para generar informes de ventas y rentabilidad"
+technologies: ["java", "windows"]
+---
+
+Implementación de una aplicación de escritorio que extrae los datos sobre los pedidos on-line de diversas plataformas (como WooCommerce, Amazon y Ebay) para almacenar de forma local y centralizada. Además, cruza estos datos con la base de datos de productos en almacén y sus precios de coste, para generar informes de Excel sobre los ingresos y costes por cada pedido, así como calcular la rentabilidad de estos.
+
+Los principales problemas enfrentados en este proyecto fueron la diversidad de formatos de los datos de entrada y la necesidad de mantener la aplicación actualizada con los cambios en las plataformas de venta online; además de no contar con SDKs oficiales para estas plataformas, teniendo que implementar llamadas HTTP a las API públicas, a veces con autenticación compleja o firma de peticiones (como AWS Signature V4).
+
+Por otra parte, está la distribución, instalación y actualización de la aplicación en los equipos del cliente, teniendo que generar un instalador MSI firmado a partir del Java compilado y _shaded_ con sus dependencias mediante maven, y `jpackage` para generar el ejecutable nativo de Windows. \ No newline at end of file
diff --git a/src/data/portfolio/vigo-360.mdx b/src/data/portfolio/vigo-360.mdx
new file mode 100644
index 0000000..de42b5f
--- /dev/null
+++ b/src/data/portfolio/vigo-360.mdx
@@ -0,0 +1,15 @@
+---
+title: "Vigo 360"
+description: "Desarrollo y publicación de un blog sobre Vigo"
+technologies: ["go", "mysql", "linux"]
+---
+
+Blog sobre Vigo y su entorno, orientado principalmente a hablar de movilidad y toponimia. Desarrollado en Go, con base de datos MySQL y desplegado sobre infraestructura propia.
+
+Opté por desarrollarlo de cero, en lugar de invertir mis esfuerzos en aprender a desarrollar sobre WordPress, por la necesidad de mantener una tonelada de plugins, un tema propio y código que no controlaba. Además, me permitió aprender Go y desplegar una aplicación en producción.
+
+Además de esto, ocasionalmente publico contenido en este blog sobre transporte público, movilidad y toponimia en Vigo y su entorno; sin fines de lucro y con un nivel de rigor que nos ha llevado a ser citados en medios de comunicación locales como un medio especializado en estos temas.
+
+El blog cuenta con un sistema publicaciones, comentarios, etiquetas y búsqueda (con Algolia), así como optimización para buscadores y redes sociales con etiquetas de OpenGraph, Twitter Cards y datos semánticos de Schema.org mediante JSON-LD.
+
+Durante 2025 se planea hacer una reescritura de la aplicación usando .NET para poder implementar nuevas funcionalidades, como procesamiento de fondo de ciertas tareas (generar miniaturas, indexar contenido, etc.) y mejorar la manteniabilidad del código, o búsqueda mediante vectores sin depender de terceros.
diff --git a/src/data/portfolio/wp-consulting.mdx b/src/data/portfolio/wp-consulting.mdx
new file mode 100644
index 0000000..0b6a35f
--- /dev/null
+++ b/src/data/portfolio/wp-consulting.mdx
@@ -0,0 +1,9 @@
+---
+title: "Consultoría WordPress"
+description: "Trabajos de mantenimiento, optimización y migración de sitios web WordPress y tiendas online WooCommerce"
+technologies: ["php"]
+---
+
+Trabajos de mantenimiento, optimización y migración de sitios web WordPress y tiendas online WooCommerce. Incluyendo la instalación y configuración de plugins, temas y optimización de rendimiento y SEO.
+
+Trabajo bajo la premisa de reducir la dependencia de plugins y temas de terceros, y de mejorar la seguridad y rendimiento de los sitios web; además de usar herramientas optimizadas y sin limitaciones artificiales bajo muros de pago, en la medida de lo posible.