Kartero


Kartero is mobile application for managing your business delivery and pickup services, you can use kartero for your business like Pickup & Delivery, Beauty Services, Repair Services, Home Services,Health and Well Being and any type of Businesses that needs to monitor daily activity task in realtime.

Kartero is a complete package with admin and customer panel, it connects via Rest API json, and this app can run on Android and iOS.

You can offer a paid membership monthly/yearly or even 14 day trial to any individual company small,big or personal business, which means you can earn income by offering the kartero services.

Managing Daily Task

See the Kartero in action?

Download android APK File click here

Watch Kartero in action click here

Website Click here

Backend Panel Click here

Credentials
username : admin
password : admin

Customer Panel Click here

Credentials
username : test@yahoo.com
password : 12345

Sample Driver Login
username : xy
password : xy

kartero installation guide
https://youtu.be/q_oR5bt344U

How to run cron jobs
https://youtu.be/7lrNECQ5bvM

Build the app using https://monaca.io/
https://youtu.be/ykMykwRX-Mo

1. first unzip the file that you download from codecanyon,
you will find the folder kartero this is the file for your admin backend and website
and upload it in your server or your locahost server to htdocs folder or public_html

2. Setup your main.php to connect to your server database.
open the file protected/config.main.php see below image

change the database configuration to your database credentials. see below

Example

'db'=>array(	        
	'class'            => 'CDbConnection' ,
	'connectionString' => 'mysql:host=localhost;dbname=kartero',
	'emulatePrepare'   => true,
	'username'         => 'root',
	'password'         => '1234',
	'charset'          => 'utf8',
	'tablePrefix'      => 'kt_',
),

Where :
host = localhost (this is your database hostname)
dbname = kartero (this is your database name)
username = root (this is your database username)
password = 1234 (this is your database password)
tablePrefix = kt_ (this is your database table prefix it can be anything but withour spaces)

2.1 Change the name variable
change the value 'name'=>'Kartero' in protected/config.main.php, to your website name

3. open up your browser and enter your website url, example http://yourserver.com/index.php/install
if you copy the files with folder like for example folder name is kartero you will have to typein the address like this http://yourserver.com/kartero/index.php/install
you should see the installation page by now see below screenshot

4. Finish, you can access by now the admin panel, front end and customer panel website
see below screenshot

Note: for security of your /upload folder create a file called .htaccess and add the content below

<Files *>
SetHandler None
</Files>
<Files *.php>
deny from all
</Files>
<Files *.html>
deny from all
</Files>
<Files *.js>
deny from all
</Files>
<Files *.cgi>
deny from all
</Files>
</Files>

To build or compile your driver app you need to have account on https://monaca.io click here to signup then choose the free package

  1. Set api url and API hash key
    • in admin app panel -> mobile settings copy the Your Mobile API URL
    • in API hash key set any values without spaces like unique password and click save settings, after saving the settings copy your API hash key
    • now set the api url and hash key to your driver app config, open the file www/js/config.js
      and set the value to ApiUrl and APIHasKey as show below

      in order for mapbox to work in driver app you need to set your mapbox token in config.js

  2. Update config.xml
    • Open the file driver/config.xml
      change the following information to yours like id, name of app and description etc.
      Note: xml does not like special character like comma

  3. Create the file google-services.json for Android Push Notification
    • go to firebase https://console.firebase.google.com
    • Click on add project and name the project as shown below

    • Once you are in the dashboard click on add firebase to your android app

      when entering package name take note the package name should match or the same in your config.xml id, in screenshot below the package name is com.bastisapp.kartero

    • download the google-services.json by clicking download config file as show below

      after download press next and skip

    • copy the file to mobile app folder as shown below

  4. Set Firebase service accounts json to Kartero
    • in your Firebase console click -> Project settings -> under Service accounts and click generate , this will create json file that you need to upload in Driver panel -> settings -> Firebase Cloud Messaging

  5. Now we will add IOS Push notification, you can skip this part you don't want to compile the app to iOS
    • Click on Add another app and choose Add firebase to your iOS App

    • download the GoogleService-Info.plist and copied the file to Mobile App files

  6. for iOS push to work you will need to upload push certificate , click Project Overview -> Project settings. you can generate push certificate in your apple developer account.

    Updated instructions for ios push, apple has new push notification setup you need to upload apns auth key
    https://developer.clevertap.com/docs/how-to-create-an-ios-apns-auth-key

  7. Now your ready to build to app to https://monaca.io/

    Monaca is not free but you can signup for 1month pro plan and monaca will give you 1month free of access to compile the app, if you don't want to pay once the account expired create a new account again.

    if your kow how to compile the app using locally using cordova cli you can do it as well. there are many tutorials out there just search for compile app using cordova cli.

    • Zip the mobile app files as show below, note there is many ways to zip the file but the important part is you need to zip the file inside the folder,
      Note: do not zip folder driverapp.

    • Log in to https://monaca.io/ and upload the zip file as show below.

  8. Done

