---
# System prepended metadata

title: Tangelo Tech Standard

---

---
title: 'Tangelo Tech Standard'
disqus: hackmd
---

Zinobe Tech Standard
===
context

# Table of Contents

[TOC]


## Cultura 

### Organizacion

![](https://zinobe-hackmd.s3.us-west-2.amazonaws.com/uploads/mapa2.png) 
...
### Filosofia
:::info
**Somos un equipo!!!**, El conocimiento es importante, compartirlo mucho mas y querer aprender... mejor aun! :)
:::

![](https://i.imgur.com/9x9k5hX.png) 

:::warning 
**Recuerda**, Sigue el Plan...
:::

### Comunicacion

:::info
* **¿ Dudas ?**, Pregunta, tienes un equipo! :)
:::

:::info
* **¿ No sabes que decision tomar ?**, Pregunta, tienes un equipo! :)
:::

:::info
* **¿ No sabes que tecnologia usar ?**, Pregunta, tienes un equipo! :)
:::

:::info
* **¿ Estas confundido ?**, Pregunta, tienes un equipo! :)
:::

:::warning 
**Pero recuerda**, Sigue el Plan...
:::

:::info
* **¿ No conoces el plan ?**, Pregunta, tienes un equipo! :)
:::

### Crecimiento
![](https://i.imgur.com/9RKwGlL.png)


![](https://zinobe-hackmd.s3.us-west-2.amazonaws.com/uploads/specialization.png) 
![](https://i.imgur.com/3hwZgYL.png)

### Teams

![](https://i.imgur.com/aVnsOKh.png)



### Verticales

![](https://i.imgur.com/pRybprl.png)



## Architecture principles

:::danger 
**KISS**, mira esto: (https://people.apache.org/~fhanik/kiss.html)
:::

:::info 
**SOLID**, lee esto: (https://medium.com/backticks-tildes/the-s-o-l-i-d-principles-in-pictures-b34ce2f1e898)
:::

:::success 
**GRASP**, y quetal esto: (https://www.fluentcpp.com/2021/06/23/grasp-9-must-know-design-principles-for-code/)
:::

:::info 
**ERPVR** escucha, respira, piensa, valida, **ahora si!** , responde... esto hace mas facil construir! Tienes un equipo :)
:::
### Design Architecture
:::info 
**C4 Model**, Modelar aquitectura es facil: (https://c4model.com/), *Recuerda hablar con el equipo de arquitectura*
:::

### CORE
:::info 
Responsabilidad unica, comportamientos atomicos; Mantenibilidad, Escalabilidad e Interoperabilidad... **No lo olvides :)**
:::

![](https://i.imgur.com/Vnfjbda.png)


:::info 
El escalamiento es importante, la composicion es clave
:::
![](https://i.imgur.com/OK4mtso.png)

:::info 
La integracion debe ser simple
:::
![](https://i.imgur.com/6SCPdOF.png)

:::info 
Esta es nuestra unidad minima
:::
![](https://i.imgur.com/7IhMKgw.png)



:::info 
Asi comunicamos y desacoplamos; la interoperabilidad y el bajo acoplamiento es importante!
:::

![](https://i.imgur.com/ZyxXeJ1.png)

:::info 
Nuestros datos deben tener forma, solo guardarlos no es suficiente
:::

![](https://i.imgur.com/1FTtJ65.png)


:::warning 
**Todo esto te confunde?**, no hay problema, Sigue el Plan...
:::

## Metrics
:::danger 
Lo que no es medible no existe, los datos hacen la diferencia cuando tomamos decisiones!
:::


### Tools
:::info 
**SonarQube** es tu amigo, ver: https://docs.sonarqube.org/latest/
:::

:::info 
**Jira** es tu otro amigo, ver: https://marketplace.atlassian.com/apps/1220925/custom-charts-for-jira-reports
:::

:::info
**Librerias** ten cuidado, no bases el desarrollo de un componente clave del sistema en una libreria
:::

### Framework
![](https://zinobe-hackmd.s3.us-west-2.amazonaws.com/uploads/meterica.png)

> **Ver:** https://docs.google.com/presentation/d/1YzSNlR2ZG7DSFXNUAQcXMIuaVt6N_VksFUIfSHyzDFI/edit?usp=sharing## Documentation

## Repository
### Monorepo

![](https://i.imgur.com/NfPByGT.png)


### Tags
:::success
Set tag

![](https://i.imgur.com/QhbPkDR.png)
:::

:::success
Publish tag
![](https://i.imgur.com/H7MIYvn.png)

:::
## Stages

> QA: testing of requirements.

> STAGING: previous release, testing of flow

> PRODUCTION: Final release, all tested

## Security
> **Ver:** https://hackmd.io/lEiOsK-aTJu6FAXNu877NQ
## Backend
> **Ver:** https://hackmd.io/9gt20BmdScSJUqkKZVVNBw
## FrontEnd
> **Ver:** https://hackmd.io/0PcyFMZ7S4qkKHH2U2Du2w?view
## Infraestructure
> **Ver:** https://hackmd.io/EMu8_DLbRUytG8W1oh54Qg
## Data Engineering
> **Ver:** https://hackmd.io/9hiPjePJQAiHnHFPewVQxw
## QA
> **Ver:** http://mermaid-js.github.io/mermaid/

## About Testing

:::info 
La calidad es importante, pero tambien es importante entender que estamos probando, una suite de pruebas bien diseñada aumenta nuestra productividad.

> F.I.R.S.T 
> * Fast
> * Independent
> * Repeatable
> * Self-validating
> * Thorough
:::

## Documentation

:::info 
Quieres aumentar la productividad, aportar a una buena comunicación y que entiendan tu trabajo? **Una buena documentación es importante** 
:::

:::success
Estandar OAS mira: (https://spec.openapis.org/oas/latest.html)
:::