Documentacion

El shared server se encuentra actualmente en heroku. Para seguir manteniéndolo solo hay que pushear al repositorio, este deployea automáticamente el server en heroku.

Su desarrollo fue realizado con nodejs para correr un servidor con el paquete express que respondiera a una API determinada para crear, modificar y eliminar usuarios y crear intereses. Al mandar y recibir información en formato JSON se utilizaron los paquetes de body-parser y jsonschema para poder recibir la información en las respuestas HTTP y poder validar su formato.

A su vez este server cuenta con una conexión a una base de datos implementada con PostgreSql, por lo que utiliza el paquete de pg.

A su vez dispone de una interfaz gráfica para la administración de los usuarios, esta está implementada con html, javascript y css como sitio web y para su construcción se usan los paquete de node ejs.

Instalación local

Para poder correr localmente el shared server, es decir desde un puerto local y una base de datos local es necesario tener instalado node, npm y postgres. Primero hay que correr el comando:

sudo apt-get update

Instalación de node

Para instalar corra el comando:

sudo apt-get install nodejs

Para asegurarse que se instaló corra:

node --version

Si indica que:

-bash: /usr/sbin/node: No such file or directory

Corra:

sudo ln -s `which nodejs` /usr/bin/node

Instalación del npm

sudo apt-get install npm

Instalación de postgres

sudo apt-get install postgresql postgresql-contrib

Creación Rol y DB

Primero para tener la base de datos local es necesario ejecutar el archivo createDB.sql, para ello debe ejecutar lo siguiente siendo <username> su nombre de usuario(guest, etc.). Estara creando un rol y podrá ejecutar el último comando desde su terminal.

sudo -i -u postgres
createuser -s -d -P <username>  #prompt para setear pass
createdb <username>
exit

Por último ejecute(una vez creado el rol puede correr este comando para reiniciar la base de datos):

psql -f createDB.sql

La definición de la base de datos la puede ver en Shared Server DB Model.

Configuracion (.env)

Para poder correr localmente el shared server se debe escribir un archivo llamado .env que solo contenga en formato “key=value” el puerto(PORT) y la url(DATABASE_URL) a la base de datos de Postgres. Para levantar este archivo y setear las variables se utiliza el paquete ** node-env-file**. Un ejemplo de archivo sería:

PORT = 8000
DATABASE_URL=postgres://user:pass@localhost:5432/dbname

La composición de la url de la base de datos es la siguiente:

postgres:://<username>:<pass>@localhost:5432/tinder

Donde <username> y <pass> corresponden al rol creado.

Puesta en marcha

Primero asegurarse que estén instalado los paquetes:

npm install

Luego, localizado en la carpeta del proyecto ejecutar:

node index.js -l

O tambien:

node index.js --local

La aplicación se puede cerrar con un SIGINT, el mismo al recibir esta señal cierra el servidor y luego termina con código 0.