How this site is built

This portal is designed and built using the following principles:

Open source/Free tools and services we use

  • git git: a distributed version control system.
  • Hugo Hugo: a static site generator.
  • D3 D3: a JavaScript library for producing dynamic, interactive data visualizations in web browsers.
  • GitHub Pages GitHub Pages: a service by GitHub whereby you can have a website served on the Internet for every user, organization or repository.
  • GitHub Organizations GitHub Organizations: a service by GitHub for groups of people.
  • Travis CI Travis CI: a hosted, distributed continuous integration service used to build and test software projects.
  • R R Project for Statistical Computing: a free software environment for statistical computing and graphics.
  • Tidyverse Tidyverse: is an opinionated collection of R packages designed for data science. Among them:
    • dplyr dplyr: a grammar of data manipulation, providing a consistent set of verbs that help you solve the most common data manipulation challenges.
    • readr readr: a fast and friendly way to read rectangular data (like csv, tsv, and fwf).
    • ggplot2 ggplot2: a system for declaratively creating graphics, based on The Grammar of Graphics.
  • Google Charts Google Charts: an interactive Web service that creates graphical charts from user-supplied information.
  • Netlify Netlify: offers hosting and serverless backend services for static websites.

Scaffolding

This website is a statically generated one: there is no CMS, no database, no authorization server behind it. It is just a bunch of HTML pages. These pages are generate by Hugo Hugo either out of plain Markdown or R Markdown.

Hugo is a static site generator, i.e. it takes a description, generally a template, of the pages you want to build and generates the relevant HTML.

Repositories

We use git git as our (distributed) version control system. And we selected GitHub as the central server for our git repositories.

In order to group all our repositories we created a GitHub Organizations GitHub Organizations called euctrl-pru. It is a sort of company/team account.

We have one repository for the source pages, portal, where you can find and follow all we publish.

Web hosting

Once we submit a change to the (master branch of the) portal repository, Netlify Netlify triggers a build of the website and publishes it.

Continuous Integration and Deployment

We use the continuos integration service of Netlify Netlify to automatically

  • build every commit in our release branch (any branch name starting with 2016<2 digit month number>-release). These build can include tests to be executed in order to garantee a certain level of quality…

  • build every master branch commit and if successful deploy the generated site. This is a way to publish our releases and make them available on the Internet. (Less work for the Humans more boring work for the Machines)