Articles

MongoDB

Mongoose bulkWrite upsert

Here is a code snippet for a bulk update with upsert using Mongoose:
MongoDBMongooseNode.js

Mongoose bulk update upsert

MongoDB's upsert option enables the creation of a new document if the query of an update operationdoesn't match any existing document. Basically, an update command with upsert creates a document if it does notexist already, and update it otherwise.
MongooseMongoDBTutorials

Finances management web app

Finances management web app thumbnail
Most banks nowadays provide e-banking interfaces that allow clients to monitor the state of their accounts. However, each bank has its own system and the provided interfaces sometimes lack functionalities. Consequently, I decided to create my own finance dashboard, that combines information regarding multiple accounts. Currently I use it to keep track of my bank accounts balance over time as well as provide a breakdown of my transactions.
ExpressNode.jsMongoDBInfluxDBWeb +2

Smart home control panel (SHCP)

Smart home control panel (SHCP) thumbnail
I've been using&nbsp;<a href="https://www.home-assistant.io/" rel="noopener noreferrer nofollow">Home Assistant</a>&nbsp;to control my home IoT devices for a while. Although it fulfills all my needs, I wanted to make my own system so as to get a fully customized smart home control panel and learn how to build such an application in the process.
MQTTNode.jsIoTWebSocketProjects +2

Cashless payment system

Cashless payment system thumbnail
A company I worked for had a coffee machine for which employees could purchase coffee. However, the payment was done by putting coins in a jar. Not only did this present the obvious risk of theft, this system was also impractical for people not carrying spare change at all time. I decided to solve this issue by designing this cashless payment system.
ElectronicsProjectsIoTMongoDBNode.js +1

Fixed asset management system

Fixed asset management system thumbnail
Many companies rely on spreadsheets to keep track of their fixed assets. However, spreadsheets are commonly designed to be edited manually, which makes automation difficult.
Node.jsWebProjectsMongoDB

Image upload microservice

Image upload microservice thumbnail
An image is worth a thousand words and probably even more if comparing their size in bytes. When designing my CMS, I originally intended to store images directly in the article, encoded in Base64. However, this would considerably increase the size of each article, making the whole CMS slow.
WebWIPNode.jsMongoDBProjects +1

MongoDB K8s manifest

Here's a simple manifest to deploy MongoDB with data persistence in microk8s:
MongoDBKubernetes

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