Este proyecto es una aplicación REST programada en el lenguaje Go. Lo ideal es
que si se desea utilizar este proyecto se descargue en su lugar
kdchaires/selectormetodologias
y se instale desde allí, dicho proyecto ya incluye éste sistema y además
contiene la aplicación cliente (Elm) que consume este servicio.
Si usted es un desarrollador, por favor adicionalmente consulte CONTRIBUTING.md para más información técnica sobre el proyecto.
A continuación se detallan los pasos necesarios para instalar y ejecutar esta aplicación en un ambiente de pre-producción.
El proyecto utiliza la base de datos MongoDB, puede revisar la siguiente documentación para consultar instrucciones de instalación:
Una vez instalado el manejador de base de datos es necesario crear la estructura y llenarla con los datos iniciales que requiere el proyecto. Por ahora no se tiene un sistema de migraciones por lo que será necesario restablecer la base de datos a partir de un respaldo.
En la carpeta raíz del repositorio
principal se encuentra la
carpeta data/
cuyo contenido es el respaldo de la base de datos tal cual se
generó con la herramienta mongodump
. Para restablecer este respaldo utilice
la herramienta mongorestore
de la siguiente manera:
# Remplace "<nombre bd>" con el nombre deseado para su base de datos
$ mongorestore -d <nombre bd> data/selector_metodologias
Nótese que el comando debe ejecutarse en la carpeta principal del proyecto, es
decir, dentro de aquella que contiene a la carpeta data/
. Además el nombre de
la base de datos que haya elegido debe especificarlo en las configuraciones de
la aplicación (vea abajo la sección "Configuración de la aplicación").
Antes de comenzar la instalación verifique que su sistema tiene establecido el
$GOPATH
y $GOROOT
correctamente, puede revisar la siguiente documentación
para aprender más al respecto:
Nota: Esto es necesario para poder compilar cualquier proyecto realizado en Go.
Las dependencias se administran utilizando la herramienta dep
, para instalar
el proyecto es necesario contar con esta herramienta instalada en su sistema,
por favor visite golang/dep para obtener
información de como instalar esta herramienta en su sistema.
Una vez instalada, abra una terminal y dentro de la carpeta del proyecto (la carpeta donde esta este archivo) ejecute:
$ dep ensure
La herramienta leerá los archivos Gopkg.lock
y Gopkg.toml
e instalará las
dependencias en la carpeta vendor/
.
Para que la aplicación se pueda ejecutar correctamente necesita que se le
configuren diferentes parámetros mediante variables de entorno, para simplificar
la configuración debe crear un archivo llamado .env
en la raíz del proyecto,
cuyo contenido tiene el formato VARIABLE=valor
.
Para facilitar la configuración del sistema, se incluye el archivo example.env
que puede utilizar como plantilla para crear su configuración, siéntase libre de
renombrar el archivo y de utilizarlo como su configuración:
$ mv example.env .env
Las variables que deben especificarse en el archivo de configuración son:
APP_BIND_ADDRESS
: Dirección IP utilizada por el servidor de aplicación.APP_BIND_PORT
: Puerto TCP utilizado por el servidor de la aplicación.MONGODB_HOST
: Dirección IP del manejador de base de datos MongoDB.MONGODB_PORT
: Puerto TPC del manejador de base de datos MongoDB.MONGODB_NAME
: Nombre de la base de datos de la aplicación en MongoDB.
Ya que se hayan instalado las dependencias y si el $GOPATH
del sistema está
correctamente configurado podrá construir y ejecutar el proyecto con el
siguiente comando.
$ go run main.go
Si se desea instalar definitivamente el sistema (sin necesidad de estarlo compilando y ejecutando desde la carpeta del proyecto) necesita construir el proyecto y posteriormente instalarlo.
Ya que se hayan instalado las dependencias y si el $GOPATH
del sistema está
correctamente configurado podrá compilar el proyecto, para ello, simplemente
ejecute el siguiente comando en la misma carpeta donde esta éste archivo:
$ go build
En éste punto se generará un binario con el nombre metselector
, ahora puede
ejecutar la aplicación de la siguiente manera:
$ ./metselector
Si se desea instalar la aplicación a nivel de sistema para que sea posible iniciarla desde cualquier ubicación, utilice el siguiente comando:
$ go install
En éste punto el ejecutable se habrá generado en su $GOPATH/bin
y de tener
configurado el $GOPATH
en el $PATH
del sistema podrá iniciar la aplicación
simplemente ejecutando:
$ metselector