EIFO

Find parking spots on the street in real time

Introduction

Eifo is an application to find a place to park on the street in real-time. Eifo is a community of drivers that help each other save time and money.

01

Book a parking spot

When you search for a place, the Eifo system automatically finds a parking spot for you. Parking spots offered near your location, matching your vehicle size will be matched with you. You get notified instantly when a match is found.

It's as easy as 1-2-3!

Choose your current vehicle

Choose your destination on the map

Choose your preferences like parking size, distance and other parameters like whether you would like a place with a parking meter.

02

Offer a parking spot

You can earn tokens by offering your parking spot through the Eifo app. As easy as searching for it! When your parking spot is booked you’ll get notified. You can also cancel the offer at any time.

Choose your current vehicle

Add the parking spot on the map

Indicate special parameters such as parking meter, trapito

03

Tokens

Tokens are the currency of the Eifo app. Tokens are deducted when you book a place and earned when your offered place gets booked! If you are in a hurry and does not have enough tokens for booking a place then you can easily buy tokens from within the app, via In-App purchase.

04

Matching screen

Based on your location, vehicle size and parking requirements, the Eifo system applies the auto-matching algorithm to match other users who are offering parking spots. While waiting for matching with some other user, you can see the Twitter news feed.

05

Track the booking party

After a successful match is found, the app shows the fastest route to the parking spot for the booking user’s convenience. The offering user can track the live location of booking user in the app. The system ensures reliability by showing the vehicle details in the app so that the connected users can verify each others identity.

06

Interact with connected user

You can chat with the other person if you have a quick query, or call them on their mobile numbers if that’s what you prefer. This chat is available when two users are connected, throughout their parking transaction.

07

Privacy

You can hide your sensitive information such as vehicle license plate number or your mobile phone number. The call option will be hidden in this case, but you can always use the app’s Live Chat feature to connect with the other person.

08

Features

Find parking spots easily
Live Tracking
Live Chat
Promo codes

Mobile App Technology Stack

PPush Notifications

Firebase

Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that sends notification messages to drive user re-engagement and retention.

SSocial Login

Facebook

Google

User can choose from different types of social media login like facebook and google login

TTwitter feed

Twitter embedded timeline

The users can read a Twitter news feed while they are waiting for a match.

MMaps

Google Maps

Google Maps is a web mapping service developed by Google. It offers satellite imagery, aerial photography, street maps, 360° panoramic views of streets, real-time traffic conditions, and route planning for travelling by foot, car, bicycle, and air, or public transportation.

Google Places API

The Places API is a service that returns information about places using HTTP requests. Places are defined within this API as establishments, geographic locations, or prominent points of interest.

C Crash Reports

Firebase Crashlytics

Firebase Crashlytics is a lightweight, realtime crash reporter that helps you track, prioritize, and fix stability issues that erode your app quality.

RReal-Time Communications

Socket.io

Socket.IO enables real-time, bidirectional and event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.

PPayments

In-App purchases

The users can buy tokens from the Apple App Store or Google Play Store for iOS and Android respectively via in-app purchases.

UUser Chat

Firebase Realtime Database

The Firebase Realtime Database is a cloud-hosted database. Data is stored as JSON and synchronized in realtime to every connected client.

Backend and Web Technology Stack

PPush Notifications

Firebase

Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that sends notification messages to drive user re-engagement and retention.

MMaps

Google Maps

Google Maps is a web mapping service developed by Google. It offers satellite imagery, aerial photography, street maps, 360° panoramic views of streets, real-time traffic conditions, and route planning for travelling by foot, car, bicycle, and air, or public transportation.

Google Places API

The Places API is a service that returns information about places using HTTP requests. Places are defined within this API as establishments, geographic locations, or prominent points of interest.

LLoad Balancer

Nginx

Nginx is a web server which can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.

CCI/CD

Gitlab

GitLab is a web-based Git-repository manager with wiki, issue-tracking and CI/CD pipeline features.

BBackend Server

PHP-fpm

PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites.

Node.js

Node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code outside of a browser.

DDatabase

Mysql

MySQL is an open-source relational database management system.

CCache & message queue

Redis

Redis, RE-dis is an open-source in-memory data structure project implementing a distributed, in-memory key-value database with optional durability.

CReal-Time Communications

Socket.io

Socket.IO enables real-time, bidirectional and event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.

IInfrastructure Orchestration

Docker

Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data centre VMs, or the cloud.

9

Challenges

Matching algorithm

Initially, the booking process was simple. Offered parking spots were listed, and the user searching for the parking can reserve a spot by selecting a place. Later it was decided that the Eifo system will match people searching with people who offering the parking place directly. There were multiple factors to decide a match between users which the system had to handle.

Live tracking

Once a person books a parking spot, the offering person can track the other party on the map. This was implemented using socket but we faced issues with the accuracy of location updates in Android devices because of a limitation in React-Native framework itself causing this issue.

10

Solutions

We created an algorithm to match people according to their preferences. The algorithm takes into consideration the current location, vehicle size, parking place features such as parking meter among others. We perfected this algorithm overtime considering many use cases and parameters.

We created a native module for location updates for Android OS. This module provided us accurate updates, calculating the position via Wifi or GPS, whichever is available. It met our expectations really well, so it was decided to add this module in all our future products

11

Statistics

6431

Active Users

5,000+

Android

105609+

Total Tokens in Circulation

99.58%

Crash-free users