Skip to content
Nipun Arora edited this page Aug 27, 2017 · 6 revisions

Guide For Developers

Follow the below steps and you are all set to contribute..!!


  • Guide For Kute Android App

  • Starting with API Dependencies Used,We have used the following external API's on the android device

  1. Firebase Cloud Messaging for notification workflow

  2. We have used Google Places API in order to generate places suggestion along with their co-ordinates when users registers for trips and rides

  3. Google Maps API for the selection of places

  4. Facebook SDK to get user friends and profile pictures after they login with Facebook

  5. Kute Backend Server APIs to send out custom notifications and match trips(All server endpoints will be described in the Kute Server Guide Below)

  • Coming to the API keys and server IP,We have programmed the app such that all such keys and IPs can be found in the Strings.xml file
  1. Google Maps Key(You should generate your own and replace with the text over there for testing purpose you can use-AIzaSyAFqueco6tdgdYBGKTIZTzKbSSwDyPQQh4 (THERE IS NO GUARANTEE THAT THIS KEY WOULD BE WORKING ) )

  2. Facebook App ID- Generate Your own app id after registering the app on facebook (You should generate your own and replace with the text over there for testing purpose you can use- 427052427666913 (THERE IS NO GUARANTEE THAT THIS KEY WOULD BE WORKING ) )

  3. Server IP- This should have the ip of the server the backend is hosted on (Current IP is the test server of one of our developers)

  4. Firebase google-services.json - Currently you will find the org's file in the repo it should be replaced with your own and for testing the current settings you can have (Testgoogleservicesfile)

  • Connecting Firebase App with your facebook app for login

  • Guide For Kute Server Backend

  • After deploying a ubuntu 16.0.4 based server follow the following instructions to setup the backend:

  1. Clone the backend on server

  2. Install the following dependencies from the ubuntu store (sudo apt-get install)

  • sudo apt-get install rabbitmq-server

  • sudo apt-get install celery

  • apt-get install supervisor

  1. Get into the cloned directory and then execute "pip install -r requirements.txt"

  2. Navigate to /etc/supervisor/conf.d/ and then save the following script as Micro-Service.conf

[program:MicroService-celery] command= python /kute/RouteMatcher/manage.py celeryd --loglevel=INFO environment=PYTHONPATH=/kute/RouteMatcher directory=/kute/RouteMatcher user=www-data numprocs=1 stdout_logfile=/var/log/celeryd/MicroService.log stderr_logfile=/var/log/celeryd/MicroService.log autostart=true autorestart=true startsecs=10 stopwaitsecs = 600 priority=998

  1. Now setting up the ports.conf and sites-enabled of apache web server
  • Add "Listen 88" in the first uncommented line of ports.conf in /etc/apache2/

  • Add the Following lines to sites-enabled/000-default.conf in /etc/apache2/ <VirtualHost *:88> DocumentRoot /kute/RouteMatcher <Directory /kute/RouteMatcher> Require all granted

    <Directory /kute/RouteMatcher/RouteMatcher> WSGIApplicationGroup %{GLOBAL} Require all granted WSGIApplicationGroup %{GLOBAL} WSGIDaemonProcess MicroService python-home=/kute/RouteMatcher/env python-path=/kute/RouteMatcher WSGIProcessGroup MicroService WSGIScriptAlias / /kute/RouteMatcher/RouteMatcher/wsgi.py

  • Run "Sudo apachectl restart" and you are set

  • For any more understanding troubleshooting follow these links:

  1. Setup Django on server

  2. Django and Celery Setup

  3. Supervisor to keep celery workers running

Clone this wiki locally