Articles

Node.js

Node.js testing for multiple environment variables

Node.js testing for multiple environment variables thumbnail
Some applications might require the same codebase to be tested with different sets of environment variables. This article proposes a simple way to do so.
Node.jsDevOpsTutorials

Web based approval system

Web based approval system thumbnail
With the COVID-19 and the introduction of remote work, a many Japanese companies were struggling with the approval of documents, since those needed to be physically stamped with one's personal seal named Hanko. I decided to solve this issue by creating a web application to keep track of approvals
Vue.jsNode.jsProjectsExpress

Weight tracker

Weight tracker thumbnail
Managing one's body weight can be quite a challenge. And as the quote from Peter Drucker goes, "You can't manage what you can't measure". So, I built a body weight scale that can upload data to an API of my choice, which was the object of this article.
ProjectsInfluxDBExpressNode.js

Wardrobe and outfits management web app

Wardrobe and outfits management web app thumbnail
Have you ever bought a piece of clothing only to come home and realize you already had a similar one in your wardrobe? This happened to me the other day so I decided to fix the problem. To do so, I designed a simple web application in which the user can keep track of all the garments they own.
Vue.jsMongoDBMongooseVuetifyWIP +3

Food manager

Food manager thumbnail
The other day, I found myself putting on some weight. This rather surprised me as I thought I was having a healthy diet and exercised almost daily. To identify the root of the problem, I decided to start measuring my calorie intake as well as the macronutrients that constitute said intake.
WIPMongooseWebMongoDBNode.js +1

User management microservice based on Neo4J

User management microservice based on Neo4J thumbnail
Web applications commonly require a user database and the management logic for it. Having to build such software infrastructure for each individual app would be time consuming so I designed a general-purpose user management microservice that can be easily integrated in a project.
SecurityProjectsWebNode.jsNeo4J

Group management microservice

Group management microservice thumbnail
As a graph database Neo4J is a great choice to manage highly relational data. On the other side, a great number of applications feature at least some form of user management system. With Neo4J, those users can be store as nodes and connected to other items via relationships. A typical example would be a blog, where both articles and users are individual nodes while authorships are represented by a relationship.
ProjectsNode.jsWIPWebNeo4J

Multi-user MQTT platform

Multi-user MQTT platform thumbnail
Mosquitto is usually the first candidate to come to mind when looking for an MQTT broker. However, by default, Mosquitto manages users using a password file. This makes it difficult to easily add or remove users, especially when the broker is deployed in Kubernetes.
ProjectsKubernetesMQTTWIPSecurity +1

Camera viewer

Camera viewer thumbnail
IP cameras are cheaper than ever and with the ESP32-CAM boards it is now possible to stream video for less than USD 10. However, IP cameras are commonly either only accessible from within their network, or use servers from third party companies to allow users to see the video feed from anywhere in the world. As both scenarios are inconvenient, I decided to create a camera viewer application that can proxy the video feed to a web interface.
WebProjectsMongooseMongoDBNode.js

User management and authentication service using MongoDB

User management and authentication service using MongoDB thumbnail
More often than not, web applications require restrictions regarding who can access the content that they serve. This involves an user management and authentication system, which, if designed inappropriately, can lead to security concerns. However, the development of such system can be time consuming, especially if done repeatedly for multiple applications.
FeaturedNode.jsMongooseMongoDBDocker +2