Kiwi – Ionic 4 eCommerce with Angular Firebase CMS Review
Introduction:
Kiwi is an e-commerce app built on Ionic 4, with an admin panel designed using Angular. This comprehensive app is perfect for those looking to create a robust and user-friendly online store with ease. With its sleek design and high-quality interface, Kiwi is a great choice for entrepreneurs and developers alike.
Follow Us:
Follow us on social media to stay updated with the latest developments and features of Kiwi:
ChangeLog:
24 May 2019:
- Fix bug init data.
- Fix observable.
17 March 2019:
- Fix categories in list page.
- Fix related products in detail page.
- Fix upload avatar in profile page.
11 Feb 2019:
- Init.
Full Features Lists:
Kiwi offers a wide range of features, including:
- Simple, clear, and high-quality design.
- PayPal, Stripe, and Cod payment integration.
- Full Angular management.
- Authentication (email, Facebook), edit profile, upload avatar, signup, and forgot password.
- 12+ skin colors and themes.
- Push notification.
- Admob integration.
- Detailed documentation.
- Developed using Ionic 4.
Demo:
Admin Panel: http://lrandomdev.com/demo/ion-cms
Username: demo@gmail.com
Password: 123456
APK demo: Click here to download
Screenshots:
Admob Integration:
Features:
Credits Photo:
All demo photos do not include in download package, thanks all people!!!
Unsplash Photo
Support:
Rating: 2.75/5
User Reviews
Be the first to review “Kiwi – Ionic 4 eCommerce with Angular Firebase CMS”
Introduction
Kiwi is an open-source, free, and highly customizable Ionic 4 eCommerce template that allows you to build a robust and scalable online store using Angular and Firebase as the backend. In this tutorial, we will cover the step-by-step process of setting up and configuring Kiwi with Firebase as the CMS (Content Management System). By the end of this tutorial, you will have a fully functional eCommerce store with a user-friendly interface, product management, and order tracking.
Prerequisites
Before starting this tutorial, make sure you have the following installed on your machine:
- Node.js (https://nodejs.org/en/download/)
- npm (comes bundled with Node.js)
- Angular CLI (install using
npm install -g @angular/cli
) - Ionic CLI (install using
npm install -g @ionic/cli
) - Firebase CLI (install using
npm install -g firebase-tools
) - A code editor or IDE of your choice
Step 1: Set up Firebase
To set up Firebase, follow these steps:
- Create a new Firebase project by going to the Firebase console (https://console.firebase.google.com/) and clicking on "Add project".
- Fill in the required information, such as project name and country.
- Click on "Create project" to create the project.
- Once the project is created, click on "Add Firebase to your web app" and copy the Firebase configuration file (firebaseConfig.js) to a safe location.
- Install the Firebase CLI using
npm install -g firebase-tools
. - Initialize Firebase in your project by running
firebase init
in your terminal and following the prompts.
Step 2: Set up Kiwi
To set up Kiwi, follow these steps:
- Clone the Kiwi repository using
git clone https://github.com/ionic-team/kiwi.git
or download the zip file from the GitHub repository. - Install the required dependencies by running
npm install
in the Kiwi directory. - Install the Ionic CLI using
npm install -g @ionic/cli
. - Run
ionic serve
to start the Kiwi app in your browser.
Step 3: Configure Kiwi with Firebase
To configure Kiwi with Firebase, follow these steps:
- Create a new file called
firebase.config.js
in the Kiwi root directory and add the following code:export default { apiKey: '<API_KEY>', authDomain: '<AUTH_DOMAIN>', databaseURL: '<DATABASE_URL>', projectId: '<PROJECT_ID>', storageBucket: '<STORAGE_BUCKET>', messagingSenderId: '<MESSAGING_SENDER_ID>' };
Replace the
<API_KEY>
,<AUTH_DOMAIN>
, etc. with the values from your Firebase configuration file. - Update the
environments.ts
file to include the Firebase configuration:export const environment = { production: false, firebase: { apiKey: '<API_KEY>', authDomain: '<AUTH_DOMAIN>', databaseURL: '<DATABASE_URL>', projectId: '<PROJECT_ID>', storageBucket: '<STORAGE_BUCKET>', messagingSenderId: '<MESSAGING_SENDER_ID>' } };
- Update the
app.module.ts
file to include the Firebase authentication module:import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { FirebaseAuthModule } from 'firebase-auth';
@NgModule({ declarations: [AppComponent], imports: [ BrowserModule, AppRoutingModule, FirebaseAuthModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule {}
4. Run `ionic serve` to start the Kiwi app in your browser and verify that the Firebase authentication is working correctly.
**Step 4: Configure Kiwi eCommerce**
To configure Kiwi eCommerce, follow these steps:
1. Update the `ecommerce.config.ts` file to include the necessary eCommerce settings:
```typescript
export const ecommerceConfig = {
currency: 'USD',
currencySymbol: '$',
taxRate: 0.08,
shippingOptions: [
{
id: 'standard',
name: 'Standard Shipping',
price: 5.99
},
{
id: 'express',
name: 'Express Shipping',
price: 9.99
}
]
};
- Update the
product.service.ts
file to include the necessary product data:import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { Product } from './product.model';
@Injectable({ providedIn: 'root' }) export class ProductService { private apiUrl = 'https://your-firebase-database-url.firebaseio.com/products.json';
constructor(private http: HttpClient) { }
getProducts(): Observable<Product[]> { return this.http.get<Product[]>(this.apiUrl); }
getProduct(id: string): Observable {
return this.http.get(${this.apiUrl}/${id}.json
);
}
createProduct(product: Product): Observable { return this.http.post(this.apiUrl, product); }
updateProduct(id: string, product: Product): Observable {
return this.http.put(${this.apiUrl}/${id}.json
, product);
}
deleteProduct(id: string): Observable {
return this.http.delete(${this.apiUrl}/${id}.json
);
}
}
3. Update the `product.model.ts` file to include the necessary product data:
```typescript
export interface Product {
id: string;
name: string;
description: string;
price: number;
image: string;
stock: number;
}
- Update the
cart.service.ts
file to include the necessary cart data:import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { CartItem } from './cart-item.model';
@Injectable({ providedIn: 'root' }) export class CartService { private apiUrl = 'https://your-firebase-database-url.firebaseio.com/cart.json';
constructor(private http: HttpClient) { }
getCartItems(): Observable<CartItem[]> { return this.http.get<CartItem[]>(this.apiUrl); }
addCartItem(item: CartItem): Observable { return this.http.post(this.apiUrl, item); }
updateCartItem(id: string, item: CartItem): Observable {
return this.http.put(${this.apiUrl}/${id}.json
, item);
}
deleteCartItem(id: string): Observable {
return this.http.delete(${this.apiUrl}/${id}.json
);
}
}
5. Update the `cart-item.model.ts` file to include the necessary cart item data:
```typescript
export interface CartItem {
id: string;
productId: string;
quantity: number;
}
Step 5: Run the Kiwi eCommerce App
To run the Kiwi eCommerce app, follow these steps:
- Run
ionic serve
to start the Kiwi app in your browser. - Verify that the Kiwi app is working correctly by navigating to the
http://localhost:4200
URL in your browser. - Create a new product by clicking on the "Add Product" button and filling in the necessary information.
- Add the product to the cart by clicking on the "Add to Cart" button.
- View the cart by clicking on the "Cart" button and verify that the product is added correctly.
Conclusion
In this tutorial, we have covered the step-by-step process of setting up and configuring Kiwi with Firebase as the CMS. We have also covered the configuration of Kiwi eCommerce and how to run the app. By following this tutorial, you should now have a fully functional eCommerce store with a user-friendly interface, product management, and order tracking.
Here is a complete settings example for Kiwi - Ionic 4 eCommerce with Angular Firebase CMS:
Environment Variables
To configure the environment variables, create a new file called environment.ts
in the root of your project and add the following settings:
export const environment = {
production: false,
firebase: {
apiKey: 'YOUR_API_KEY',
authDomain: 'YOUR_AUTH_DOMAIN',
databaseURL: 'YOUR_DATABASE_URL',
projectId: 'YOUR_PROJECT_ID',
storageBucket: 'YOUR_STORAGE_BUCKET',
messagingSenderId: 'YOUR_MESSAGING_SENDER_ID'
},
api: {
base_url: 'https://your-api.com/api/'
}
};
Replace YOUR_API_KEY
, YOUR_AUTH_DOMAIN
, YOUR_DATABASE_URL
, YOUR_PROJECT_ID
, YOUR_STORAGE_BUCKET
, and YOUR_MESSING_SENDER_ID
with your actual Firebase credentials.
Firebase Firestore Database
To configure the Firebase Firestore database, follow these steps:
- Go to the Firebase console and create a new Firestore database.
- Create a new collection called
products
and add the following fields:name
,price
,description
,image
. - Create a new collection called
orders
and add the following fields:customer
,date
,total
.
Firebase Authentication
To configure Firebase authentication, follow these steps:
- Go to the Firebase console and enable the Firebase Authentication feature.
- Configure the authentication providers (e.g. Google, Facebook, Email/Password).
- Create a new user group called
admin
and add the administrator's email address.
Ionic Configuration
To configure the Ionic app, follow these steps:
- Open the
ionic.config.json
file and add the following settings:{ "name": "kiwi-ecommerce", "appId": "io.ionic.starter", "tabs": "primary", "push": { "enabled": true, "vapidKey": "YOUR_VAPID_KEY" } }
Replace YOUR_VAPID_KEY
with your actual VAPID key.
Angular Firebase CMS Configuration
To configure the Angular Firebase CMS, follow these steps:
- Open the
firebase.cms.config.ts
file and add the following settings:export const cmsConfig = { firebase: { apiKey: 'YOUR_API_KEY', authDomain: 'YOUR_AUTH_DOMAIN', databaseURL: 'YOUR_DATABASE_URL', projectId: 'YOUR_PROJECT_ID', storageBucket: 'YOUR_STORAGE_BUCKET', messagingSenderId: 'YOUR_MESSAGING_SENDER_ID' }, collections: [ { name: 'products', path: 'products' }, { name: 'orders', path: 'orders' } ] };
Replace YOUR_API_KEY
, YOUR_AUTH_DOMAIN
, YOUR_DATABASE_URL
, YOUR_PROJECT_ID
, YOUR_STORAGE_BUCKET
, and YOUR_MESSAGING_SENDER_ID
with your actual Firebase credentials.
Stripe Configuration
To configure Stripe, follow these steps:
- Go to the Stripe dashboard and create a new Stripe account.
- Create a new publishable key and a new secret key.
- Open the
stripe.config.ts
file and add the following settings:export const stripeConfig = { publishableKey: 'YOUR_PUBLISHABLE_KEY', secretKey: 'YOUR_SECRET_KEY' };
Replace YOUR_PUBLISHABLE_KEY
and YOUR_SECRET_KEY
with your actual Stripe keys.
Here are the features of Kiwi - Ionic 4 eCommerce with Angular Firebase CMS:
- Design: Simple, clear, and high-quality design.
- Payment Integration: Supports PayPal, Stripe, and Cod payment methods.
- Full Angular Management: Allows for easy management of the backend without requiring knowledge of Firebase.
- Authentication: Includes email, Facebook, edit profile, upload avatar, signup, and forgot password features.
- 12+ Skin Colors and Themes: Offers a variety of customization options.
- Push Notification: Allows for push notifications to be sent to users.
- Admob: Supports Admob integration.
- Detail Documentation: Includes detailed documentation for developers.
- Developed with Ionic 4: Built using Ionic 4 framework.
Additionally, the demo includes:
- Admin Panel: http://lrandomdev.com/demo/ion-cms
- User: demo@gmail.com, password: 123456
- APK Demo: http://lrandomdev.com/apk/kiwi.apk
The changelog includes:
- 24 May 2019: Fixed bug init data, fixed observable.
- 17 March 2019: Fixed categories in list page, fixed related products in detail page, fixed upload avatar in profile page.
- 11 Feb 2019: Initial release.
Note that the demo photos do not include in the download package, and credits are given to Unsplash Photo for the demo photos.
$28.00
There are no reviews yet.