Build a Flutter E-commerce App using Contentstack's Dart SDK
This demo Flutter E-commerce app is built using Contentstack's Dart SDK. It uses Contentstack to store and deliver the content of the e-commerce app.
Here's a quick guide on how to create a Flutter e-commerce app using Contentstack's Dart SDK.
Install Flutter Using VS Code
- Open VS Code and select Extensions from the left navigation panel.
- Then, in the Search Extensions in Marketplace search box, type Flutter. From the quick results, click on Flutter.
- From the Flutter details page, click on Install.
- Press Ctrl + Shift + P on Windows and Cmd + Shift + P on macOS.
- Type flutter and select Flutter: New Project.
- If the Flutter SDK is not installed on your machine, it will ask you to Download SDK. Click on it and from the pop-up that opens, click on Open.
- It will take you the Flutter install page. Select as per your OS and the download will begin.
- Once it is installed, you can follow steps 4 and 5 and create a new Flutter project.
We will first go through the steps involved in configuring Contentstack and then look at the steps required to customize and use the presentation layer.
Create a Stack
Log in to your Contentstack account, and create a new stack. This stack will hold all the data, specific to your website. Learn more on how to create a stack.
Add a Publishing Environment
To add an environment in Contentstack, navigate to Settings -> Environment, and click on the + New Environment tab. Provide a suitable name for your environment, say staging. Specify the base URL (e.g., http://YourDomainName.com), and select the language (e.g., English - United States). Then, click on Save. Read more about environments.
Import Content Types
A content type is like the structure or blueprint of a page or a section of your web or mobile property. Read more about Content Types.
For this website, we have already created content types. You simply need to import them to your stack. (You can also create your own content types. Learn how to do this).
To import the content types, first save the zipped folder of the JSON files given below on your local machine. Extract the files from the folder. Then, go to your stack in Contentstack. The next screen prompts you to either create a new content type or import one into your stack. Click the Import link, and select the JSON file saved on your machine.
Now that all the content types are ready, let's add some content for your e-commerce app.
With this step, you have created sample data for your website. Now, it’s time to use and configure the presentation layer.
Clone and Configure the App
To get your app up and running quickly, we have created a sample app for this project. You need to download it and change the configuration. Download the app using the command given below:
$ git clone https://github.com/contentstack/contentstack-flutter-ecommerce-app.git
Once you have downloaded the project, unzip it, and add your Contentstack API Key, Delivery Token, and Environment to the project during the SDK initialization step. (Learn how to find your Stack's API Key and Delivery Token. Read more about Environments.)
import 'package:contentstack/contentstack.dart' as contentstack; final stack = contentstack.Stack(apiKey, deliveryToken, environment);
This will initiate your project.
Set up Android Studio and Initialize Dart SDK
To set up Android Studio and initialize Dart SDK, refer to our documentation here.
Build and Run your E-commerce App
Now that we have a working project, you can build and run it. Open Android Studio and click on File. Then, select Open and an Open File or Project window will pop. Select your project that you just downloaded and click on OK.
- In your Android Studio IDE, select your device from the Target selector and click on the green Run icon to run the app.
- If you can't see the device listed in the Target Selector, go to the Tools option and select AVD Manager. You'll see a virtual device listed there.
- Click on the Run icon in the device select toolbar, or invoke the menu item Run.
To run your app on VS Code, open it and run the following command for the iOS simulator in the terminal, if you are using a Mac machine:
open -a Simulator.appOn a Mac machine for the Android emulator, run the following command:
emulator -list-avds emulator -avd emulator_id