From 813490ff096346e8b2e5f0d4f2d53943a9c513d5 Mon Sep 17 00:00:00 2001 From: Israel Figueroa Date: Tue, 28 Feb 2023 00:42:29 -0300 Subject: [PATCH] Readme v1 --- README.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b714027..e8fa141 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,64 @@ -# sistema_web +# Sistema de Gestión del Transporte Público Metropolitano +Repositorio de los diferentes componentes del sistema de almacenamiento y análisis de los datos del transporte público del Gran Concepción. + +## Uso + +### Creación de los contenedores + +Se dispone del archivo `docker-compose.yaml` que permite construir los contenedores a partir de las diferentes imagenes. + +Para construir las imagenes ejecute en el directorio: +``` +docker-compose build +``` + +Para subir las imagenes al repositorio configurado en el archivo, ejecute: +``` +docker-compose push +``` + +### Instalación del enjambre + +Se deja el archivo `docker-compose.srv.yaml` con una configuración básica de un enjambre del proyecto. Primero, debe crear los volumenes externos donde se almacenan los estados persistentes de la base de datos: + + +``` +docker volume create static_gtfs_volume +docker volume create pgdata_web +docker volume create pgdata_hot_gtfs +``` + +Una vez creados los volumenes persistentes, para correr una instancia del enjambre con el nombre `prueba-tpmc` ejecute: +``` +docker stack deploy prueba-tpmc --compose-file docker-compose.srv.yaml +``` + +Esto dejará corriendo los contenedores en el enjambre, cada uno se encuentra sirviendo sus endpoints configurados en el servicio y requiere adicionalmente un proxy inverso haciendo relay a de los requests a los contenedores correctos. + +### Disclaimer + +Se deben crear manualmente las schemas en el `system_db`: + +``` +docker ps + +docker exec -it hash#del#contendor#system_db bash + +psql -U postgres +\c docker +create schema doc; +create schema gestion; +create schema registros; +create schema usuarios; +``` + +Luego, enviar una solicitud al contenedor `private-dynamic` crea las tablas del modelo una vez que los schemas se encuentran creados. + +#### Este procedimiento es temporal + +# TODO + +* Avanzar exponiendo endpoints dinamicos en `public-dynamic`: listado de archivos GTFS para descargar y mapa de paraderos. +* Programar la lógica para la carga de los GTFS-Estáticos a la bases de datos en `carga-gtfs`. +* Consolidar los modelos en archivos `.sql`