Hace tiempo me plantee y sigo manteándome, montar una aplicación donde publicar todos los desarrollos que pueda llegar hacer. De esta manera, puedo generar nuevos post de desarrollo, y a su vez publicar la funcionalidad para que la probéis. Todos ganamos!
La primera parte, que quería hacer y hacerla en un lenguaje que no estoy muy acostumbrado, es el Gateway/Seguridad, el cual voy ha desarrollarlo en GO.
Aunque esta primera versión, no sigue lo que viene a ser los standard de golang, es un intento e arquitectura hexagonal (port-adapter), la cual mantendré, pero siguiendo este estándar: https://github.com/golang-standards/project-layout en los siguientes commits
Si no os interesa seguir leyendo, podéis entrar en el repo: https://github.com/apascualco/gotway y ver el código vosotros mismos.
Estoy disfrutando cómo un niño, picando código en golang, aunque se que no estoy siguiendo el estándar, estoy aprendiendo muchísimo.
Cómo podéis observar, tenemos 4 packages:
- Domain
- Core
- Persistence
- Api
Cómo podéis imaginar, core, no tiene dependencias de api, ni de persistente y es el propio cliente «api» que añade la dependencia de persistencia e instancia el Adapter.
Espero seguir por esta linea, aplicando el estándar en la generación de módulos y a la vez añadir un registry patten para registrar las rutas y los permisos. De esta manera cada aplicación registrada.