Amr Khaled

Amr Khaled

I’m a software engineer who is passionate about software architecture and design. Enjoy coding in Java, Scala, and JavaScript.

How does it work?
  • Amr Khaled
    Published 4 months ago
    Spring Boot Two-Factor Authentication

    Spring Boot Two-Factor Authentication

    A few days ago I wrote a story on JWT and social authentication using Spring Boot, check it out if you haven't yet. This story is an extension to the above story, which, we will add a two-factor authentication.
  • Amr Khaled
    Published 5 months ago
    Microservices in Practice: Developing Instagram Clone

    Microservices in Practice: Developing Instagram Clone

    Token based authentication In Monolithic applications, a user provides username and password, the security module validates user credentials and create a session for the user. A session Id is returned to the client and the client stores the session Id in cookies and send it with each request as an identifier for the user.
  • Amr Khaled
    Published 5 months ago
    CI/CD Using GitHub Actions

    CI/CD Using GitHub Actions

    GitHub Action is a task you want to achieve at a certain event. For example, on Push to a master event, you want to build, run tests, create a docker image, push to docker hub, and deploy to Kubernetes.
  • Amr Khaled
    Published 5 months ago
    How To Turn Your Idea Into Startup

    How To Turn Your Idea Into Startup

    You are relaxing on the couch after a long day struggling with transportation, and you know that there are a lot of people who share the same struggle.
  • Amr Khaled
    Published 5 months ago
    JWT and Social Authentication

    JWT and Social Authentication

    This article is a guide on how to implement JSON Web Token (JWT) authentication and integrate it with Facebook authentication using Spring Boot and Facebook Graph API.
  • Amr Khaled
    Published 5 months ago
    Building Scalable Facebook-Like Notifications

    Building Scalable Facebook-Like Notifications

    Sometimes we want the server to notify the client on changes. This is something that is not possible in traditional HTTP web applications. In traditional web applications, the client has to establish a connection with the server and then waits for the response from the server. This is the problem that server-sent event is solving. The Idea behind server-sent event (SEE) is the client subscribes to stream of updates generated by the server and, a notification is sent to the client, whenever a new event occurs.