diff --git a/README.md b/README.md index f7af9c7..c2adf98 100644 --- a/README.md +++ b/README.md @@ -76,14 +76,28 @@ las cuales son: - La carga de variables de entorno mediante fichero. - La migración de base de datos. -## Bitácora +## Diseño y arquitectura Recientemente hice otra prueba técnica para el mismo puesto y mismo lenguaje distintas tecnologías, en ese caso era para trabajar con mensajería NATS, -puedes ver más +puedes ver más información en el [repositorio](https://git.pedroperez.dev/pedro/nats-app). +Cuyo proyecto integra un sistema de caché muy primitivo, sin embargo en este +se hace uso de _Ristretto_. -1. Hablar sobre la función normalize, repetición de parse float. Justificar que -se puede haber extraído a una función, pero ambas opciones son válidas (YAGNI) +La estructuración del proyecto es la misma, basada en dominios pero con +ligeras modificaciones, no es DDD puro. Para evitar el abuso de la creación de +paquetes en un mismo dominio (complejidad innecesaria y exceso de directorios), +agrupo todas las partes implicadas (_handlers_, _repos_, _models_, _services_) +en un directorio por dominio. -2. Hablar sobre las sobreabstracciones que se hacen en el código. Hay que busca -un punto de equlibrio entre abstraer o ser explícito. +El directorio _pkg_ contiene todo el código común a los dos servicios como +la carga de variables de entorno, errores de dominio, conversiones de tipos, +etc. + +## IA Generativa + +Es evidente que con el uso de la IA, el código se hace mucho más rápido pero +para la prueba como demostración de mis habilidades se ha usado lo mínimo +posible, centrando en el diseño y arquitectura que la generación de código +en sí. Se ha usado Claude para la generación de código y Grok para la discusión +y debate de diseño.