Making of this website
Making of this website
Hey there ! Welcome to my blog ! In this first article I'll detail how I worked on that project. You'll see how I work on a daily basis and what is my design process for apps like this.
Without further ado, let's get started !
1. Why make another website ? 🤔
Well my old server was getting out of hand : services started to break down as I did more and more experiments on it without carefully backing up my VPS or without understanding really what I was doing. This lead to a lot of mistakes and made me finally press the big red reset button and start from a fresh install. This time I choose the location of my server to be in France (as it is my home country).
I also wrote documentation on how to keep the server safe and always running and an internal custom "captain log" document allowing to keep trace of what happened to the server in hope of making debugging easier and mistakes clearly visible.
2. Designing the website 🎨
At this point I knew my old website wasn't going to cut it for this new iteration of my personal space on the web. So I got my pocket notebook and started sketching how it would look. Here are some picture of those sketches :
After that I got to work on the actual website. I decided to go in with a minimalist aproach ; this website's frontend is coded entirely in vanilla Javascript, HTML and CSS with no frameworks. For the backend, I decided to code it myself in nodeJS using ExpressJS, body-parser and rate-limit.
A few hours in and I had a great prototype that worked. I continued to refine and refine and that's when I truly decided to make a small home-grown blog system.
3. The blog system 💬
The blog system works with custom endpoints and a small database called* "Let's use a JSON file and fs because I'm the only one to write to that DB"* which is of course a real database and not something I made up. Anyways I wrote a small piece of code that was handling this home-made simple database. Then I proceeded to work on the few endpoints. I knew I had to make one for "all articles" that would only give a list for people to browse and a "article" endpoint that would send the full article's content to the client.
Note : If you are a little curious or a web-dev, I invite you to open your browser's DevTools and take a look at what the requests look like !
- Oxey405
I also made a sort of interface for me to streamline posting blogposts on the website 📈! I made sure everything was a bit secure and continue working on the front-end this time.
And after a long day of work, my website was finally ready to push to production !
4. Deploying to the server 💾
And with a little help from ✨ChatGPT✨ and prior knowledge from my linux experiments I got the web service running and reverse-proxied it through NGINX ! So yeah that's why you can read that you can thank ChatGPT and me for it (after all I had to write this post).
5. Conclusion
So yeah that's what happened today and I really like the fact that I got this website running in a day ! I'll probably make some maintenances later down the line to ensure no-one could post something without my consent (that would be embarrassing but fortunately I got logs to check if that happens)
I hope everything works out for this service and I am so happy that I FINALLY I BUILT A SPACE TO EXPRESS MYSELF outside of conventional social networks.