Articles

Serving web applications with Apache

Let's imagine we have a server with Apache2 listening on port 80. Since port 80 is used, other web apps, developed for example with Node.js, must use another port. Consequently, one would need to open a new port on one's router every time a new app is developed.
TutorialsApacheLinux

Users and groups in Linux

In linux, or at least Ubuntu, a user can be added using:
BashTutorialsLinux

Credit card transactions web scraper

Credit card transactions web scraper thumbnail
The company behind my credit card provides a web interface which includes a log of the transactions that have been made. The objective of this project is to automatically retrieve this log everyday and store its data in a database so as to display it on a custom dashboard.
ProjectsPuppeteer

IoT ceiling lights

IoT ceiling lights thumbnail
An IoT RGBW LED controlled via MQTT with integrated motion and illuminance sensor.
IoTWIPElectronicsProjectsMQTT +1

IoT scale

IoT scale thumbnail
Keeping track of one's body weight usually involves manually writing down measurements on a spreadsheet or similar. To automate the process, I removed the electronics of a cheap scale, keeping only the load cells, and replaced it with my own.
ProjectsESP8266IoTElectronics

IoT Current consumption monitoring system

IoT Current consumption monitoring system thumbnail
When you don't know how much power your air conditioner draws, it's easy to leave it running without feeling too guilty. And then the electricity bill comes...
MQTTProjectsIoTNode.jsElectronics +1

IoT RFID reader

IoT RFID reader thumbnail
RFID is a conveninent technology for access control and authentication. In this project, I connected an RC522 RFID reader to an ESP32 in order to use it for IoT applications. Additionally, to provide feedback to the user, the ESP32 is also connected to an SSD1306 OLED display and a buzzer. I chose an ESP32 over an ESP8266 simply because of the amount of GPIOs required.
ESP8266RFIDPCB designProjectsIoT +1

Docker images and containers management

Here are a few commands to manage docker images and containers
DockerTutorials

This very application, a CMS based on Neo4J

This very application, a CMS based on Neo4J thumbnail
Publishing articles on a website can be as simple as uploading HTML files to a web server. However, writing articles in raw HTML can be time consuming. A content management system (CMS) is an application designed to solve this issue by providing a simple way to create and manage web content directly from the web browser. There are many CMSs available, namely Wordpress or Joomla but I decided to create my own as a form of practice and in order to have it highly customized to my needs.
Node.jsWIPProjectsWebNeo4J

Cookies

Cookies are key-value pairs stored on a web browser. They can be set (i.e. created) using client-side JavaScript. Conversely, a server can get a client's browser to set cookies via instructions in an HTTP response. As such, cookies can be set by both the client and the server.
TutorialsSecurityCookies