Notes on Rouleau

Presentation

Rouleau is a sandbox website used to experiment a couple of technologies. It intends to be JAMstack compliant and PWA capable. It consists of two parts:

  • The static content, i.e. the html/css/javascript files of the front-end, that can be delivered by a CDN
  • A REST server for the dynamic content

The front-end files are generated by transpilation to help to find bugs early and get proper code. The following languages are used:

HTML5, CSS3 and ES6 are preferred even if they restrict the compatibility with old browsers. Rouleau is a single-page application with an original layout, intended to highlight the functioning.

Requirements

This project requires nodejs and npm:

> node -v
v8.10.0
> npm -v
6.9.0

To upgrade your npm version, you can try:

sudo npm i -g npm

Additional requirements:

sudo apt install rst2pdf evince curl
pip install --user pipenv

Getting Started

In a bash terminal, type:

git clone https://github.com/charlyoleg/rouleau
cd rouleau
npm install
npm start

Dependencies

You can check the node-package dependencies with:

npm ls --depth=0
npm ls --prod --depth=0
npm ls --dev --depth=0

Deployment instances

Because the Rouleau’s front-end is a static website, it can be built and deployed by free CDN solutions like Netlify, CloudFlare, FireBase, AWS, Surge.sh, Aerobic and Now.sh.

With Netlify:

With Surge.sh:

With Now.sh:

Further documentation

To generate and view the documentation:

npm run install_py
npm run the_docs

Or visit the online documentation on Read-the-Docs: