Cheeky Parcel Mobile App
Welcome to Cheeky Parcel App
Introduction
Cheeky Parcel is a flutter and dart based Android and iOS app. Where flutter is an open-source UI software development kit created by Google. It is used to develop applications for Android, iOS, Linux, Mac, Windows, Google Fuchsia, and the web from a single codebase. Fuchsia, Flutter widgets incorporate all critical platform differences such as scrolling, navigation, icons, and fonts to provide full native performance on both iOS and Android.
Dart is a client-optimized programming language for apps on multiple platforms. It is developed by Google and is used to build mobile, desktop, server, and web applications. Dart is an object-oriented, class-based, garbage-collected language with C-style syntax. Dart can compile to either native code or JavaScript.
Requirements
- To edit this project you must have Flutter and Dart installed and configured successfully on your device Install flutter
- Set up your editor Install the Flutter and Dart plugins
Getting started with Cheeky Parcel
- After download and unzip the package, use preferred IDE (Android Studio / Visual Code / IntelliJ) to open the project flutter grocery folder.
- Click the Get dependencies or Packages get to install the libraries from pubspecs.yaml file.
- Make sure dart sdk is up to date / get dark packages
- Open the simulator or connect real android device to run the project.
- Then press the run button to start project (you can still open multi simulator at the same time)
Flutter version required
- Flutter version 2.0
Project Structure:
assets/image: apps/widgets/snippets images as well as appIcon are stored here.
assets/language: Multi-language support json file is here.
lib: Application main file and folder are located here.
- view/base: All the Widgets except for screen will be declared here.
- data/model: A base class that holds some data and allows other classes to listen to changes to that data.
- data/repository: All API configurations are located here.
- view/screens: FileName contents Screen at the end of name eg. DashboardScreen.
- provider: It is used for State management technique Provider.
- utills: Basic ready made widgets are located here.
- colors_resources.dart: Application colors are declared here.
- dimensions.dart: Sizing dimensions are here.
- app_constant.dart: All the constant values are declared here.
- images.dart: Image paths are stored here as constent.
- styles.dart: Font styles are stored here.
pubspec.yaml: Application name and other project dependencies can be found here.
Integrations:
- Provider for state management.
- Repository Pattern for mocking data.
- Dio for network call.
- Get_it for dependency injection.
- Pagination for list of data.
- Shimmer loading effect.
- Image picker.
- Url launcher.
- Google map
- Webview etc.
Features:
- Multiple branch option
- Multiple language option.
- Multiple currency option.
- Dark and light theme.
- RTL support
- Splash screen
- Nice dynamic On Boarding screen
- Login and Registration with Email and Password.
- Smart Homepage.
- Product variant or attribute option.
- Nice all category, sub category.
- Category, Sub Category wise product listing.
- Search product with search suggestions.
- Filter option in search.
- Product Wish list.
- Cart Screen.
- Checkout screen.
- Promo code system.
- Order list and details screen.
- Order tracking screen.
- Customer rating and review.
- Owner and customer chatting screen
- Notification screen.
- Coupon screen etc.
- Delivery boy contact
Installation
Setup Flutter environment
- Follow base on the operating system on which you are installing Flutter:
- Mac OS: https://flutter.dev/docs/get-started/install/macos
- Window: https://flutter.dev/docs/get-started/install/windows
- Linux: https://flutter.dev/docs/get-started/install/linux
- Setup an editor: https://flutter.dev/docs/get-started/editor
Flutter version required
- Flutter version 2.0
1 Change app icon with your grocery logo:
- Generate icon from appicon.co
- Go to
/android/app/src/main/res and replace all mipmap folder with your generated icon android folder. - Go to
/ios/Runner and replace Assets.xcassets with your generated Assets.xcassets folder.
Or
Icons
1- Create your app icon ic_launcher and notification icon notification_icon folders How to generate an app icon? After you generate icons folder replace the following folders:
- /mipmap-hdpi in /android/app/src/main/res/ folder
- /mipmap-mdpi in /android/app/src/main/res/ folder
- /mipmap-xhdpi in /android/app/src/main/res/ folder
- /mipmap-xxhdpi in /android/app/src/main/res/ folder
- /mipmap-xxxhdpi in /android/app/src/main/res/ folder
2 Change app name with your grocery name:
Open
/android/app/src/main/AndroidManifest.xml and change label with your grocery name. 
Open
/ios/Runner/info.plist and change CFBundleName string with your grocery name. 
3 Change app package
Right click on project folder and click on replace in path

