Articles
User management and authentication service using MongoDB
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.
Food manager
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.
Smart home control panel (SHCP)
I've been using <a href="https://www.home-assistant.io/" rel="noopener noreferrer nofollow">Home Assistant</a> 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.
User management microservice based on Neo4J
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.
IoT Current consumption monitoring system
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...
Weight tracker
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.
Solar power setup
I got my hands on a 600W 12V inverter so I decided to experiment with generating my own electricity.
Multi-user MQTT platform
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.
Cashless payment system
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.