Back to my roots

God bless the terminal! Without it, it's hard to imagine a way to speed up your productivity although I understand that it's not everyone's cup of tea. To me, the terminal isn't just an awesome mouseless ecosystem but a customizable environment you can easily move around in. For instance, you can code, use git and run tests in one place and run docker, a task manager and navigate your database in another at the low cost of memorizing just a few tmux shortcuts. That's much more efficient than dragging a mouse all around a beautiful but hindering user interface.

As a big fan of terminals I always wanted to code a program for it but I hadn't been able to do that because The Odin Project curriculum was focused on apps for the browser only. Also, the bittersweet taste that left my first backend project in my mouth made me consider a new sort of project to take a breath of fresh air. So, the stars aligned to tell me it was time to try new things, to sail to another land again.

For this project I was determined to import as few libraries and dependencies as possible, if not none. My idea was to have a minimal and carefully planned TUI project to test my knowledge and challenge my creativity. It was going to be a new episode of the working with constraints series where Node.js would play the main role of the story.

I loved to see all the parts of the project coming together so smoothly. My plan for connecting the server and the client to create, edit and delete blogs stored in a non relational database had really good results. Maybe, I should've spent some time testing the program with Node.js unit testing API. However, I didn't have much time left to do that because the project was much harder than it appeared to be. In fact, its final stage was challenging and I'll tell you why now.

TUI software usually offers users a command line set of options inside a single terminal environment to interact with. My program unfortunately had a server and a client that users had to run as separate processes instead. So, I experimented with Docker to bring along a cross platform solution. It wasn't an optimal solution but it gave me exposure to what this technology does and how it does it.

Repo


406 Words

2024-10-11