Building A NodeJS Crypto Portfolio Tracker Using The Crowdbotics App Builder

How I built and launched a Crypto Portfolio tracker app with the Crowdbotics NodeJS scaffold in an afternoon.

Gaurav Agrawal
Crowdbotics
6 min readJan 9, 2019

--

I recently contributed a few tech tutorials to Crowdbotics. Crowdbotics has an awesome team that really knows how to automate software development and project management. Recently, CrowdboticsWilliam Wickey told me about their Beta Application Builder, so I decided to give it try.

I was amazed by the functionality of the Beta Builder and the way they are helping automate the whole development cycle of an application.

What the heck is the Crowdbotics Platform?

Crowdbotics is a platform to develop and manage scalable applications super quickly with lowest cost. (Or for free, as in the case of the Crowdbotics Application Builder)

Put simply, the Crowdbotics platform takes you from Zero to One in application development. You can scaffold, deploy, and scale your application all on your own, or, if you need, you can add Crowdbotics certified developers to turn your ideas and specs into working code

Crowdbotics automates your project set up by providing below things.

Scaffolding — CB platform has a bunch of scaffolding templates available to get started with your development. You can also choose your stack. These boilerplates are very helpful as they have all the redundant code you need to set up a project. You can just start coding your core part of the application.

You can also choose from many templates and build different types of apps ranging from web, mobile, voice or blockchain.

Crowdbotics Scaffold stack

Source code Management — Once you choose your template, CB platform will create a GitHub repo for it and add you as a contributor. (You need to add your GitHub account first from the dashboard first).

Project Management — CB platform also takes care of how you manage your project by creating a Trello board for your project with pre-loaded development steps. Isn’t is awesome. In the future, they will provide more options to choose your own management tools. But Trello is a solid awesome choice to start with.

Project Deployment — CB platform also able to deploy your apps on Heroku just click on a button and also provide commands if you choose to deploy yourself.

On-Demand Tech Team —CB already developed software for many startups and enterprises. They have a pool of experts which always ready to provide their service on-demand basis. So, if you need to add paid developers to your project, you can do so right within the app

Why use Crowdbotics platform?

I asked this question on the CB platform discussion board and Crowdbotics’ William Wickey answered it beautifully.

“15 years ago, you had to pay teams of developers to build and update simple websites. Now, anyone can build a website by assembling scalable parts.

Today, it still takes significant time, money, and developer bandwidth, etc. to build more complex web applications.

The vision for Crowdbotics is to make it easy for businesses and individuals to build web applications quickly and affordably from scalable parts.”

another Crowdbotics member Andre Machado replied —

“In my vision, what Crowdbotics can also do is to provide this for anyone who wishes or dreams to build a software or a tech company/startup with minimum effort.”

And that's really the crux of what Crowdbotics is trying to do. Crowdbotics is providing on-demand components — including infrastructure, implementation, maintenance, operations, monitoring, security and team members — for you to build your application. It’s kind of like AWS for engineering. (There’s obviously more work to be done to get to that point, but in my opinion, Crowdbotics is already taking a big step in that direction.)

Crowdbotics is for person or business that that wants to build internet-connected applications.

Crypto Portfolio App

I am fully hooked with crypto and I also own some crypto on different exchanges. To track my portfolio, I need to go to exchanges and check how my portfolio is doing. To solve this I made my own portfolio tracking app.

Our crypto portfolio app will track Bitcoin and ethereum portfolio real time. You can try out the app here.

portfolio dashboard

You need to sign-up and just add coins with buying price and quantity. Then you can see where your portfolio stands. Currently, we have only two coins Bitcoin and ethereum (Yes !! I am sort of Bitcoin maximalist).

Features

  • Tracking personal portfolio
  • Monitoring current price
Monitoring Prices using crypto compare widgets

Building with CB platform

There are multiple scaffold templates you can choose with Crowdbotics. I built this app using Nodejs template. I got the scaffold code which already had below boilerplate.

  • Node + Express + react
  • Config + environment management
  • Login boilerplate (with passport)
  • Apis boilerplate
  • Database boilerplate (using Sequelize)
  • Webpack and babel
  • Email server setup to send mails

What else you need in your life? 😃. The extra thing which I added was a cron job, everything was provided by the Nodejs template.

Crypto portfolio app development

I used bootstrap and simple NodeJS for our Crypto portfolio app. We have used Postgres database and crypto compare widgets.

Portfolio tracking

For portfolio tracking, we have below components.

  • Portfolio UI
  • Real-time price update
  • Database for portfolio persistence

Portfolio UI

We have used bootstrap, and all the portfolio calculation is happening on the front end. CB platform provides full react boilerplate (You can use that for a project like this). CB platform will add more scaffolds all the time. (Since I started this project, Crowdbotics added scaffolds for Django, Node, Rails, React, React Native, Ethereum/Solidity, Unity, ARKit, and Chrome Extensions)

Tech components

Real-time price update

We need real-time prices of cryptocurrencies, so we can calculate portfolio standing. We are using crypto compare APIs to get real-time crypto prices. We are running a Cron job which updates price every minute in the DB.

Tech component

  • Nodejs Cron Job
  • Postgres Database

Database for portfolio persistence

We need to persist in all the information, so when user come back, we can show his/her portfolio. We are using Postgres for that, we will be persisting user and portfolio information.

Tech component

As you can see, a lot of boilerplate was already provided by the CB Nodejs scaffold.

Why you should use Crowdbotics?

There are multiple reasons, why you’ll want to use CB platform.

  • As a developer, you will find scaffolding templates and Heroku deployment time-saving and efficient.
  • As a Maker or builder, who don’t have technical skills, you can use Crowdbotics as your tech team.
  • As a tech business with a product, you can use Crowdbotics experience to add new features or scale your application.

Conclusion

Building a NodeJS application with CB platform was fun and efficient. Scaffolding saved me time and I was able to focus on my core part of the application rather solving login and database setup errors.

You can think of CB platform as Wix or Squarespace for building web and mobile applications. Using CB makes easier to get started with your project for developers and makers. If you are building a business you should look into the CB platform.

Build and deploy and app the Crowdbotics Beta Application Builder here for free. I recommend giving it a try.

If you have questions or feedback on the Crypto Portfolio tracker, drop them in the comments or join the thread for this project on the Crowdbotics discussion board. Thanks!

--

--