My first SaaS

As a professional webdeveloper I’ve created a lot of different applications for many different customers. Most of those applications had one thing in common, they needed to process data from external systems and perform some action of that data. This process mainly consists of importing the data, manipulating it and storing it before processing. It can be really tedious to build scripts to import, manipulate and store the data, that’s why I’ve been working on a SaaS application in my spare time to make this easier for other developers.

Continue Reading “My first SaaS”

Using the Pest testing framework in Symfony

Testing your code is very important as a software developer. It not only helps you prevent bugs when you’re adding or changing features, but a good test suite also gives you and your customers a lot of confidence in the stability of the product.

Testing in Symfony is fairly easy using the symfony/phpunit-bridge package. You’ll write classes containing your tests and run them, no problem. But creating the classes adds a lot of boilerplate code. What if I told you it’s possible to get rid of a lot of boilerplate code and have a nice and elegant way of writing your tests as if you’re writing an English sentence? This is where Pest comes in!

Continue Reading “Using the Pest testing framework in Symfony”

Integrating Keycloak with API Platform

Securing your API endpoints is very important to prevent unauthorized access to your systems. But how do you do this efficiently? Are you going to build a user management system from scratch? Let me introduce you to Keycloak and how to integrate it with API Platform.

What is Keycloak?

Keycloak is an open source server for identity and access management. It has a lot of awesome features which saves us, developers, from building user management tooling and login and registration systems.

Continue Reading “Integrating Keycloak with API Platform”

Adding functionality to the app (Part 6)

In the previous part we’ve created a basic mobile app using React Native and the Expo framework. We’ve added login functionality and setup the router for our app. In this part we’re going add a registration screen and handle user activation using deeplinks.

The user registration screen

Let’s start by creating a user registration screen. This will be a very basic form for this series with just 4 input fields and a button. We’ll need the user’s first name, last name, email address and a password for the account.

Continue Reading “Adding functionality to the app (Part 6)”