Es importante para evolucionar como desarrollador de software escribir mucho código pero casi es más importante ver mucho código que escriben otras personas.
En internet hay mucho repositorios de GitHub que merece la pena revisar para aprender.
No tienes que estar al 100% de acuerdo con el código pero si sacas algo positivo en forma de aprendizaje se convierte en un repositorio interesante.
En este artículo voy a recopilar una selección de repositorios sobre arquitectura de software que en algún momento he mirado para aprender, consultar o resolver alguna duda.
Android
Android Architecture Blueprints v2
Este repositorio pertenece a la cuenta oficial de android.
Muestra diferentes enfoques de arquitectura para el desarrollo de aplicaciones de Android. Cada tipo de arquitectura de ubica en una rama diferente.
La rama master utiliza el patrón MVVM y repositorio. La rama usecases utiliza Clean Architecture utilizando el concepto de casos de uso.
Android - Clean Architecture - Kotlin
Este repositorio de Fernando Cejas es uno de los más populares en Android.
Es una aplicación de películas creada utilizando Clean Architecture, utilizando view models como adaptadores de presentation y Either para la gestión de errores.
KataSuperHeroes with Jetpack Compose
Este repositorio del equipo de Karumi esta enfocado en el apredizaje de Jetpack Compose.
Sin embargo, en karumi suelen utilizar Clean Architecture y en este reposositorio tienes la oportunidad de ver un ejemplo de Clean Architecture trabajando con Jetpack Compose.
TrailersApp
Este repositorio de Anitaa Murthy es una app de peliculas leyendo de The Movie DB que sigue el patrón MVVM.
La rama master esta escrita en java, hay una rama donde el ejemplo esta escrito en kotlin.
Utiliza RxJava, view models y room como base de datos en local.
NodeJS
white-label
Este repositorio de Khalil Stemmler consiste en una aplicación de venta de vinilos siguiendo principios de Clean Architecture, DDD y usando TypeScript como lenguaje.
dddforum.com
Este repositorio de Khalil Stemmler consiste en una aplicación de un foro siguiendo principios de Clean Architecture , DDD y usando TypeScript como lenguaje.
Es la aplicación de ejemplo que escribe en su libro solidbook.io - The Software Design and Architecture Handbook.
Puedes acceder a la web creada aqui: dddforum.com
Hexagonal Architecture, DDD & CQRS in Typescript
Este repositorio de CodelyTV consiste en una aplicación de cursos escrita en TypeScript y utilizando Hexagonal Architecture, DDD y Command Query Responsibility Segregation.
.Net
Clean Architecture Solution Template
Este repositorio de Jason Taylor consiste en una plantilla de ejemplo para proyectos ASP.Net core.
Consiste en un proyecto ASP.net Core con un cliente SPA escrito en Angular.
Es una implementación de Clean Architecture más parecida a implentaciones que podemos ver más habitualmente cuando se usa Hexagonal Architecture, ya que no usa casos de uso sino que utiliza el patrón command query utilizando la librería MediatR como bus de eventos.
React
React Clean Architecture
Este repositorio de Eduardo Moroni consiste en una aplicación ReactJs que sigue los principios de Clean Architecture.
4Dev React - Enquetes para Programadores
Este repositorio de Rodrigo Manguinho consiste en una aplicación ReactJs que sigue los principios de Clean Architecture y que es la que utiliza en su curso ReactJS, Hooks, Recoil, TDD, Clean Architecture, SOLID.
Flutter
TDD Clean Architecture for Flutter
Este repositorio de Matej Rešetár consiste en una aplicación flutter desarrollada para el curso de su web Flutter TDD Clean Architecture Course.
Sigue los principios de Clean Architecture en Flutter utilizando el tipo Either para gestionar los errores.
Java
Example Implementation of a Hexagonal Architecture
Este repositorio de Tom Hombergs es el ejemplo siguiendo Arquitectura Hexagonal que se repasa en su libro Get Your Hands Dirty on Clean Architecture.
Happy Town
Este repositorio de Céline Gilet es un ejemplo siguiendo Arquitectura Hexagonal.
Conclusiones
He compartido con vosotros los repositorios de GitHub sobre aquitectura que en algún momento he mirado y me han aportado algo de valor.
Este artículo no incluye ningún repositorio mío, si te interesan puedes ir a mi cuenta de GitHub.
Los repositorios que pongo están relacionados con tecnologías que he trabajado en algún momento, intentaré mantenerlo actualizado a medida que vaya descubriendo nuevos repositorios interesantes relacionados con arquitectura de software.
Oviamente no conozco todos los repositorios sobre arquitectura de GitHub, si conoces alguno independientemente de la tecnología y consideras que es interesante añadirlo a la lista en este artículo, deja un comentario y lo revisaré.