Giter VIP home page Giter VIP logo

que_hacen_web's Introduction

que_hacen_web

Sitio web de Que Hacen los Diputados

Logotipo del sitio web quehacenlosdiputados

Requisitos para la puesta en produccion del proyecto:

Cómo funciona

Servidor HTTP

Necesitamos un servidor HTTP que redirija las llamadas al servidor, mediante un proxy inverso, a las aplicaciones node.js que estan corriendo en el servidor.

Además es necesario tener activado SSI (Sever Side Includes) para hacer funcionar correctamente la aplicacion node.js que corresponde al portal, ya que dicha aplicación hace uso de modulos reutilizables que se incluyen en distintas vistas.

La web se compone de dos aplicaciones desarrolladas en node.js:

La arquitectura que actualmente usamos en el portal es la siguiente:

  • un servidor web nginx que recoge las peticiones del cliente y redirige dichas peticiones mediante proxies inversos basados en urls, a la aplicación node.js correspondiente, las cuales corren en puertos diferentes.

browser <===> Servidor HTTP <===> portal web(node.js) | api(node.js) <===> MongoDB

Un ejemplo se produce cuando se hace una llamada a quehacenlosdiputados.net/diputados:

  • nginx redirige la petición a la aplicación node.js que esta corriendo en el puerto 3001 que es la del portal,
  • ésta llama a la api, la otra aplicacion node.js que esta corriendo en el puerto 3002,
  • que recoge la información de los diputados de la Base de Datos y la entrega a la primera aplicación que se encargará de mostrarla al cliente.

Cuando se hace una llamada a la api.quehacenlosdiputados.net/diputados:

  • nginx redirige esa llamada a la api, la otra aplicación node.js que esta corriendo en el puerto 3002
  • que recoge la información de la Base de Datos y la muestra tal cual.

Utilidades

Para la gestión de dichas aplicaciones nosotros utilizamos PM2 que es una herramienta que consideramos muy util, no solo por la buena gestion interna que hace de dichos procesos (graceful shutdown, balanceo de procesos, monitorizacion, salida a logs, ...), ademas facilita la configuración de dichos procesos desde el terminal o desde un archivo de configuración externo.

Licencia

La aplicación de este repositorio se distribuye bajo licencia GPLv3 http://www.gnu.org/licenses/gpl.txt

que_hacen_web's People

Contributors

cuerposaco avatar pmedimara avatar jpindado avatar quehacen avatar

Watchers

Jesús avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.