API automation with DreamFactory

This first blog post is dedicated to an awesome free open source API platform, which turns your data sources like databases, file storage etc. into REST APIs. I will be using this platform in future blog posts when I find it useful, but it’s also kind of a shameless plug. I worked on this platform as a developer for 2 years as a developer, so I’m a bit biased.

What is DreamFactory
DreamFactory is as described a platform, which can turn data sources into useful REST APIs. Let’s say you have a new or an existing database, or maybe a S3 file storage, and you want to consume these sources in your application as an API, then DreamFactory is your friend. Or if you want to focus on your mobile app or frontend web application, instead of doing a lot of backend coding, then you will find DreamFactory very useful too.

Why I love it
First of all its free and open source. You can install it where ever you want. On your computer, on your own server, on AWS, Google Cloud etc. There are a lot of API platforms out there, but most of them are subscription based, and the data is stored on the vendor’s servers. With DreamFactory your data is where you want it.

A wide range of data sources are supported, some requires a subsscription, but the most common ones like MySQL, MongoDB, Amazon S3 storage and more doesn’t require any subscription — they are free and included for free.

You can use DreamFactory as the backend for your mobile or web application. You get database access, file system, user authentication and -roles, email services and much more provided as REST APIs.

You can write scrips in JavaScript, PHP and Python and either run them as services or as event scripts. The server site scripting capablility is really a powerful feature, and the more you play with it, the more you discover the power of this feature. I recently wrote a blog post about combining a legacy MySQL database and a new MongoDB database through scripting, and the result was a new set of APIs which did the dirty work of working with data from both databases at the same time for you, through scripting. Read the post here.

Try it out!
It’s very easy to get started using DreamFactory. There’s a step-by-step installation document, and there are a Bitnami package, Docker container etc. for automated installation available. And if you just want to try it before installing it, you can create an account on DreamFactory’s server (hosted solution) for free. I don’t recommend the hosted solution for production, but it will get you up and running in seconds, in case you want to try it before installing it on your own environment.