One very important part of software development is test automation since it creates an automatic process for one or multiple types of tests to run without the need for manual intervention.
One of my favorite tools for automating my tests when working on a JavaScript/TypeScript codebase is Jest, since it allows me to easily create tests and iterate over them while developing. Its simplicity makes it a very good tool to develop using TDD.
In this article, I’ll make a brief introduction to Jest, explain the main reasons that make Jest a great testing tool and go through some examples.
…
In this article, we will build a React component for an animated vertical timeline. The idea is to create a vertical timeline that animates its items when the user scrolls up and down.
To bootstrap this idea we will use the tool create-react-app
to create the React application and give us all the sweet functionality we need to prototype the timeline.
The animations are done using GreenSock (GSAP) and each item will have its own sub-elements animated.
This article came to my mind as I wanted to start using Terraform (from HashiCorp) as a tool to handle infrastructure as code, so I decided to write a simple start guide/tutorial for setting up a Terraform project using AWS (Amazon Web Services) as the cloud provider.
After the infrastructure is up and running, we will use Terraform with Graphviz to have a graphical visualization of the infrastructure.
Let’s start with a bit of context on Terraform.
Terraform is a tool that allows you to treat your infrastructure as code. This means you can create a set of definition files…
I just have to put this one into words so it will be short and sweet… I hope.
I bet you were already in a meeting where slides were packed with acronyms, they were everywhere, in the text, in the diagrams, and every time somebody speaks… there you go, acronyms flying over from their speech. Acronyms everywhere!
I think it’s time to stop and give a bit of a tough about this because the problem isn’t in the acronyms, the problem is in the way we use them.
When we are writing a text, a good practice on how to…
In this article, we will use Apollo federation to build a single data graph across multiple services.
Each service will have a unique schema that relates to its own domain and there will be a gateway that will be responsible for composing the distinct schemas into a federated data graph and by executing the queries against the multiple services.
In this article, we will use GraphQL subscriptions to create a ToDo list that notifies its users in real-time when something in the list changes.
We will use Apollo Server as the GraphQL server with TypeScript as the programming language, Node.js as runtime, and for the subscriptions, the built-in mechanism provided by the Apollo Server.
To start let’s have a look at the concept of subscription according to the Apollo Server documentation,
Subscriptions are GraphQL operations that watch events emitted from Apollo Server. The native Apollo Server supports GraphQL subscriptions without additional configuration. …
In this article, we will build a simple ToDo list using Apollo Server as the GraphQL server, TypeScript as the programming language, and Node.js as runtime. A simple example to show the potential of GraphQL.
For those who are not so familiar with GraphQL or are just giving their first steps into this technology, let’s understand what does it stand for.
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly…
In this article, we will create a simple and comprehensive way of logging our application behavior and data by using text styling and emojis in TypeScript and Node.js.
This article came from the need I had when building a script that would fetch the status of users from a database and create a simple report with the returned status in the console.
Software development is a way to build experiences for end-users and sometimes we as software engineers are our own end users. …
In this article we will create a simple consumer and producer to interact with the Kafka platform, but before we start to write code and dive into exchanging messages let’s have a brief introduction to Kafka.
For this introduction, I will use as the main source of reference the Kafka official documentation to pick some of the concepts we will be using in this article if you want to get more details regarding Kafka you can go through the website intro and technical documentation. Let’s start!
Kafka is an open-source distributed streaming platform. But what does that mean concretely?
Technically…
Asynchronous messaging is a mechanism that allows systems to communicate using messages and without having an immediate response. The messages are published by one system into a queue and then consumed, from the same queue, by another system later in time. The message broker is responsible for the queue and by implementing the messaging protocol.
Message brokers allow distributed applications to become more resilient so that when a request is made to our application backend, and for some reason, it fails to be attended, we can guarantee that it’s not lost forever and that we can re-process it when possible…
Software engineer driven by curiosity 🚀 writing about software development and tech ✏️