Las aplicaciones actuales son generalmente sistemas distribuidos que se ejecutan en un entorno cliente, responsable de atender al usuario a través de una interfaz, y un entorno servidor, que almacena los datos e implementa la lógica de negocio. Ambas partes se comunican generalmente implementando una API de datos en el servidor de forma que se puedan realizar consultas y operaciones sobre los datos de forma remota desde cada cliente.
Aunque existen varias tecnologías para resolver esta necesidad, en los últimos años se ha generalizado el uso de REST como sistema estándar de intercambio y manipulación de datos. En muchos casos es una opción válida, pero plantea algunos inconvenientes en aplicaciones que son intensivas en el uso de datos o cuando coexisten diferentes aplicaciones que utilizan el mismo servidor como proveedor de datos. Estos problemas, junto a la necesidad de avanzar más rápido en productos cada vez más complejos, ha motivado la creación de nuevas formas de interactuar con los datos.
Estas circunstancias son el origen de este proyecto, con el que se pretende crear desde cero un sistema rápido y estable ayudado de una serie de herramientas como son NodeJS, GraphQL o React para facilitar el uso de una nueva forma de tratar los datos y mostrárselo al usuario (que éstos no ocupen mucho espacio de memoria para que la transmisión sea menos costosa y más rápida, el navegar por la aplicación sin recargas innecesarias y de forma fluida, etc.).