Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/HathTech/shoppers

Flutter E-Commerce App using Firebase, Razorpay and Stripe
https://github.com/HathTech/shoppers

firebase flutter-apps flutter-demo flutter-ecommerce flutter-examples flutter-firebase flutter-firebase-auth flutter-firebase-ecommerce notification razorpay shoppers

Last synced: about 2 months ago
JSON representation

Flutter E-Commerce App using Firebase, Razorpay and Stripe

Awesome Lists containing this project

README

        

### Flutter E-Commerce App using Firebase, Razorpay and Stripe

![Shoppers](https://i.imgur.com/c8Ghzt7.png)

## Try it before you buy it - https://drive.google.com/file/d/1AJ-1ni4x1a6tARo6n4-OHLCd2aq5QmHF/view?usp=sharing

## If you haven't purchased then please buy it now - https://1.envato.market/07QmM

## Join Our Slack and Github if you have purchased the product
- Send your purchase code screenshot on [email protected]
- Join whatsapp group - https://chat.whatsapp.com/HehlyYbh9wm1W6YNVlceTP

### Introduction

Shoppers is an eCommerce app inspired by Flutter framerwork, made by Google. With the mission of reducing 100+ hours of business spent on designing, developing and testing a mobile app, Shoppers comes as a complete solution for optimizing to deliver your app to the market with high productivity and cost-efficiency. It could be able to satisfy all of the business requirements including e-commerce functionalities, impressive UX design and smooth performance on both iOS and Android devices.
The download package is included the full source code and many related resources (designs, documents, videos…) that help you install in the smoothest way.

Either you are business people with raising sale ambition or developers with faster mobile application creation need, Shoppers provides you solutions. Faster- Smoother- Closer.

## Features

- Easy to use.
- Sign In and Sign Up with Email
- Sign In with Facebook
- Sign In with Google
- Flutter firebase phone authentication (Test: +919852954321, CODE: 333333)
- Push notification
- Clean Code And Well Documented.
- Bloc pattern
- Custom Carousel Slider
- Easy setup
- Form Validation
- Change app icon easily
- Onboarding screens
- Admin dashboard
- Role management
- Stripe payment gateway
- Razorpay payment gateway
- Full e-commerce features – Dynamic Product variants, checkout process, order tracking, order notes, wishlist, manage address.
- Great UX design multi-level categories, quick product filter, super smooth checkout flow, searching keyword history…

- Flexible Design System – easy to config the logo and style.

- Powerful User Setting – the ability to enable the push notification, view wishlist, order history.

- Push notification
- Offline Images Caching – speed up the loading performance with caching image offline method.
- Realtime
- 60 frames per second (fps) app – working really well on both iOS and Android with support with

### What will you get?
- Full Dart source code
- Free version upgrade
- Free Video tourtial, please [subscribe](https://www.youtube.com/channel/UC-_pVFNRfGQBGC5P63V_ABQ)

## Thank You

Thank you for purchasing Shoppers – **Flutter E-Commerce App using Firebase and Stripe**. If you have any questions that are beyond the scope of this help file, please feel free to create an issue here. Thanks so much!

## Watch [Youtube Documentation](https://www.youtube.com/watch?v=KfQxmb_tE_s&feature=youtu.be)

## Installation

We believe you have installed flutter in your system if not then install [flutter](https://flutter.dev/docs/get-started/install)

#### Use stable version of flutter.
```
flutter channel stable
flutter upgrade
```

### Quickstart

```bash
flutter run
```

## Customization

### 1. App name/icon, Bundle ID

#### 1.1 Change the app name:

**IOS app:**

- Open ios/Runnder/Info.plist and replace the Shoppers by your App Name
```
CFBundleDisplayName
your-preffered-name
```

- Make sure to clean up the cache by running following scipt to clean the previous cache
```
flutter clean
flutter build ios
```

> It's possible to change via XCode - https://i.imgur.com/HQCNxUT.png The facebook app name and App ID could be change from this file as well

**Android app:**

- open android/app/main/res/values/strings.xml and replace Shoppers by your app name:

`Shoppers`
- Open android/app/src/main/AndroidManifes.xml and replace Shoppers by your app name:

` If isImage true then add image URL, Also make isAsset true if you have kept your image in Asset File.
};
```

## 3. App Main Color
Open lib/utils/config.dart and change the app main color.

```
const Settings = {
"Setting": {"MainColor": "#3a4660"}
};
```
## 4. Default Font and Header Font

Open pubspec.yaml and replace with your new font file that already copied to the asset folder:

```
fonts:
- family: Fashion
fonts:
- asset: assets/Fashion.ttf
```
> **Coding Gruide:** go to the utils/styles.dart and change to new fontFamily. Make sure the spacing align correctly.

## 5. Default Country Code, symbol
Open utils/tools.dart file and update the menu section

```defaultCurrency = {
"symbol": "\$",
"decimalDigits":2
};
```

### Firebase configuration
- Create a firebase project

- iOS

- Create an iOS app in the firebase console.
- Download the Googleservice-info.plist file
- Replace the file in "ios/Runner"
- Android
- Create an Android app in the firebase console.
- Download the google-services.json file
- Replace the file in "android/app"

## Add this to firestore security rules
```
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth.uid != null;
}
}
}
```

##### When you run your app you might get an error containing "google secure content" replace the out error in info.plist file in "ios/Runner/info.plist"

Run the project.
- Don't forget to enable email and Gmail authentication and enable firestore database.

#### Facebook configuration

- Create a [facebook app](https://developer.facebook.com)
- Enable facebook authentication in firebase
- Don't forget to enable email and Gmail authentication.
- Follow the facebook installation process on their website.
- Change the facebook app id in Android-manifest.xml and info.plist

### Push notification
- User will be asked to allow push notification in iOS, in android it is allowed by default.
- Token will be saved in user/user-id/tokens collection.
- To test push notification open tab cloud messaging in firebase console.
- Select the token from the above collection
- Add the title and message and send it.

### Change app icon
open pubspec.yml
```
flutter_icons:
android: "launcher_icon"
ios: true
image_path: "assets/icon/icon.png"

change the image_path to match your own

flutter pub get
flutter pub run flutter_launcher_icons:main

```

### Onboarding screens
- Open lib/screens/intro.dart
- Change the color, text, and images to match yours.

## Firebase functions code base.
- Intall firebase cli on your system. Guide - https://firebase.google.com/docs/cli

### 1. Change the default project to your project name
open .firebaserc file. It's in backend project
```
{
"projects": {
"default": ""
}
}
```
> you will get project id from firebase console. Also make sure you login with the same credentials that you have access to firebase project.

### 2. Change stripe and Razorpay key

```
{
"stripe": {
"token": "sk_test_***"
}
}

firebase functions:config:set stripe.token=sk_test_**
firebase functions:config:set rzp.key_id= rzp.secre=

```

### 3. Deploy the functions

- **Use node version 8.x.x**

``` firebase deploy --only functions ```

## Role management
- open firebase console
- go to the firestore
- find the user you want to make admin and the change the role to admin

- Note: This is a one time process. Once you are admin, you can change role from app admin panel.

## Stripe

open lib/utils/config.dart and change

```
const StripeConfig = {
"publishableKey": "pk_test_*****",
"merchantId": "Test",
"androidPayMode": 'test',
"enabled": true,
};
```
## Razorpay

open lib/utils/config.dart and change

```
const RazorpayConfig = {
"keyId": "rzp_test_*****",
"callbackUrl": "http://example.com",
"paymentMethodId": "razorpay",
"enabled": false,
};
```

### Possible solution to problem you face with release apk

- https://stackoverflow.com/questions/36999751/google-signin-not-working-in-release-mode-apk-android

Once again, thank you so much for purchasing this item. As I said at the beginning, I'd be glad to help you if you have any questions relating to this. No guarantees, but I'll do my best to assist. If you have a more general question relating to the items on codecanyon, you might consider visiting the forums and asking your question in the "Item Discussion" section.