How this site is built
This portal is designed and built using the following principles:
- everything has to be version controlled
- adopt KISS principle: Keep It Simple and Stupid.
- build a static website
- use open source tools whenever possible
Open source/Free tools and services we use
- git  :
a distributed version control system. :
a distributed version control system.
- Hugo  :
a static site generator. :
a static site generator.
- D3  :
a JavaScript library for producing dynamic, interactive data visualizations in web browsers. :
a JavaScript library for producing dynamic, interactive data visualizations in web browsers.
- GitHub Pages  :
a service by GitHub whereby you can have a website served on the Internet for every user, organization or repository. :
a service by GitHub whereby you can have a website served on the Internet for every user, organization or repository.
- GitHub Organizations  :
a service by GitHub for groups of people. :
a service by GitHub for groups of people.
- Travis CI  :
a hosted, distributed continuous integration service used to build and test software projects. :
a hosted, distributed continuous integration service used to build and test software projects.
- R  :
a free software environment for statistical computing and graphics. :
a free software environment for statistical computing and graphics.
- Tidyverse  :
is an opinionated collection of R packages designed for data science.
Among them: :
is an opinionated collection of R packages designed for data science.
Among them:- dplyr  :
a grammar of data manipulation, providing a consistent set of verbs that help you solve
the most common data manipulation challenges. :
a grammar of data manipulation, providing a consistent set of verbs that help you solve
the most common data manipulation challenges.
- readr  :
a fast and friendly way to read rectangular data (like csv, tsv, and fwf). :
a fast and friendly way to read rectangular data (like csv, tsv, and fwf).
- ggplot2  :
a system for declaratively creating graphics, based on The Grammar of Graphics. :
a system for declaratively creating graphics, based on The Grammar of Graphics.
 
- dplyr 
- Google Charts  :
an interactive Web service that creates graphical charts from user-supplied information. :
an interactive Web service that creates graphical charts from user-supplied information.
- Netlify  :
offers hosting and serverless backend services for static websites. :
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  either out of plain Markdown or R Markdown.
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  as our (distributed) version control system.
And we selected GitHub as the central server for our git repositories.
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  called
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  triggers a build of the website and publishes it.
triggers a build of the website and publishes it.
Continuous Integration and Deployment
We use the continuos integration service of
Netlify  to automatically
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 - masterbranch 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)