Document my stuff
I have got an idea to document my information about my server on my server. I could download any wiki type CMS, but I thought it would be a good practice to make my own application!
A place to publish my projects
I have got an idea to document my information about my server on my server. I could download any wiki type CMS, but I thought it would be a good practice to make my own application!
As it is told: “If there are no issue, and engineer will create some”. I have created a web interface, but now I am not really satisfied with the result. I have decided to start it from scratch.
In this article, I will discuss about the REST API, what I have use for my home alerting service. This API is between my database engine and the incoming requests.
Usually, if I write a script, I do not prefer to store any parameter or input value as hard coded onto the scripts. And those long parameter lists seems clunky for me. Due to this reason, I made a simple key-value data storage for my local running scripts.
In my opinion, it is good way to make a separate layer between the database and the program logic. If I changed the database, it would be easier to make changes. Besides on this way, I can be assumed that each of my program treat the database on allowed ways. None of them will use or manipulate the data in database freely. It increase the robust of this application.
In this article, I will explain the architecture and element, how I split this project onto smaller pieces to avoid one big massive monolithic backend for easier maintenance in the future.
Home, I am using a Debian server where are store my files, media files and some of my application what I strictly use on my local network. Although, I am the only user who use it, not a good thing when something bad happen there and I have no information about that. I am that kind of guy who like to write solution for myself, so I have decided that I build a ticketing system where I can collect alerts from my server and from my other devices (e.g.: Raspberry Pi).