TUTORIAL - Create a Crypto Coin Comparison Bot - BASIC - Part 1
What Will I Learn?
Welcome to my tutorial series where we will develop the CryptoCompare Bot! CryptoCompare is a automatically (steemit-) posting bot which delivers great comparison tables, like coinmarketcap has.
We want to focus in this part about setting up our project, creating our project structure and making a plan how we want to develop.
But first let's discuss CryptoCompare's features, so you guys have an overview about this series:
CryptoCompare get the latest coin statistics (Top 10) from coinmarketcap's API and will create a .html file using HTML Templates. The generated .html file will look like coinmarketcap and uses bootstrap for layout (1.). CryptoCompare will then take a webshot of the created .html file to convert it into an image (2.), after that we want to upload this image to an online hosting service (3.) and finally create an automatic steemit post using a markdown template file (4.).
As you can see we will develop in following milestones:
1. -> 2. -> 3. -> 4.
Requirements
- A TextEditor (e.g Atom.io)
- NodeJS (Click here)
- A Browser (e.g Chrome)
Difficulty
- Basic
Tutorial Contents
Setup
CryptoCompare is a bigger project and therefor we should have a correct plan how to structure our project. Also we should keep in mind which technologies we want to use for what purpose. Because we want to create a JavaScript Bot, NodeJS is a great go!
Installing NodeJS & Setup
As mentioned in the requirements you should have installed nodejs on your operating system. Also it is important to have a console where nodejs is running. Try node -v to see if nodejs is installed an running.
What is nodejs?
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine
The next step is to install node packages we know, we will use for our project. We know we want to post to Steemit in Milestone 4., we know we want to use a REST API (in next tutorials more to REST) and we know we want to use bootstrap. This means we can already install SteemJS, Request(To make HTTP Requests) and Bootstrap via NodeJS.
We will use NPM for installing. NPM means Node Package Manager and is a tool to easily install nodejs packages.
Run npm init to create a package.json. Now run following commands to install the packages:
npm install bootstrap --savenpm install steem --savenpm install request --save
Creating the project structure
As said CryptoCompare is a bigger project, so we need to have an organized project structure which we though of BEFORE developing. Basically we need 4 folder in our project:
- css (For styling)
- libs (Network requests, or other stuff)
- out (The created .html file)
- templates
Also to use nodejs we need an entry point for our bot, we call it index.js and create in the root directory of the project.
Okay to test if node works correctly with our project, you guys can create a index.js with the content
console.log('Hello World');
And then run node index.js inside your console.

Mindmapping technologies
We have created folders and the setup for our project. Next we will take a short look at possible technologies we could make use off. We need something for HTML Templates, a image hosting service and a webshot Library:
- HTML Templates: Possible candidats are mustache.js or handlebars.js or doT.js - The most popular one is mustache.js, within a quick googling I found out that you can easily read local template files. So we will stick to that!
- Image Hosting: We will probably use Spee.ch for that and use the LBRY Blockchain to host the images decentralized
- Webshot: We will use Node Webshot for this purpose. With it we can make a screenshot of a html file
GitHub Project
If something is unclear or you don't know how to code, check out the corresponding github project.
Curriculum
This is the first part :)
Posted on Utopian.io - Rewarding Open Source Contributors

Your contribution cannot be approved because it does not follow the Utopian Rules.
Hi, this is the reason your contribution was rejected
I know this is the first part of your series, but it's really trivial. It basically boils down to how to install
bootstrap,steemandrequestand how to create the project structure. All the other stuff can't really be considered part of the tutorial; discussing its features and looking at technologies you can use doesn't actually teach anything about the open-source project itself.You can contact us on Discord.
[utopian-moderator]
Oh I am sorry,
I thought it would count because planning and structuring is important for developing too. Maybe I wrote it not good enough...
Anyway thanks for reviewing it :) My next contribution will teach stuff again !