Webpack is all the rage today. It calls itself a module bundler, but it is so much more than that. It will replace your gulp setup entirely, as it will do your transformations, you bundling, your replacements, your asset compilation, just about everything on the front-end build chain.

But what about the backend?

This question bothered me, so I decided to go ahead and build something to find out.

The building blocks

Node JS

Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js is mainly used for backend and build chain tasks. For more information, visit https://nodejs.org/en/ .

ExpressJS

Express is a project of the Node.js Foundation, it is a robust web framework for NodeJS. The Express framework allows building backend services with REST-APIs.
For more detailed information, look here : https://expressjs.com/

WebPack

Webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset.
In this project, we use webpack to transpile and bundle the NodeJS code written in typescript.
For more detailed information, look here : https://webpack.js.org/

I am using version 3.10.0

Typescript

TypeScript is a free and open-source programming language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript, and adds optional static typing to the language. (from Wikipedia)
For more detailed information, look here : https://www.typescriptlang.org/

After setting up the LED board (HomePi – Starting with the LED board) and proving that it is actually working, it is now time to connect the Pi with the LED board. In this blog Post, we will talk about:

The GPIO pins are a physical interface between the Pi and the outside world. At the simplest level, you might think of them as switches that you can turn on or off (input case) or that the Pi can turn on or off (output case).

The is just a little “note” on how to install NodeJS on the RaspberryPi, as I was searching for the best way to do it my self several time, I decided to put this up for you guys (and me 😉 ) here to find it more easily..