Building Cryptocurrency Pricing App with Flutter: Flutter allows you to build beautiful native apps on iOS and Android from a single codebase. In this post, I am going to share how to a crypto or cryptocurrency pricing app using Flutter.
The app we are going to build today is simple, but we will be touching on several topics which are important to understand while developing any Flutter app.
Following is the step by instruction to build a cryptocurrency pricing app using Flutter with source code.
Table of Contents
- Create a New Flutter Project
- How to Get Cryptocurrency Prices
- Flutter Project Structure for Building Crypto Price App
- How to Avoid Sharing My API Keys or User Credentials to GitHub
- Create Your Screen to Display Crypto Prices
- Fetch Data from CoinAPI
Create a New Flutter Project
Firstly, let us create a new Flutter app. I have shared step-by-step ways to create a new Flutter app using CLI or an IDE. If you are not sure how to do it, click here to refer to my earlier post.
flutter create your_app_name
After creating your new project, open your new project using your best IDE.
How to Get Cryptocurrency Prices
There are many sources from which you can get cryptocurrency prices for your Flutter application. In this post, I will share how to use CoinAPI‘s REST API.
To use CoinAPI‘s REST API, you will have to generate an API key. You can generate a free API key using your valid email address from their website.
After you get the API key from CoinAPI.io, keep it safe. We will need it for our project.
Flutter Project Structure for Building Crypto Price App
Here is a screenshot of the project structure that I have created for this post.
As it is deducible from the file names:
price_screen.dart contains the code for displaying the prices.
coin_data.dart: The logic for pulling data from the remote API.
coin_api.dart: Contains the REST API URL and API key.
How to Avoid Sharing My API Keys or User Credentials to GitHub
If you are wondering how to avoid sharing your API keys or any user credentials, the simple and practical way is to create an example page and ignore the real page from pushing it to the remote git like GitHub.
Therefore, as shown in the project structure screenshot above, I have created
coin_api_example.dart to show how the content of
coin_api.dart looks like without having to expose my private API keys.
How to Ignore
coin_api.dart from pushing it into remote Git
.gitignore file and add the following line:
You can find
.gitignore in the root of your project directory. It lists all the files and directories which are not necessary to be pushed into remote git like GitHub.
If you don’t find it, create the file in the root of your project directory and copy-paste the line shown above.
Create Your Screen to Display Crypto Prices
Design your screen to display the crypto prices in the
price_screen.dart. For this post’s purpose, I have created a simple page in which you can find the source code here or you can clone the whole from my GitHub repository.
Fetch Data from CoinAPI
To be able to fetch data from CoinAPI or any other REST API, you will have to install
http package in your project.
To install the
http package, add it to the dependencies section of the
pubspec.yaml file. You can find the latest version of the
http package the pub.dev.
dependencies: http: <latest_version>
To explore further, follow the
Flutter.dev‘s official cookbook on how to fetch data from the internet.
To make things easier for you to check how it works, I have shared my project on my GitHub. Click here to get to my GitHub repository. Clone the project and run it on your machine.
I know there is much room for improvement in the codebase. If you have anything to add to the project, your contribution will be appreciated.