From 09691edbf6bcf6c2b6220e040f74cb1dc64088a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Ignacio=20Torres?= Date: Sun, 23 Dec 2018 11:16:01 -0400 Subject: [PATCH] =?UTF-8?q?Arregla=20espaciado=20de=20documentaci=C3=B3n?= =?UTF-8?q?=20del=20programador?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/GUIA-PROGRAMADOR.md | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/docs/GUIA-PROGRAMADOR.md b/docs/GUIA-PROGRAMADOR.md index 67c79e2..966e026 100644 --- a/docs/GUIA-PROGRAMADOR.md +++ b/docs/GUIA-PROGRAMADOR.md @@ -22,7 +22,6 @@ Todas las clases tienen un método __str__ para definir su impresión. | AsignacionProfesoral | oferta_trimestral,profesor,asignatura,es_final,tipo | | Coordinacion | nombre, codigo, asignaturas, coordinador | __str__, tiene_coordinador, ofertas_disponibles - La base de datos posee 2 triggers. El primero de ellos se encarga de crear un nuevo usuario automáticamente se crea un profesor en el sistema. Este usuario posee los datos de este profesor y es de tipo profesor. @@ -57,7 +56,9 @@ A continuación se listarán algunos scripts de desarrollo para facilitar la eje Estos scripts están orientados a usuarios de sistemas operativos *Linux* con gestor de paquetes *apt*, como las distribuciones basadas en *Debian*, pero fácilmente pueden adaptarse a otros sistemas operativos si se usan como guía. ### Creación de un entorno virtual + En un terminal abierto desde la carpeta del proyecto, una vez hayas clonado el repositorio, ejecutar (una única vez): + ```bash sudo apt install python3-pip pip3 install virtualenv @@ -65,19 +66,25 @@ virtualenv -p /usr/bin/python3 software ``` ### Ejecución del entorno virtual + En un terminal abierto desde la carpeta del proyecto, cada vez que se vaya a ejecutar el proyecto o realizarle modificaciones, ejecutar: + ```bash source software/bin/activate ``` ### Instalar dependencias + En un terminal abierto desde la carpeta del proyecto, después de crear y ejecutar el entorno virtual, + ```bash pip install -r requirements.txt ``` ### Creación de la base de datos + En un terminal abierto y desde un usuario que pueda hacer `sudo`, ejecuta: + ```bash ./crear_db.sh python manage.py migrate @@ -86,29 +93,36 @@ python manage.py migrate El script mencionado procederá a crear una base de datos en el gestor PostgreSQL con los datos asociados para poder ejecutar la aplicación. ### Ejecución de migraciones + **IMPORTANTE**. Realizar esto cada vez que se notifica al equipo de un cambio en los modelos de la base de datos. Si no estás seguro si el cambio ha ocurrido, puedes ejecutarlo e igual no hará nada negativo. En un terminal abierto desde la carpeta del proyecto, con la base de datos creada y ejecutando el entorno virtual con las dependencias instaladas, ejecutar: + ```bash git pull python manage.py migrate ``` ### Generación de migraciones + **IMPORTANTE**. Realizar esto cada vez que se modifique algún modelo de la base de datos y notificar al equipo de desarrollo de estos cambios. Si no estás seguro si el cambio ha ocurrido, puedes ejecutarlo e igual no hará nada negativo. Recuerda hacer *commit* del archivo de migraciones generado automáticamente y subirlo al repositorio **siempre** que se genere. En un terminal abierto desde la carpeta del proyecto, con la base de datos creada y ejecutando el entorno virtual con las dependencias instaladas, ejecutar: + ```bash python manage.py makemigrations ``` ### Inclusión de la data inicial + En un terminal abierto, con la base de datos cargada y migrada, ejecutar: + ```bash -python manage.py loaddata gestion/fixtures/fixtures.json +python manage.py loaddata gestion/fixtures/fixtures.json ``` Django cargará la data inicial de los bloques 1 a 12 para los días lunes a sábado, al igual que la data de los 27 departamentos existentes a la fecha (noviembre de 2018) en la estructura de la Universidad Simón Bolívar, tambien carga informacion de prueba de algunas asignaturas y profesores. + ### Comandos importantes A traves de la terminal se pueden realizar diversas acciones importantes para el manejo del sistema: @@ -116,18 +130,25 @@ A traves de la terminal se pueden realizar diversas acciones importantes para el ```bash - python manage.py crear_jefe ``` + ```bash - python manage.py asignar_jefe ``` + ```bash - python manage.py crear_coordinador ``` + ```bash - python manage.py asignar_coordinador ``` +Estos comandos se documentan más adelante, en la sección de *Comandos de Administración*. + ### Ejecutar el proyecto + En un terminal abierto desde la carpeta del proyecto, con la base de datos creada y migrada y desde el entorno virtual habiendo instalado previamente los requerimientos, hacer: + ```bash python manage.py runserver ``` @@ -139,6 +160,7 @@ Se han incorporado comandos de administración personalizados para el manejo ini ### Listar Coordinaciones Para listar todas las Coordinaciones en sistema, incluyendo sus códigos únicos, ejecutar: + ```bash python manage.py listar_coordinaciones ``` @@ -146,6 +168,7 @@ python manage.py listar_coordinaciones ### Listar Departamentos Para listar todos los Departamentos en sistema, incluyendo sus códigos únicos, ejecutar: + ```bash python manage.py listar_departamentos ``` @@ -153,6 +176,7 @@ python manage.py listar_departamentos ### Crear coordinador (nuevo) Para crear un nuevo profesor y asignarlo como coordinador de una Coordinación existente, ejecutar lo siguiente y seguir los pasos en pantalla: + ```bash python manage.py crear_coordinador ``` @@ -160,6 +184,7 @@ python manage.py crear_coordinador ### Crear jefe (nuevo) Para crear un nuevo profesor y asignarlo como jefe de un Departamento existente, ejecutar lo siguiente y seguir los pasos en pantalla: + ```bash python manage.py crear_coordinador ``` @@ -167,6 +192,7 @@ python manage.py crear_coordinador ### Asignar coordinador (ya existente) Para asignar un profesor ya existente como coordinador de una Coordinación existente, ejecutar lo siguiente y seguir los pasos en pantalla: + ```bash python manage.py asignar_coordinador ``` @@ -174,6 +200,7 @@ python manage.py asignar_coordinador ### Asignar jefe (ya existente) Para asignar un profesor ya existente como jefe de un Departamento existente, ejecutar lo siguiente y seguir los pasos en pantalla: + ```bash python manage.py asignar_coordinador ```