In this article, we are going to explain key concepts and illustrate an example in PHP.

Photo by Hadeer MJ on Unsplash

A brief background

Apache Kafka is an open-source software platform developed by the Apache Software Foundation written in Scala and Java. It was originally developed at LinkedIn before being open-sourced in 2011. Kafka is a framework implementation of a software bus using stream-processing. In other words, Kafka is a distributed streaming platform. Today, Apache Kafka is part of the Confluent Stream Platform and handles trillions of events every day (Example events are payment transactions, geolocation updates from mobile phones, shipping orders, sensor measurements from IoT devices or…


This article is part of series that we created to have a common knowledge/rule base among our IT teams

Photo by Miguel Castellanos on Unsplash

As you might already know containers are a huge help if not a necessity when developing software. They help isolate applications from their underlying infrastructure and help reproduce the same environments regardless of the underlying operating system (also called portability). Docker is a set of platforms as service products that use OS-level virtualization to deliver software in containers.

In this tutorial we are going to show you how to dockerize a Symfony project using Docker, this docker was configured for Symfony…


This article is part of series that we created to have a common knowledge/rule base among our IT teams

Photo by Saad Salim on Unsplash

If you love Linux OS and its ecosystem but you always find yourself with a Windows OS and virtualization or dual boot never gave you the full experience or performance, Microsoft brought the best of both worlds. We were very excited when Microsoft announced WSL2 in 2019. And we believe it to be the best web development setup.

WSL stands for Windows Subsystem for Linux, which is a compatibility layer for native Linux environments within windows. Its first version WSL1 was…


This article is part of series that we created to have a common knowledge/rule base among our IT teams

Photo by Erik Mclean on Unsplash

Git is a distributed version control system, which means you can work locally, then share or “push” your changes to a remote repository or server. like GitHub, BitBucket and GitLab.

GitLab offers services that allow hosting projects on a remote repository and it also has additional features (managing, sharing, documenting, bug tracking …) to help SDLC (Software Development Life Cycle) and CI/CD (Continuous integration and continuous delivery/deployment).

Why we use GitLab

As mentioned before there exists other web-based remote repositories servers. …


This article is part of series that we created to have a common knowledge/rule base among our IT teams

Photo by Damir Spanic on Unsplash

As an Atlassian explained in their tutorial:

Git hooks are scripts that run automatically every time a particular event occurs in a Git repository. They let you customize Git’s internal behavior and trigger customizable actions at key points in the development life cycle.

Git hooks are scripts that Git executes before or after events such as commit, push, and receive. Git hooks are a built-in feature — no need to download anything. Git hooks are run locally.


This article is part of series that we created to have a common knowledge/rule base among our IT teams

Photo by Emma Frances Logan on Unsplash

The purpose of this article is to create a manual to git with a set of rules and strategies that we share to boost productivity and avoid confusion.

Git is software for tracking changes in any set of files, it is mainly used for coordinating work among programmers collaboratively developing source code during software development. Generally speaking, Git is a distributed version control system (DVCS), or peer-to-peer version control system, as opposed to centralized systems like Subversion.

When you install git…

Aicha Fatrah

Software Engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store