Now
Making the backend of asanbilit.ir
This is an airplane-ticketing system. It has an extremely complex back-end, comprised of many microservices which uses gRPC, RabbitMQ+ProtoBuf, REST, and SOAP APIs, extensively. It has a complex caching system, works with over 20 external APIs, and incorporates RedisDB, MongoDB and PostgreSQL. It also incorporates, Macaroon tokens. That’s a lot of cool technologies. Any other system that has such an architecture, is probably over engineered. I can gurantee that this one is under-engineered, at this point.
This is an airplane-ticketing system. It has an extremely complex back-end, comprised of many microservices that utilize gRPC, RabbitMQ with ProtoBuf, REST, and SOAP APIs extensively. The system features a complex caching system, interacts with with over 20 external APIs, and integrates RedisDB, MongoDB, and PostgreSQL. Additionally, It also incorporates Macaroon tokens. That’s a lot of cool technologies. Any other system with such an architecture is probably over-engineered. I can guarantee that, at this point, this one is under-engineered.
I’ve been part of a three-person team, likely serving as the co-architect of this system. So, yes, I’ve had to code every aspect of these technologies. And let me tell you, it was quite a challenging experience! :D
Making prmait
I have created a rust-binary as a kind of glorified all-encompassing script. The code for prmait is hosted on sourcehut which is my current favorite code-forge.
Currently, prmait has these functionalities:
- Journal management of my dreams.
- Task manager that is tailored to my needs.
- Commits and pushes every change to the above.
- RiverWM’s startup script.
During this, to make it nicer for myself, I had to create a very small parser, and an effect-system. I have other functionalities in mind that I have not yet started working on:
- Combining thte task manager and journal manager, to make a sort org-mode-ish bullet journal for myself, where task schedules and notes live together.
- Create a syndication port, where I put some text, and it makes a daily blog post here, and make another post on Fosstodon.
- Create a parser for a vidir style interface for bulk editing of tasks and journal entries.
I’ve developed a Rust binary as a glorified, all-encompassing script. You can find the code for prmait hosted on sourcehut, my current favorite code forge.
At present, prmait encompasses the following functionalities:
- A journaling system.
- A task manager tailored to my needs.
- Automatic commits and pushes for every change mentioned above.
- RiverWM’s startup script.
Throughout this process, to enhance the experience for myself, I had to create a very small parser and an effect system. I have other functionalities in mind that I haven’t started working on yet:
- Combining the task manager and journal manager to create a bullet journal-ish org-mode for myself, where task schedules and notes coexist.
- Developing a syndication port that takes entered text, generates a daily blog post here, and publishes another post on Fosstodon.
- Creating a parser for a vidir style interface for bulk editing of tasks and journal entries.
Published at by Perma.