Articles

API tester

API tester thumbnail
There are multiple tools available for API testing, Postman and Insomnia being probably the most popular. However, those are desktop applications that need to be installed. I wanted a solution that I can use in the browser so I made a simple web application to achieve basic API testing functions.
VuetifyWebProjects

APIs: Why and how

APIs: Why and how thumbnail
From a simplistic point of view, software can be seen as a combination of operations performed on data. Data comes in, gets processed through a series of functions and some result comes out.
WebTutorials

An RFID ring as a front door key

An RFID ring as a front door key thumbnail
Global warming and the COVID-19 pandemic are some the many challenges humanity is having to face. However, I somehow decided that the problem I was going to solve is having to take my keys out of my pocket whenever I lock or unlock my front door.
IoTArduinoRFIDProjects

Anshin

Anshin thumbnail
I live by myself far away from my relatives, which can can make them worried if they don't hear about me for too long. To reassure them, I made a simple web application which displays my recent activity alongside a list of emergency contacts.
Tailwind CSSAstroNode-REDProjects

Apache reverse proxy for web app

Let's imagine that we've just finished developping a NodeJS application that listens for HTTP requests on port 8086 and that we have an Apache2 instance listening on port 80.
NetworkProxyApache

Application containerization

Application containerization thumbnail
Let's imagine a developer building an application on his computer and that this application is meant to be deployed on a different machine (production environment). In order to execute properly, this application requires multiple libraries, binaries and packages. For example, a Python program requires the Python interpreter as well as all the imported Python modules.
DevOpsDockerTutorials

Arduino 7-segment alarm clock

Arduino 7-segment alarm clock thumbnail
This is one of my earliest electronics project: An alarm clock built around an Arduino nano, a real-time clock (RTC) module and a 7-segment display.
ArduinoProjectsElectronics

Arduino button debounce function

Arduino button debounce function thumbnail
Physical buttons and switches do not switch between open and close position instantly and perfectly. Instead, they have a tendency to "bounce" between the two states before settling on one. This issue is thoroughly described in circuitdigest's excellent article. Consequently, when using such components with, for example, an Arduino microcontroller, a proper debouncing algorithm must be implemented.
ArduinoElectronics

Auto CRUD

Auto CRUD thumbnail
Most web applications that manage data in a database perform at least some form of create, read, update or delete (CRUD) operations on stored records. Moreover, web applications also often expose those operations via a REST API. Most database tables - corresponding to the entities manged by the application - need their own CRUD controller and set of HTTP endpoints. Because of this, large applications can quickly become tedious to develop and maintain. However, the logic for each table is usually quite similar. Auto CRUD has been developed to reduce this workload.
ExpressProjectsNPMPrismaDatabase

BLE presence detection

BLE presence detection thumbnail
I wanted my home automation system to detect when I arrive home so as to unlock my door automatically or let me know if I leave the apartment without turning the A/C off. I figured my smartphone could be used to achieve this since it is equipped with a vast array of sensors and connectivity options. For example, I could use an app like OwnTracks which would send an MQTT message once I enter a certain perimeter around my apartment. However, constantly monitoring one's GPS location is wasteful in terms of battery life. Another option would be to ping my phone's IP address to check if it is connected to the WiFi, but smartphones can sometimes take a while to connect. So, I decided to use BLE advertising, which does not use too much battery while still remaining constantly active.
ESP32ProjectsIoTBluetooth