to run cron jobs you need to set the cron jobs link in your cpanel, you can find the cron jobs
for processing push notification in admin panel -> cron jobs

here is the sample video on how to run cron jobs https://youtu.be/WjndBGKXF7A

cron jobs usually send email report about the status
in order to remove this you need to add > /dev/null 2>&1 at the end of url
https://www.a2hosting.com/kb/developer-corner/linux/disabling-e-mail-notifications-from-cron-jobs

language file must be saved as UTF8 format click here

To translate the Kartero to your own language please follow the steps.

Example you want to create a new language called jp short name for japanese

1 Copy the files protected/messages/en/defaul.php and mobile.php

2 create a new folder on protected/messages/jp and paste the file default.php and mobile.php

3 open the file protected/messages/jp/default.php and mobile.php you will see the language file
see example below

$lang['Dashboard']= 'Your Translation here';
$lang['Plan']= 'Your Translation here';
$lang['published']='Your Translation here';
$lang['Successfully updated']='Your Translation here';

you can now begin to translate all the words on default.php and mobile.php
admin,front end customer panel all words can be found on default.php
while mobile app can be found on mobile.php

4. Once you finish with the translation you can now enabled the language to be shown on admin,front end and customer panel on admin panel -> language menu

To set the default language you will need to edit the file protected/config/main.php
and change the value of 'language'=>'en',
example for japanese language 'language'=>'jp',
where jp is the folder on protected/messages folder

5. make sure you check your laguage to do that go to http://phpcodechecker.com/ and paste your language file,
if your language file has error your website will not work or it will crashed resulting to empty page.
using any php IDE you will instantly determine if your language file has error.
sample ide zend studio, atom , eclipse etc

Note: You also can change the default words in en folder if you want to change the words in english

you can simply change the notification ringtone
by replacing the file www/beep.wav
the format should be .wav file

Note: the filename should be beep.wav if you change it to any filename push ringtone will not work

to update your files to latest version please follow the following steps

  1. overwrite your server files folder assets and protected folder but on protected folder don't overwrite the folder config.
    make sure you backup your files before overwriting your server files.
  2. Login to your admin panel and you will see update database on top of your dashboard and simply click on that link
    or simply visit your website like this http://yourserver.com/update/index
  3. finish :)

How to change the Kartero app logo on login section of the app?
- just replace the following files on www/images/logo.png (take note of the width and height of the image)

How to change the color layout of the app?
- you will need to modify the file www/css/app.css

How to change the app icon and splash screen
- replace the following files Kartero mobile app/icon.png and Kartero mobile app//splash.png
for the icon/splash screen make sure the it has a valid size according to different device


List of different size of splash screen and icons
https://github.com/phonegap/phonegap/wiki/App-Splash-Screen-Sizes
https://github.com/phonegap/phonegap/wiki/App-Icon-Sizes

Important: make sure you optimize your splash & icon using the tool http://kraken.io/ or any available on the net.

After compile hydration appears
You will need to disabled the phonegap Hydration
After logging in navigate to the apps page, and select your app by clicking its title or icon. On the app's detail page, open the "Settings" panel. Under the "Basic" header de-select the checkbox labeled "enable hydration", and finally hit save. You've now successfully disabled Hydration.

Cannot upload file
Make sure the folder /upload file permission is set to 0777
as well the folder /protected/runtime

= 1.7 (20 August 20) =

UPDATE INSTRUCTION:
Click here

= 1.6 (23 September 19) =

UPDATE INSTRUCTION:
Click here

= 1.5.1 (01 March 19) =

UPDATE INSTRUCTION:
The following files has been changed in version 1.5.1

Mobile app files
- config.xml

= 1.5 (15 November 18) =

= 1.4 (13 November 18) =

= 1.3 (08 June 18) =

UPDATE INSTRUCTION:
The following files has been changed in version 1.3

Mobile app files
- www/js/app.js
- config.xml
- res/icons (new icons is added for ios size 1024x1024)

PHP File
- protected/components/Driver.php

= 1.2.2 (09 January 18) =

UPDATE INSTRUCTION:
The following files has been changed in version 1.2.2

Mobile app files
- www/js/app.js
- Kartero mobile app/config.xml
- www/beep.wav (new files this is the new push sounds for android and ios)
- res/icons (new icons is added for android and ios)
- res/screens (new icons is added for android and ios)

PHP File
- protected/controllers/CronController.php
- protected/components/DriverIOSPush.php
- protected/components/Driver.php

Asset Files
- assets/js/app.js

Database
in your server visit the link example http://yourserver.com/driver/update to update your database

= 1.2.1 (21 March 17) =

= 1.2.0 (13 March 17) =

= 1.1.0 (12 January 17) =

= 1.0.0 (12 August 16) =

Thanks so much to

I spent a lot of time on this thing. Nevertheless it's still not finished. I like to improve it wherever I can and appreciate your feedback. I'd be glad to help you if you have any questions relating to this application. No guarantees, but I'll do my best to assist.