Why not Heroku?
A low cost alternative
First, We need to talk about Heroku…
What is Heroku?
Heroku is a kind of repository but not at all, You can commit your code to it, but then, You will can’t see it. Because of that I said is a KIND of repository…
I suppose, at least one time, You tried to run your webapp in a gitlab/github page, and if You did it, You realize that is impossible, because those pages can’t run NPM commands.
Well, Heroku offers You the possibility to do that, and here We will know how work with it, and which are the best plugins to make a professional webapp without expense money (or minimum possible).
Before starting talk about how to publish your app without expend money, I wanna tell you about add-ons on Heroku
What is an add-on?
An add-on is like a plugin, You will can install a lot of its on your application to improve it.
For example, if You wanna use a mongodb database, You can install an add-on to connect your heroku application with a database.
The best part of this is that add-ons are already running on differents servers, and you can access to it with a free plan and if You need more resources like ram, space, or anything, You can pay a low price to upgrade it. But if your application is simple, or is starting, You can get it running pretty cheaper.

After that introduction to Heroku, We can proceed to my experience working on Heroku and publishing one webapp without paying anything except a dns because It was for a client.
I will suggest you a list of add-ons that were too util when I was working on this application.

I think the most important feature that add-ons has got is the possibility to link two projects in same add-on, I mean, if you have two applications in one, for example, an admin dashboard and a user dashboard separated, You can use same database. You only need to add the add-on on one application, and then connect to it from the other.

Redis
I decide to use a Redis cache because I need to save only one value, so, I prefer avoid configuration issues on a database.
So, I used Heroku Redis (all heroku <add-on> are easier to configure), with a Free Plan, because I didn’t need more spacing, and with the add-on You have the possibility to make a dump to avoid lose data against any issue.
You can simply install it with visual tool or by command prompt

I can suggest You Heroku Postgres if You need to use a database, because is an add-on by Heroku.
PointDNS
PointDNS is a simple configuration add-on where You can match your DNS with your Heroku application.
With the free plan You can match 12 records and believe me, that is a good number of records.
If You aren’t familiar with what is a record, basically is the match of your domain name with the real location of the application, in this case, Heroku.
So, It means that You will can set an email server or subdomains.

Zoho is not an add-on of Heroku, but I think could help you with your purpose of build a low cost application.
You can create your corporate email very easy, configuring your SPF, MX and TXT on PointDNS with information that Zoho provides you.

And this is totally free.
Continous Integration
I will call as CI from now, but this is not really continous integration. Anyway, you can configure a github repository and a folder to get your “production build” to be deployed when you commit to master.

Also, You have the option to make your deploys by manually, but I recommend you activate automatic deploys.
You can check your deployment activity on “Deploy” tab on your dasboard, so, if all was fine, You should see something like that

Don’t forget to check dynos.
Dynos are the commands You will run after your application is deployed, so, if you want to run an “npm start”, should activate it.

*On free Heroku, You only can run npm start.
— — — — —
After that, We already have our application running on our domain with corporate emails, a database and “continuos integration”. And the best part of that is We only paid for domain name (if You want).
To take into account…
First, this is not a tutorial, is just a simple guide to give You a north if You want to start an application and You don’t want to pay to get a server, or if You don’t know about Heroku.
Second, I really don’t recommend that for a client, unless He doesn’t had enough money to pay for premium plans or to keep a server on or His application/web will be too small and cost will not be justified.
Third and last, this is not a flowers way, You could have issues to configure some add-ons.
Conclusion
Heroku offers You a great solution to small apps/prototypes or low cost applications. It has everything that you need to make it works, and if You are not familiar with prompt, You can take advantage of its visual tools.
There are a lot of things that I don’t mention here, because are not part of the main topic, but You also have metrics and configurations that You can use too.
I really hope You found here util information for your next projects.






