Learn how to apply the SOLID principles and save the day with a maintainable code.

As software engineers, we spend 90% of the time reading code 📚 .

And a part of being a software engineer is to maintain some old projects developed by others, fix bugs, and update some features …

But sometimes when you look at the code 😵 you will ask what is this?

A tightly coupled code 😬.

Fortunately, there is a way to prevent this from happening😉.

The SOLID principles 🤩, but what are SOLID principles?

What are SOLID principles?

SOLID is an acronym for five computer programming principles…


1. What is HelloSign?

HelloSign allows you to electronically request and add legally binding signatures to any document, from new hire agreements to loans to NDAs. HelloSign is available in an intuitive web interface, a developer-friendly API, or as a Salesforce add-on.

2. Create an account at :

Then log in to your account :


Photo by Alice Dietrich on Unsplash

When you work on a large project, you find that the style gets more and more difficult to maintain, and when a client asks for changing the style of a part of the project you worked on it a long, long time ago ☹️️, yeah this is my reaction too.

Sometimes you ask yourself do you need to repeat this CSS code each time or you forget about the color you worked with and you hoped that there is a way to create variables inside CSS and pass them each time rather than pass the color.

Do we have a better way, 🤔?

Yes, this is when…


What is Vonage?

Vonage provides a suite of APIs that enable you to communicate with your customers using your preferred channels.

Create an account :

Then log in to your account :


What is SendGrid?

SendGrid is a cloud-based SMTP provider that allows you to send email without having to maintain email servers. SendGrid manages all the technical details, from scaling the infrastructure to ISP outreach and reputation monitoring to whitelist services and real-time analytics.

Create an account :

Then log in to your account :


What is Stripe?

Stripe is a suite of payment APIs that powers commerce for online businesses of all sizes.

Create an account:

Navigate to the stipe website Here

Enter your info and click create account button.

Then you will receive an activation email. After activating your account, log in.

Get the API key :

On the Stripe, dashboard click on Developers


1. What is RabbitMQ?

RabbitMQ is a message broker or queue manager that implements the AMQP protocol.

This means that he takes messages in a queue and sends them to consumers.

A message can include any kind of information.

Producer: publishes a message to an exchange.

message: any kind of information or data.

Queue: hold many messages, queue (first in, first out).

Broker: in our case the RabbitMQ, a broker can have many queues.

Consumer: is the system that receives the message from the broker.

With a message broker, we can decouple our application easily.

This means we use a microservice architecture.


CODEX

1. Before you begin :

Create a Google Cloud Platform project with billing enabled.

Enable the Google Cloud Vision API from the “APIs & Services” menu of the Google Cloud Console.

Follow these steps from this link:

2. Create Spring boot application :

https://start.spring.io/

Dependencies: Spring Web, and Spring Boot DevTools.


1. What is a keycloak?

Keycloak it’s an open-source Identity and Access Management. This means he manages security from all its aspects. It is really a powerful tool, and I enjoyed using it.

2. Install keycloak:

There are many ways to install keycloak (docker image, standalone server, or helm chart….). In our case, we will use the standalone server.

https://www.keycloak.org/downloads

Hamdi Bouallegue

I'm Hamdi, a software engineer 👨‍💻, and writer 📝

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