Web based approval system
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
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.
Wardrobe and outfits management web app
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.
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.
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.
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.
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.
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.
Group management microservice
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.
Node.js DevOps example
In this article, we’ll build a simple <a href="https://nodejs.org/en/" rel="noopener noreferrer nofollow">Node.js</a> application that uses <a href="https://expressjs.com/" rel="noopener noreferrer nofollow">Express </a>to respond to HTTP requests. In order to deploy this application to production, we’ll also configure a <a href="https://docs.gitlab.com/ee/ci/" rel="noopener noreferrer nofollow">GitLab CI/CD</a> pipeline so as to <a href="https://www.docker.com/" rel="noopener noreferrer nofollow">dockerize </a>it and deploy its conatiner to a <a href="https://kubernetes.io/" rel="noopener noreferrer nofollow">Kubernetes </a>cluster.