Write com.u6amtech.flutter_restaurant in 1st marked box and write your own package name at second marked box and then click on Replace All button.

4 Set your base url
Open
/lib/utill/app_constrants.dart and replace BASE_URL variable value with your own url. 
5 Add your local language:
Go to
/assets/language and press right button on language folder and create new file and name it with your language code ( .json) 
Copy all data from en.json and paste it in your created file.
Translate all English text placed here after colon(:) to your local language.
Copy your country picture and paste it on
/assets/image. Open
/lib/utill/app_constrants, scroll down to bottom and add LanguageModel with imageUrl, languageName, countryCode and languageCode. 6 Add firebase for push notification:
Create your own firebase project from https://console.firebase.google.com/ and also add an android app there with your own package name and app name.
Then click register app and download google-services.json file from there.
Then copy that file and paste and replace it in
/android/app folder. 
To change your notification icon with your app icon, first make your icon image totally white.
Rename it as notification_icon.png.
Then paste it in
/android/app/src/main/res/drawable and replace it with existing one. 
7 Set app color:
Open to
/lib/theme/light_theme.dart and change primaryColor field value with your prepared color code. You can also change other color from here. You must have to set color for dark theme also from
/lib/theme/dark_theme.dart 
8 Setup map api key
IF you want to access the current location of your app and web you have to add a paid api for It.
To get the api you have to buy the api first. To buy the api follow this this https://support.google.com/googleapi/answer/6158867?hl=en
To generate the api key visit this link https://developers.google.com/maps/documentation/embed/get-api-key
After creating API key--- Open
/web/index.html and paste your API key here 
9 Run for web:
Now you are ready to build the web version of your app.
Go to the terminal of your ide and run this command
flutter build web --web-renderer html --releaseAfter running the command, Go to
/build/web make a zip file with this web folder and upload it to a sub domain of your server like web.example.com 
10 Change title:
Open
<project>/web/index.htmland replaceeFoodtitle with your app name.
11 Change Fav icon:
Go to
<project>/weband replace thisfavicon.pngwith your fav icon. Must rename your favicon asfavicon.png
12 Change web logo:
go to
<project>/weband replacelogo.pngwith your app logo
Now you are good to go for business. Best of luck.
13 Next step is to deploy your app on playStore & appStore
To publish the app on playStore follow the instructions in the link below
- Playstore: https://flutter.dev/docs/deployment/android
To publish the app on appStore follow the instructions in the link below
- AppStore: https://flutter.dev/docs/deployment/ios
Common Errors
1 Flutter SDK not available
Download the SDK and provide the SDK path in your projects. There are different sources for flutter SDK.
- You can clone it from Github Repository
- Download zip for windows from official website
- Download Zip for mac from official website
You can download any version from here

Dependency Error
Generally, dependency error occurs when
- One of your third-party package versions is not supported.
- Your flutter SDK version not matched with one of your third-party packages, for example your current flutter version is 1.19.0 and the third-party package target flutter SDK version 1.16.0
Solution
- Look for the latest version of the package.
- Or Upgrade your flutter version if you don’t have the latest flutter version with flutter upgrade command.
iPhone OS Version Out of Range
- Flutter does not support iOS versions lower then to 7.0
Solution
- You want to change the target version then in the
project Editor. select your app target and go to theGeneral tab. - Under the Deployment Info change the target version whatever your versions want to your support.
- after changing the target version removing the pod folder and podlock.file and reinstall the pod and clean your project and then run your project.
Comments
Post a Comment