I’m becoming a Barfer!
More than a month! My last post on this blog was more than one month ago. I should write more often. No wait let me rephrase that: I should write on this blog more often.
Why? How I spent my last month? Barfing, here’s how!
Ok, let’s add more details. A while ago I decided it was a good idea starting to move a little bit away from the .NET world and explore what’s around. And NodeJs arrived, of course with Typescript: I am 100% sure it’s basically impossible to write a semi-reliable system without some kind of type checking (along with 10000 other things).
Then I said: “I don’t want to just read a manual, what can I write with it?”. For some crazy reason I opted for a Twitter clone. Yeah, I was really bored.
Early in the analysis phase RabbitMQ and MongoDb joined the party. I was not exactly familiar with RabbitMQ so I thought was a good opportunity to learn something new.
In order to speedup the development and to obtain certain features (eg. authentication ) I have used a bunch of third party services
- Mongodb is hosted on MongoDB Atlas
- RabbitMQ is hosted on Cloudamqp to handle events and messages
- Auth0 to handle authentication.
- Travis CI to handle the deployment.
- Azure as final hosting platform.
- GitHub (no need to say why)
The system uses a microservices architecture with a front-end that act as api-gateway. For each service I’ve taken the CQRS path along with Publish/Subscribe. An Azure WebJob is scheduled to run continuously and listen to the various events/messages on the queues. I’ll blog more about the architecture but that’s it more or less.
What am I expecting from this? Well it’s simple: nothing. I mean, I’m not expecting people to use it (even though would be very nice), I am just exploring new possibilities. Nothing more.
Oh yeah, before I forget: https://barfer.azurewebsites.net/ . Enjoy!