AI prompts
base on This open-source mobile ecommerce app seamlessly transforms your Bagisto store into a powerful mobile platform, providing real-time synchronization of products and categories. <p align="center">
<a href="http://www.bagisto.com"><img src="https://bagisto.com/wp-content/themes/bagisto/images/logo.png" alt="Total Downloads"></a>
</p>
<p align="center">
<a href="https://twitter.com/intent/follow?screen_name=bagistoshop"><img src="https://img.shields.io/twitter/follow/bagistoshop?style=social"></a>
<a href="https://www.youtube.com/channel/UCbrfqnhyiDv-bb9QuZtonYQ"><img src="https://img.shields.io/youtube/channel/subscribers/UCbrfqnhyiDv-bb9QuZtonYQ?style=social"></a>
</p>
# Open Source eCommerce Mobile App
[Bagisto](https://bagisto.com/en/) revolutionizes the world of mobile commerce with its open-source eCommerce mobile app solution. This open-source mobile ecommerce app seamlessly transforms your Bagisto store into a powerful mobile platform, providing real-time synchronization of products and categories. With a user-friendly interface, managing orders becomes a breeze, making it an essential tool for tech-savvy individuals and those new to eCommerce.
This mobile app, built on the foundation of the Bagisto eCommerce framework and leveraging the robust Laravel stack, offers many features for a comprehensive and efficient mobile shopping experience. The app ensures easy product information management and accelerates time-to-market for your products, all while giving you complete control over your store.
# Live Demo
Android: https://play.google.com/store/apps/details?id=com.webkul.bagisto.mobikul
iOS: https://apps.apple.com/us/app/mobikul-bagisto-laravel-app/id6447519140
# Features
The open-source ecommerce mobile app comes with an array of features to improve your customers' shopping experience.
## Interactive Home Page and Search
![enter image description here](https://raw.githubusercontent.com/bagisto/temp-media/master/interactive-homepage-and-search.png)
## All Type Product Supported
![enter image description here](https://raw.githubusercontent.com/bagisto/temp-media/master/product-details.png)
## Dark Mode and Push Notification
![enter image description here](https://raw.githubusercontent.com/bagisto/temp-media/master/dark-theme-and-push-notifications.png)
## Discount Coupons and Guest Checkout
![enter image description here](https://raw.githubusercontent.com/bagisto/temp-media/master/coupon-and-guest-checkout.png)
## Wishlist and Product Category
![enter image description here](https://raw.githubusercontent.com/bagisto/temp-media/master/category%3Dpage-and-wishlist.png)
## Order Details and Product Reviews
![enter image description here](https://raw.githubusercontent.com/bagisto/temp-media/master/order-details-and-product-reviews.png)
## Installation Guide
Before beginning with the installation, you will need the following with the mentioned versions
- Bagisto Version - v2.2.2
- Android Studio Version - Flamingo | 2022.2.1
- Flutter Version - 3.19.2
- Dart - 3.3.0
- Xcode - 15.2
- Swift - 5
Make sure you have installed the API module and set this up properly on your bagisto.
> NOTE: It is recommended that you run a simple Hello World program in Flutter first before proceeding further so that you are sure that the environment is properly set up.
## Installation Steps
### Clone the repository
- Open your terminal or command prompt
- Navigate to the directory where you want to save the project
- Use the git clone command followed by the repository URL
```sh
git clone https://github.com/bagisto/opensource-ecommerce-mobile-app.git
```
### Install dependencies
- Navigate to the project's directory
```sh
cd <repository-name>
```
- Run the following command to install the required packages
```sh
flutter pub get
```
### Generate Required files
- Navigate to the project's directory
```sh
cd <repository-name>
```
- Run the following command to generate the required files
```sh
flutter pub run build_runner build --delete-conflicting-outputs
```
### Connect a device or emulator
* Physical Device
1. Enable USB debugging on your device
2. Connect it to your computer using a USB cable.
* Emulator
1. Start an Android or iOS emulator using your preferred IDE or tools.
### Run the Project
- Use the following command to build and run the project
```sh
flutter run
```
## Minimum Versions
- Android: 22
- iOS: 14
## Configurations Steps
### For Setup
Change the baseUrl as per your store
**Path:** lib/utils/server_configuration.dart
```sh
static const String baseUrl = ‘....’;
```
> Note: Add the value of the complete URL ending with the GraphQL API endpoint. E.g - https://example.com/graphql
### For Theme
Change the Theme for your app
**Path:** lib/utils/mobikul_theme.dart
```sh
static const Color primaryColor = Color(***********);
static const Color accentColor = Color(***********);
```
### For Push Notification Service
- Android
Replace "google-services.json".
- iOS
Replace "GoogleService-Info.plist".
> Helpful Articles
> Android → https://mobikul.com/knowledgebase/generating-google-service-file-enable-fcm-firebase-cloud-messaging-android-application/
> iOS → https://mobikul.com/knowledgebase/generating-new-googleservice-info-plist-file-fcm-based-project-ios-app/
### For Application Title
* Android
1. **Path:** android/app/src/main/AndroidManifest.xml
2. **Change app name:** android:label="***********"
* iOS
1. Go to the general tab and identity change the display name to your app name
> For Homepage Header Title - Go to ‘assets/language/en.json’
> (Note: Here, “en” in en.json refers to the languages that would be supported within the application)
### For Splash Screen
* For adding Lottie as Splash Screen
1. **Path:** assets/lottie/splash_screen.json
2. After updating the Lottie file, update the ‘splashLottie’ in lib/utils/assets_constants.
```sh
static const String splashLottie = "assets/lottie/splash_screen.json";
```
* For adding an Image as a Splash Screen
1. **Path:** assets/images/splash.png
2. After updating the Image file, update the ‘splashImage’ in lib/utils/assets_constants.
```sh
static const String splashImage = "assets/images/splash.png";
```
### For App Icon
* **Android:** Open the android folder in Android Studio and then right click app > new > Image Asset set Image.
* **iOS:** Replace the icons over the path > ios/Runner/Assets.xcassets/AppIcon.appiconset
## Installation Video
[![Watch the video](https://i.ibb.co/c6qd31t/thumbnail-1.jpg)](https://www.youtube.com/watch?v=tvm2NUZP9ks)
## API Documentation
For the API Documentation, please go through - https://github.com/bagisto/headless-ecommerce/
## Usage
For detailed usage instructions, refer to the official documentation
## Contributing
Contributions are welcome! Follow the contribution guidelines to get started.
## License
Bagisto is open-sourced software licensed under the MIT license.
", Assign "at most 3 tags" to the expected json: {"id":"9479","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"