How to Setup a Jenkins to DockerHub Pipeline with Multi-Arch Images
· β˜• 13 min read
We have previously seen how to set up a GitHub to Jenkins pipeline with webhooks, this time we are going to continue on that lesson and learn how to configure Jenkins to build and push Docker images to DockerHub. We’ll also see how to create images for both arm64 as well as amd64 architectures machines. Keep on reading.

How to Setup a GitHub to Jenkins Pipeline with WebHooks
· β˜• 10 min read
In a typical CI/CD pipeline, what happens is when you push your code to a code repository (remote) like GitHub/GitLab/BitBucket, an event is triggered by the git host provider. This trigger is known as WebHook. This webhook can be used by some third-party service to provide an array of integrations. Do you want to tweet on every git push? You can do that.

I Tried Open edX and it's Awesome
· β˜• 7 min read
This is a quick post where I talk about getting started strategies with Open edX as a developer. In this post I am documenting the process of edx installation on my local system for evaluating.

This is how OOPs and Mocking are related to Dependency Injection
· β˜• 12 min read
There are a few words, like unit testing, integration testing, mocking, dependency injection, object oriented proramming which are all related to each other. In this post I'm going to talk how, and then it will start to make sense to you.

TDD Approach to Create an Authentication System With FastAPI Part 3
· β˜• 15 min read
If you are following this series from start, you know that we can already create user from our API. But we have our tests failing right now, which is kind of smelly. In this post, we takle with the problem in our hand and discuss some methods we can do it with. One of them is dependency injection.

TDD Approach to Create an Authentication System With FastAPI Part 2
· β˜• 15 min read
In the last post in the series we did the project setup and seen some FastAPI basics along with red-green-refactor mantra of TDD. In this post, we talk about setting up the database and and implementing the user registration.

Create Thumbnail Worker With S3 and Lambda: Make the Thumbnail
· β˜• 9 min read
In the last post in this series, we saw how we can execute a piece of a code when something is uploaded to the S3 bucket. We saw all the configuration we might have to go through. We also saw how we can test our trigger manually and automatically when object is uploaded. At last, we also came accross a trouble and shooted it. In this section, we will continue our venture.

Wildcard Domain Certificate Using Route53 and Let's Encrypt
· β˜• 14 min read
Today I'll go through how get and configure a HTTPS certificate from Let's Encrypt for all the subdomain. I have already posted about how we can automate installation of Jenkins & Nginx with Ansible. I have also done a post where I talk about how to enable HTTPS on a non-wildcard basis i.e. only for the root domain and not on subdomain.

A TDD Approach to Creating an Authentication System with FastAPI, Part 1
· β˜• 7 min read
I have been tinkering with this new framework and have a little bit of experience with FastAPI as of now. What I've though of is to do a post about authentication and authorization. I'm sure going to do a registration and login system and nothing fancy this time. I am going to use JWT as authorization mechanism.

General Lifestyle Tips and Tricks for Programmers
· β˜• 4 min read
You know what is difference between a senior software enginner and a junior? One of the diffrence is that senior develop organised thinking over the span of time. Why not practice it from the start?

Create Thumbnail Worker With S3 and Lambda: Test the Trigger
· β˜• 7 min read
In this post, we are going to see how we can use existing AWS infrastructure to create thumbnail for uploaded images. In this venture, we are going to use S3 trigger to execure Lambda function to do whatever we want. But in this case, we'll create thumbnail so that we can save on some bandwidth when only a smaller version of image is required on the frontend. So let's get started.