Travis Master Status ![Build Status] (https://travis-ci.org/seguijoaquin/taller2-appserver.svg?branch=master)
Se trata de una aplicación linux por consola destinada a mantenerse en ejecución por períodos prolongados de tiempo. Brinda una interfaz para la comunicación de los diferentes clientes que se conecten a la misma.
La interfaz de comunicación se realiza a traves de una Restful API, que define la forma de las solicitudes y respuestas de los diferentes servicios que brindará el servidor. Estos ultimos son:
El servidor dispondrá de un servicio para la autenticación de los clientes. Este servicio consta de una solicitud de autenticación, que viene junto con las credenciales del usuario. La respuesta a la solicitud es un token (identificador) de la sesión del usuario.
El servidor provee un servicio en donde el usuario podrá solicitar un posible candidato para match.
El servidor brindará un servicio para el delivery de conversaciones.
Para poder iniciar una conversación entre dos usuarios es necesario que exista un match entre ellos.
Base de datos RocksDB, Framework de testing Google tests, junto con Google Mock para instalarlos:
> ./instalar_dependencias.sh
(se instala como una biblioteca dinamica)
Se utiliza mongoose para la parte de web server; no es necesaria su instalacion.
Se utiliza jsoncpp como parser; no es necesaria su instalacion previa.
> cd Appserver
> mkdir build
> cd build
> cmake ../
> make
> ./src/Appserver