Skip to content
This repository has been archived by the owner on Apr 16, 2024. It is now read-only.

Commit

Permalink
Arregla espaciado de documentación del programador
Browse files Browse the repository at this point in the history
  • Loading branch information
aitorres committed Dec 23, 2018
1 parent 6ccc626 commit 09691ed
Showing 1 changed file with 29 additions and 2 deletions.
31 changes: 29 additions & 2 deletions docs/GUIA-PROGRAMADOR.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down Expand Up @@ -57,27 +56,35 @@ 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
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
Expand All @@ -86,48 +93,62 @@ 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:

```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
```
Expand All @@ -139,41 +160,47 @@ 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
```

### Listar Departamentos

Para listar todos los Departamentos en sistema, incluyendo sus códigos únicos, ejecutar:

```bash
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
```

### 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
```

### 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
```

### 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
```

0 comments on commit 09691ed

Please sign in to comment.