Solving Uber's Technical Test

Solving Uber's Technical Test

I came across a coding challenge from Uber that used to be part of their selection process, and I decided to give it a try to practice my Java Spring Boot skills.

You can check out the challenge instructions here:

coding-challenge-tools/coding_challenge.md at master · uber-archive/coding-challenge-tools
Uber’s tools team coding challenge. Contribute to uber-archive/coding-challenge-tools development by creating an account on GitHub.

From the 4 options they have, I decided to do the Email Service, but I wanted to make things harder and I know that when registering on a website, for the verification, you can often choose to verify by email or by phone number.

So, I implemented not only an Email Sender, but also an SMS Sender. And here's the result:

GitHub - marcioflaviob/email-sms-sender: Email and SMS sender API
Email and SMS sender API. Contribute to marcioflaviob/email-sms-sender development by creating an account on GitHub.

According to the original coding challenge, the project uses abstraction to immediately use another Email Service provider in case the first one fails.
I also wrote some documentation on the README of the repository.

I learned a lot developing this project, it's always interesting to develop something that you can visualize the real use of it in a bigger project.