Manual de arquitectura
v 1.3
Propósito
El propósito de este documento es describir la arquitectura del proyecto de Talent360, unificando conceptos, buenas prácticas, patrones de diseño y recomendaciones para el desarrollo de módulos en Odoo.
Además de ser una guía para los miembros del equipo de desarrollo, este documento servirá como referencia para futuros desarrollos y como material de consulta para la resolución de problemas.
Arquitectura
La arquitectura propuesta para el proyecto se basa en el uso de Odoo como plataforma principal para el desarrollo de la solución. La arquitectura se compone de los siguientes elementos:
- Odoo: Plataforma de desarrollo de aplicaciones empresariales.
- PostgreSQL: Base de datos relacional para almacenar los datos de la aplicación.
- Python: Lenguaje de programación utilizado para el desarrollo de módulos en Odoo.
Diseño del sistema
Ambiente de desarrollo
Para poder instalar y ejecutar odoo seguir los pasos de las siguientes guías:
Estándares de codificación generales
Para mantener un código limpio y legible, se deben seguir los siguientes estándares de codificación:
Estándares de codificación para odoo
Para mantener un código limpio y legible en Odoo, se deben seguir los siguientes estándares de codificación:
Checklists
Para asegurar la calidad del código y la funcionalidad de los módulos desarrollados, se deben seguir los siguientes checklists:
- Checklist de analisis de requerimientos
- Checklist de diseño de requerimientos
- Checklist de codificación
- Checklist de de revisión de PR
Recursos
Tutoriales
Esta sección contiene tutoriales para el desarrollo de módulos en Odoo, si tienes algún tutorial que quieras compartir, por favor agrega una entrada usando el siguiente formato:
- Título del tutorial: Descripción general del tutorial.
- Descripción: Descripción detallada del tutorial.
- Pasos o procedimiento: Pasos a seguir para completar el tutorial, puede ser en texto o en video.
- Enlace de interés: Enlaces externos relacionados con el tutorial.
Índice de tutoriales
Precargar información con XML
-
Título: Precargar información con XML.
-
Descripción: Tutorial para precargar información en la base de datos de Odoo utilizando archivos XML.
-
Pasos:
- Crear un archivo XML con los datos a precargar dentro de la carpeta
data/
del módulo. - Dentro del archivo XML, definir los registros a precargar utilizando la estructura de los modelos de Odoo.
Ejemplo:
<odoo>
<!-- Define Template Record -->
<record id="template_1" model="template">
<field name="nombre">Template 1</field>
<field name="descripcion">Descripción de la plantilla 1</field>
<field name="tipo">nom_085</field>
</record>
<!-- Define Question Records -->
<record id="pregunta_1" model="pregunta">
<field name="pregunta_texto">Pregunta 1</field>
<field name="tipo">multiple_choice</field>
</record>
<record id="pregunta_2" model="pregunta">
<field name="pregunta_texto">Pregunta 2</field>
<field name="tipo">open_question</field>
</record>
<!-- Define Relational Records -->
<record id="pregunta_template_rel_1" model="pregunta.template.rel">
<field name="template_id" ref="template_1"/>
<field name="pregunta_id" ref="pregunta_1"/>
<field name="ordenPreguntas">1</field>
</record>
<record id="pregunta_template_rel_2" model="pregunta.template.rel">
<field name="template_id" ref="template_1"/>
<field name="pregunta_id" ref="pregunta_2"/>
<field name="ordenPreguntas">2</field>
</record>
</odoo>- Actualizar el archivo
__manifest__.py
del módulo para incluir el archivo XML en la lista de archivos de datos.
- Crear un archivo XML con los datos a precargar dentro de la carpeta
Permisos y seguridad
-
Título: Permisos y seguridad.
-
Descripción: Tutorial para definir permisos y seguridad en los módulos de Odoo.
-
Pasos:
Para definir permisos y seguridad en los módulos de Odoo, referirse al siguiente video tutorial:
Pruebas unitarias
-
Título: Pruebas unitarias.
-
Descripción: Tutorial para realizar pruebas unitarias en los módulos de Odoo.
-
Pasos:
Para realizar pruebas unitarias en los módulos de Odoo, referirse al siguiente video tutorial:
Control de cambios
Versión | Cambio | Análisis | Autor del cambio | Revisor(es) | Fecha de cambio |
---|---|---|---|---|---|
v 1.0 | Creación del documento | N/A | Diego Sandoval | Daniel Cajas | 17/03/2024 |
v 1.1 | tutoriales de permisos y pruebas unitarias | N/A | Diego Sandoval | 19/03/2024 | |
v 1.2 | Se agrega sección de diseño del sistema | N/A | Diego Sandoval | 19/03/2024 | |
v 1.3 | Cambio a link relativo | Los links relativos avisan si se rompen | Ricardo Fernández | 1/05/2024 |