[ca] La majoria dels equips de desenvolupament funcionen sense tenir una arquitectura que els permeti saber com han de fer les tasques de desenvolupament a cada moment. Aquest treball, està orientat a definir una arquitectura amb l'objectiu de facilitar la manera de treballar dels programadors d'un equip. L'àmbit d'aquesta arquitectura és el de desenvolupament d'aplicacions web amb Python i aplicacions mòbils en Flutter. En definir aquesta arquitectura es prestarà especial atenció al role de programador, definint les condicions de treball i eines que usi per a garantir la millor productivitat, així com millorar el que es coneix com a experiència de desenvolupador (DX Developer eXperience). Un altre objectiu és de definir els procediments perquè el desenvolupament sigui segur ja que amb l'augment de ciberdelicte cal pensar que el desenvolupament ha de complir regles quant a seguretat. Un altre objectiu és el de definir els procediments perquè la posada en producció del programari sigui ràpida i fiable ja que cada vegada es demana als equips desplegar funcionalitat més ràpidament. Un altre objectiu és l'establir procediments que garanteixin la qualitat i claredat del programari. Cal pensar que cada vegada més és necessari incorporar nous programadors i que aquests siguin productius com més aviat millor i la qualitat i claredat del programari pot ajudar a això. Un altre objectiu és el de minimitzar el nombre d'errors en el programari desenvolupat. Dins de l'arquitectura hem de definir els procediments per a provar el programari. En producció hem d'usar eines que permetin detectar errors al més aviat possible i així poder solucionar-los. Un altre objectiu és el de tenir eines per a definir diversos entorns de producció de manera efectiva. Quant a les aplicacions mòbils l'objectiu és definir procediments de desplegament automatitzats per als "store" d'Android i IOS. Com a context d'aquest treball definim el realitzar l'arquitectura per a un equip de desenvolupament de 10 persones amb un responsable de desenvolupament. Aquests han de desenvolupar aplicacions web amb el framework Django i aplicacions mòbils amb el framework flutter. La base de dades que han triat és postgres. Els entorns de producció estaran en el Cloud de google suportats pel orquestador de contenidors kubernetes.

[en] Most development teams operate without having an architecture that allows them to know how they have to do development tasks at all times. This goal of this work is aimed at defining an architecture with the goal of facilitating the way programmers in a team work. The scope of this architecture is the development of web applications with Python using the framework Django and mobile applications in Flutter. When defining this architecture, special attention will be given to the role of programmer, defining the working conditions and tools that he uses to guarantee the best productivity, as well as improving what is known as developer experience (DX Developer Experience). Another objective is to define the procedures so that the development is safe since with the increase of cybercrime it is necessary to think that the development has to fulfill rules regarding security. Another objective is to define the procedures so that the start-up of the software is fast and reliable since each time the teams are asked to deploy functionality more quickly. Another objective is to establish procedures that guarantee the quality and clarity of the software. We must think that it is increasingly necessary to incorporate new programmers and that these are productive as soon as possible and the quality and clarity of the software can help this. Another objective is to minimize the number of errors in the software developed. Within the architecture we must define the procedures to test the software. In production we must use tools that allow us to detect errors as soon as possible and thus be able to solve them. Another goal is to have tools to define various production environments effectively. As for mobile applications, the objective is to define automated deployment procedures for the Android and IOS store. As a context of this work we define the realization of the architecture for a development team of 10 people with a development manager. They must develop web applications with the Django framework and mobile applications with the flutter framework. The database they have chosen is Postgres. The production environments will be in the Google Cloud supported by the Kubernetes container orchestrator.