Branchost

Scope:

It’s a CMS for creating drupal sites either from scratch or from the existing source code. It has the ability to create, deploy and configure the Drupal sites in multiple Environments at the same time, using the pre-existing git branches or setting up the new git for code versioning. Features like listing logs, commit history, etc. was part of enterprise subscription plans.

Core Features:

  1. Ability to create, deploy and configure the Drupal sites in Dev, Test and Production Environment.
  2. Display error log of each environment.
  3. Display github log of each environment.
  4. Provide all the possible options for flexibility of the feature like Ability to upload existing project, ability to connect existing database, ability to clear the log, ability to clear the server cache, ability to redeploy, ability to see the configuration, etc.

My role:

I was working as a senior developer in this application. My primary task was to create the required backend APIs as per the frontend flow. Unit test cases with 100% code coverage was required. We use CI/CD for automatic deployment of each new site. 

Achievements:

Dynamically configuring, deploying and hosting a drupal site is an achievement I believe.

Challenges: 

Dynamic configuration and deployment of the Project source code on AWS EC2 was very challenging. CI/CD made it a bit easy but doing this long operation in multiple steps asynchronously was very challenging. Every time we were facing a new error, and because operation was performed in the background, it was difficult to track the error every time so we were using a custom logger as well as logging tools like Sentry for staging and production, which helps to track the error before the client reports it.