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…

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 :

Create hypermedia-driven REST web services with Spring Data REST

Photo by Douglas Lopes on Unsplash

What Is Spring Data Rest?

Spring Data REST is part of the umbrella Spring Data project and makes it easy to build hypermedia-driven REST web services on top of Spring Data repositories.

Create Spring boot application :

Generate a new spring boot application

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.

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.


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 :


Dependencies: Spring Web, and Spring Boot DevTools.

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