In this article, we will build together a single-page web application that allows the user to securely execute payments online.

We will offer a top-down explanation of the entire Stripe integration process, before deep-diving into the implementation details of the payment solution discussed. Our demo application will be written in React Typescript and Python Flask. Don’t worry if you are not familiar with the programming stack, the application will only contain basic features and functionalities, easily transposable to any other language.

Easily integrate payments in your web app with Stripe

Online payments, and FinTech in general, have become a crucial part of our lives. Recall the last time you…


In this article, we will demonstrate in a simple example how to accelerate web applications using Redis cache. We will start with a small introduction to Redis. Then, we will build a simple web application backend in Node.js to retrieve the number of Github repositories for a certain Github username. We will measure the API’s request-response time. After that, we will implement a Redis cache middleware to store the retrieved data and serve it to the user, and compare the request-response time to the previous implementation without Redis.

Web applications are becoming more and more complex. They now contain a…


In this article, we will deploy our React application to an Amazon Web Services Ubuntu machine using a single command. To be able to do this, we will write a shell script to connect with SSH to the remote host and copy the build version of our React application to the www directory of the server operating on the remote host.

Deploying on AWS can be a very daunting task, especially at the beginning of the career of a junior developer. The AWS web interface is not very intuitive at first and contains way too many configuration options which may…


In this article, we will explore ways to automate the configuration of our Cloud VM. Setting up our machine in the Cloud can quite be a pain in the ass, especially if it’s done manually. Today, we will see how we can use Ansible to automate the configuration process so that it can be done in a single command. This is going to be especially useful for developers who wish to automate their deployment process in order to accelerate shipping high-quality software.

Ansible - Automate Deployment on Cloud Nodes

Software engineers are nowadays adopting more agile methods for shipping software. The reason for that is the better…


In this article we will develop together a couple of simple functionalities with a test driven development mindset. This article will challenge the traditional ways we are used to while developing software. It will help us adopt another mindset by focusing on the path of least resistance to solving a given problem. Our solution will be guided by the tests we write and the desired functionalities. Moreover, we will tackle Mocking which is the method used to replicate some functionalities we do not want executed in a test such as writing to a file or connecting to a server.

Test Driven Development

Test-driven…


In this article, we will go through the development of a full stack java web application using the Spring framework: a very simple online bookstore. First of all, we will set up our development environment. Next, we will build our data model which is going to be used by Spring to generate our database. After that, we will implement a controller to retrieve our data from the database, and finally we will use Thymeleaf to format the data, and the built-in Tomcat server to serve the data to the client.

The Spring framework is widely used in industry to develop…


In this article, I will walk you through the most important things you should be aware of before studying engineering in France. Engineering in France is gaining exposure worldwide and I have been receiving many questions about the engineering education system which is very special and unique. I will be happy to answer your additional questions in the comments.

View of Mines Paris Engineering School from the Boulevard Saint-Michel at the Heart of the Quartier Latin in Paris

The higher education system in France is known to be one of the top in Europe and the world. Especially in the field of engineering, France is known to have a very special and unique system worldwide that is being replicated…


In this article, we will deep dive into JSON Web Tokens which are heavily used now to authenticate users in web applications or APIs. We will see how they’re built, what they contain, and how they are used in HTTP to provide security for both web applications and user data. We will finally compare the advantages of JSON Web Tokens with those of other authentication mechanisms like the use of session cookies.

JSON Web Tokens for Web Security

In the recent years, JSON Web Token authentication has become widespread in the world of web application. This is due to the rise of the REST architecture in…


In this article, we will deep dive into the new and growing world of decentralized finance. I will explain to you how decentralized exchanges work and how you can participate in them to earn passive income for the money you invest. I am not here to give you investment advice, I am here solely to break down what yield farming in decentralized exchanges is and what could be the risk associated with this type of return on your crypto assets. …


In this article we will look at the difference between using controlled or uncontrolled components in React both in theory and in practice. We will try to look at the benefits of using one against the other and the pitfalls that some beginners can fall into. If you are not familiar with React components, I advise you to take a look at the React official documentation and tutorials.

Not all uncontrolled things are cute

The debate about controlled and uncontrolled inputs in React can start very early on in the journey of new web developers. You might have encountered a lot of articles saying that one…

Simon Saliba

Software Engineer, Entrepreneur and Writer. MSc. @ Mines Paris. Passionate about web development and security. Sometimes try to maintain healthy habits.

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