# Integracion apps django

**URL:** <https://pyar.discourse.group/t/integracion-apps-django/785>\
**Category:** Sin categoría\
**Created:** [31 Diciembre, 2021 17:10 UTC](https://pyar.discourse.group/t/integracion-apps-django/785 "2021-12-31T17:10:20Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![javiermarcon](https://yyz2.discourse-cdn.com/free1/user_avatar/pyar.discourse.group/javiermarcon/32/334_2.png) [@javiermarcon](https://pyar.discourse.group/u/javiermarcon)\
**Post date:** [31 Diciembre, 2021 17:10 UTC](https://pyar.discourse.group/t/integracion-apps-django/785/1 "2021-12-31T17:10:20Z")

</div>

Hola,

estoy desarrollando en Django una aplicación para llevar mis finanzas personales, que va a sacar la data de varios lados (sistema Toshl, exchanges, blockchain, etc.) y estaba pensando cual era la mejor forma de integrar todo (tratando de usar el principio solid), por eso descarto la idea de tener varias apps que compartan el mismo modelo.

Mi disyuntiva está entre las siguientes opciones:

- hacer una app por cada source y una app (que tenga el modelo) que se comunique con las apps de cada source via serializers de django rest framework
- directamente que los sources hereden de una clase conocida y que estén todas esas clases en un directorio así la app principal lee todos los archivos de ese directorio importando todas las clases que heredan de la clase AbstractSource, y si el source es mas complicado hago una app que es llamada por la clase del source.

Uds que opinan y/o que patron/es aplicarían?

Gracias,

Javier.

---

<div class="post-metadata">

**Author:** ![eldipa](https://yyz2.discourse-cdn.com/free1/user_avatar/pyar.discourse.group/eldipa/32/310_2.png) [@eldipa](https://pyar.discourse.group/u/eldipa)\
**Post date:** [4 Enero, 2022 13:45 UTC](https://pyar.discourse.group/t/integracion-apps-django/785/2 "2022-01-04T13:45:47Z")

</div>

Buenas!, yo soy de esos q prefieren tener algo funcional primero: tener  
una única app q sea capaz de recolectar la data de varios lados  
y presentarla de forma efectiva.

Cuando vayas agregando las funcionalidades te iras dando cuenta de que  
aparecen patrones y de ahí haces las abstracciones necesarias con  
refactor. [1]

Si vez que tu proyecto puede ser de interés a otros pero q no  
necesariamente quieran tener toda la funcionalidad q vos ofreces, ahí  
podes separar tu app en multiples apps para q sean como plugins y sean  
los otros quienes decidan q usar y q no.

Notar q en [1] dije “aparecen patrones”. En mi experiencia “poner”  
patrones de diseño es un error q solo hace q el código sea mas  
burocrático.

En vez de “poner” patrones, enfocate en codear tu solución. Cuando veas  
código repetido lo refactorizas. Veras que con un par de iteraciones  
terminas implementando un patron de diseño.

Realmente vos no lo “pusiste” sino q “apareció” solo.
