How I made my own saas cloud database platform ?
Tags: webdev, database, cloud, web
Published: 2023-08-26 16:06:33

Hello ! Today I will present the platform that I have developed allowing you to deploy databases in the cloud in a few clicks: [easy-database.com](https://easy-database.com)

## SUMMARY
### Who am I ?
### Why did I make this platform ?
### Available features
### Personnal feeling

---

### Who am I ?
I’ve been a full stack developer for about 5 years, passionate about web development and digital technologies.

I have already made various applications but I never went to the end. I am a specialist in starting projects and never finishing them. I always have lots of application ideas and each time I lose the motivation and the desire in the middle of the development phase. After reflection, I realized that if an idea is not 100% close to my heart, finishing the project will only be a banal illusion.

If I’m writing this article, it’s because I finally managed to find a project idea that I really like and that I want to see the light of day. Let me tell you how this project was born.

---

## Why did I make this platform ?
When you build a site and typically a web application, you are going to need to store data. These data are diverse and varied. For example, if you are making a cooking recipe app, you will need to store ingredients, recipes, kitchen utensils used, user accounts, etc.

Setting up a database is not always so simple. This implementation can sometimes take a long time if you don’t have the necessary skills and problems can arise if our database is misconfigured, which leads to a loss of motivation even before starting to develop the features of our app.

I remember during my first years of study in development that I really struggled to set up my first databases, it was quite annoying. But hey, every developer was a beginner one day and we all went through this box.

If I had this idea to develop a database deployment platform in 1 click, it is above all to make life easier for people who need a database quickly.

What could be more pleasant than clicking on a few buttons, configuring the performance and access of your database, clicking on a “Deploy” button and only needing to enter the correct identifiers to connect to an operational database?

This allows developers who do not yet know how to set up a database and do not wish to learn how to start developing a web application as quickly as possible. It also makes the most lazy among us happy.

---

**Available features**
During the design phase of the application, I listed the features that I think are necessary for the platform.

First, users must be able to have a modular configuration according to their needs when they want to create a new database.

**Configuration**

***Performance***

When creating a database, it is possible to choose from 4 types of performance :

- The **Starter** offer is the cheapest. It provides 1 CPU, 1 GB of RAM and 2 GB of storage.
- The **Starter Plus** offer is slightly more powerful than the first offer. It provides 1 CPU, 2 GB of RAM and 4 GB of storage.
- The **Balanced offer** provides 2 CPUs, 2 GB of RAM and 8 GB of storage.
- The last is the **Balanced Plus** offer which allows you to have 2 CPUs, 4GB of RAM and 16 GB of storage.

***Features***

When configuring a database, users can choose the option to have a web administration interface already configured, such as phpMyAdmin.

***Automated backups***

Depending on user needs, several automated backup options are available. They can choose between not having automated backups and 3 different automated backup periods: Monthly, Every 15 days or every week.

***Billing period***

I thought that choosing your subscription period could be a nice feature. Users will therefore be able to choose between 5 billing periods, weekly, monthly, quarterly, semi-annually or annually.

***Database access***

The last configuration part is database credentials. We can then configure a project name (used only within the application), a name for our database, a user and a password. For the more lazy, a small “Generate randomly” button allows you to configure access automatically.

---

**Features when the database is ready**

This is what the application dashboard looks like.

**Dashboard**

![dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8bdjxp2on4falion7c7l.png)
Here, we have access to all of our databases. This allows us to have an overview of our database

**Database details**

_General tab_


![general tab](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/abacmccoh7r3ybq12y87.png)

We can see above what the detailed view of a database looks like. In the general tab, we find the status, the related offer, the database engine used, the region where it is located as well as the associated functionalities and performance. A cool feature is real-time metrics. This allows us to see if our database is suffering or if it is doing wonderfully.

_Access tab_


![access tab](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x1qlymc1edbis85kdhvv.png)

This part allows us to have access to our identifiers. It contains the host to use, the name of the database as well as the user account and the port. For those who have chosen the option of having a web interface, they can access it in 1 click.*

_Backups_


![backup tab](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5d5nztqj6804menhl0jb.png)

This tab allows you to manage the backups of your database. There is a list of available backups. You can make a manual backup if necessary, download a backup, restore the database from a specific backup or simply delete a backup.

_Invoices_


![invoice tab](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/27bnvuvvprwbzro4x1wn.png)

Here we find the list of invoices linked to our database. This makes it easy to know what you have paid.

_Settings_


![settings tab](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/me7ypb4wp2k0za9dyyk3.png)

The last tab allow users to update the database password in few clicks.

### Personal feeling

Seeing the number of features to manage, we could quickly be demoralized by the ton of work to be done so that the application is functional.

To be transparent with you, I had some moments of weakness during the development of the application. Realizing an application alone is very difficult mentally, especially when you have to get started after having already worked 8 hours at your job. It’s very difficult to dive back into the code in the evenings and on the weekends and to face the problems alone.

I had to completely change my mentality towards this project. Indeed, if we think only of the quantity of remaining functionalities to be implemented, this is demoralizing, especially when it is necessary to manage the Front part, the API, the deployment of the databases and the management.

So I set myself small goals. It is in progress step by step that we realize that our application is taking shape. You don’t have to rush. With time and many small steps, one day we turn around and we realize that we have already traveled miles.

The fact that this platform was able to see the light of day was very comforting. I’m very happy and hope it will make life easier for many developers.

If you have any questions, suggestions or encounter problems, do not hesitate to contact me at this email address: contact@easy-database.com.

I will do my best to help you.

Thanks for reading✌️