SlideShare a Scribd company logo
1 of 12
Download to read offline
Meetups Realtime multi-agent monitoring
Overview
• Meetup

• Feature list

• Architecture

• Heartbeats

• Pointers / Key Challenges

• Work Distribution
2
Meetup
What
Live Android App
Realtime multi-agent
monitoring
Why
Help people ‘Meetup’
And get around safely
3
Feature List
• Notifications
• Pair-up / Pooling Suggestions
• Automatic Activation / Deactivationprivacy
• Automatic Contact Syncing
• Modern UI Design
• Navigate to past locations of other users
• Low Bandwidth Usagepayloads
4
Backend Architecture

https://github.com/ca9/meetup-backend
• Google Cloud Endpoints
(Backend)

• Free. Easy deployment.
Documented. Google
Support.

• Logs, Traces, Version
Management.

• Python API Server

• Stateless BaaS

• NDB Datastore
5
Backend Pointers
• Security
• OAuth2 Authentication (took 2 months to get right), 

Google library changes. Google API token management.
• POST encapsulation, SHA1 identification
• Documented Client library generation, with code completion
• UTC timezones
• Checking for duplication. Object deletion.
• Stateless (No GCM dependency). No ‘session’.
6
Backend Architecture Snaps
7
Frontend Architecture

https://github.com/vedantswain/Meetup-Android
• Integration
• Interaction with backend server via client libraries
• Simplified development of client side and maintained consistency in
responses and requests
• Security
• Credentials create user and data api instances for (secure) communication
with the server
• One-time-login: Saved state of authenticated state on client’s
SharedPreferences
8
Frontend Contd.
• Time
• Default timezones on Mobile Devices

• DateTime object sent to server as

epoch (independent of timezone)

• Server stores time in UTC

• Ensures consistency between the clients
(irrespective of timezone) and with the server

• Exclusive Functions for Meetup Owner
• Certain functions (activate, deactivate) can
only be executed by the owner of the
metope

• Prevents anarchic behaviour
9
Frontend Structure
Frontend Contd.
• Single Service

• Optimisation: Single background service that
sends periodic heartbeats for a given user to all
the meetups
• Local Database
• Locations of users for different meetups at
different times are stored in the a local db

• Avoids fetching bulk data from server; simply
handles light weight latest locations

• Visualisation
• Plots path of every user on the map

• Heartbeat locations are nodes

• Colour coordinated paths to ease interpretation
10
public static abstract class LocationEntry implements BaseColumns {
public static final String TABLE_NAME = "Location";
public static final String TIME = "Time";
public static final String LATITUDE = "Latitude";
public static final String LONGITUDE="Longitude";
public static final String USERNAME="User_Name";
public static final String MEETUPNAME="Meetup_Name";
public static final String SQL_CREATE_ENTRIES =
"CREATE TABLE " + LocationEntry.TABLE_NAME + " (" +
LocationEntry._ID + " INTEGER PRIMARY KEY," +
LocationEntry.TIME + REAL_TYPE + COMMA_SEP +
LocationEntry.LATITUDE + REAL_TYPE +
COMMA_SEP +
LocationEntry.LONGITUDE + REAL_TYPE +
COMMA_SEP +
LocationEntry.USERNAME + TEXT_TYPE +
COMMA_SEP +
LocationEntry.MEETUPNAME +TEXT_TYPE +
" )";
public static final String SQL_DELETE_ENTRIES =
"DROP TABLE IF EXISTS " + LocationEntry.TABLE_NAME;
}
SQLite Local DB
Heartbeats
• Lightweight, high frequency messages
• Can be dropped / Can fail
• Trigger all important app functionality
• Status Responses
• Gotta give to get some love.
• Life: Update last location and timestamp of user under
meetup. Check for proximity to destination, other users. Auto
deactivate meetups, return other’s latest heartbeats.
11
Work Distribution
• Backend - https://github.com/ca9/meetup-backend
• Frontend - https://github.com/vedantswain/Meetup-Android
12

More Related Content

What's hot

An Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspectiveAn Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspectiveBizTalk360
 
Pull, Don't Push! Sensu Summit 2018 Talk
Pull, Don't Push! Sensu Summit 2018 TalkPull, Don't Push! Sensu Summit 2018 Talk
Pull, Don't Push! Sensu Summit 2018 TalkJulian Dunn
 
Kubernetes go paddle meetup
Kubernetes go paddle meetupKubernetes go paddle meetup
Kubernetes go paddle meetupSujai Prakasam
 
Icinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga DirectorIcinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga DirectorIcinga
 
Diagnosing Problems in Production: Cassandra Summit 2014
Diagnosing Problems in Production: Cassandra Summit 2014Diagnosing Problems in Production: Cassandra Summit 2014
Diagnosing Problems in Production: Cassandra Summit 2014Jon Haddad
 
Moving 150 TB of data resiliently on Kafka With Quorum Controller on Kubernet...
Moving 150 TB of data resiliently on Kafka With Quorum Controller on Kubernet...Moving 150 TB of data resiliently on Kafka With Quorum Controller on Kubernet...
Moving 150 TB of data resiliently on Kafka With Quorum Controller on Kubernet...HostedbyConfluent
 
CQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsCQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsMichael Blackstock
 
Openstack India May Meetup
Openstack India May MeetupOpenstack India May Meetup
Openstack India May MeetupDeepak Garg
 
Kubernetes and elixir
Kubernetes and elixirKubernetes and elixir
Kubernetes and elixirJeffrey Chan
 
1Spatial: Cardiff FME World Tour: A database for every occasion
1Spatial: Cardiff FME World Tour: A database for every occasion1Spatial: Cardiff FME World Tour: A database for every occasion
1Spatial: Cardiff FME World Tour: A database for every occasion1Spatial
 
Kafka Summit SF 2017 - Providing Reliability Guarantees in Kafka at One Trill...
Kafka Summit SF 2017 - Providing Reliability Guarantees in Kafka at One Trill...Kafka Summit SF 2017 - Providing Reliability Guarantees in Kafka at One Trill...
Kafka Summit SF 2017 - Providing Reliability Guarantees in Kafka at One Trill...confluent
 
Order from chaos: automating monitoring configuration
Order from chaos: automating monitoring configurationOrder from chaos: automating monitoring configuration
Order from chaos: automating monitoring configurationSensu Inc.
 
Docker for Ops: Operationalize your Docker Built Apps in Production by Evan H...
Docker for Ops: Operationalize your Docker Built Apps in Production by Evan H...Docker for Ops: Operationalize your Docker Built Apps in Production by Evan H...
Docker for Ops: Operationalize your Docker Built Apps in Production by Evan H...Docker, Inc.
 
Mobile Offline First
Mobile Offline FirstMobile Offline First
Mobile Offline FirstJulio Castro
 
Event-Driven Microservices With NATS Streaming
Event-Driven Microservices With NATS StreamingEvent-Driven Microservices With NATS Streaming
Event-Driven Microservices With NATS StreamingShiju Varghese
 
Searchlight + Horizon - Mitaka march 2016
Searchlight  + Horizon - Mitaka march 2016Searchlight  + Horizon - Mitaka march 2016
Searchlight + Horizon - Mitaka march 2016Travis Tripp
 
Cloud Native Patterns Using AWS
Cloud Native Patterns Using AWSCloud Native Patterns Using AWS
Cloud Native Patterns Using AWSAnderson Carvalho
 

What's hot (20)

An Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspectiveAn Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspective
 
Pull, Don't Push! Sensu Summit 2018 Talk
Pull, Don't Push! Sensu Summit 2018 TalkPull, Don't Push! Sensu Summit 2018 Talk
Pull, Don't Push! Sensu Summit 2018 Talk
 
Kubernetes go paddle meetup
Kubernetes go paddle meetupKubernetes go paddle meetup
Kubernetes go paddle meetup
 
Icinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga DirectorIcinga Camp Amsterdam - Icinga Director
Icinga Camp Amsterdam - Icinga Director
 
Diagnosing Problems in Production: Cassandra Summit 2014
Diagnosing Problems in Production: Cassandra Summit 2014Diagnosing Problems in Production: Cassandra Summit 2014
Diagnosing Problems in Production: Cassandra Summit 2014
 
The Rise of Streaming SQL
The Rise of Streaming SQLThe Rise of Streaming SQL
The Rise of Streaming SQL
 
Moving 150 TB of data resiliently on Kafka With Quorum Controller on Kubernet...
Moving 150 TB of data resiliently on Kafka With Quorum Controller on Kubernet...Moving 150 TB of data resiliently on Kafka With Quorum Controller on Kubernet...
Moving 150 TB of data resiliently on Kafka With Quorum Controller on Kubernet...
 
Kubernetes intro
Kubernetes introKubernetes intro
Kubernetes intro
 
CQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsCQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applications
 
Openstack India May Meetup
Openstack India May MeetupOpenstack India May Meetup
Openstack India May Meetup
 
Kubernetes and elixir
Kubernetes and elixirKubernetes and elixir
Kubernetes and elixir
 
1Spatial: Cardiff FME World Tour: A database for every occasion
1Spatial: Cardiff FME World Tour: A database for every occasion1Spatial: Cardiff FME World Tour: A database for every occasion
1Spatial: Cardiff FME World Tour: A database for every occasion
 
Kafka Summit SF 2017 - Providing Reliability Guarantees in Kafka at One Trill...
Kafka Summit SF 2017 - Providing Reliability Guarantees in Kafka at One Trill...Kafka Summit SF 2017 - Providing Reliability Guarantees in Kafka at One Trill...
Kafka Summit SF 2017 - Providing Reliability Guarantees in Kafka at One Trill...
 
Order from chaos: automating monitoring configuration
Order from chaos: automating monitoring configurationOrder from chaos: automating monitoring configuration
Order from chaos: automating monitoring configuration
 
Docker for Ops: Operationalize your Docker Built Apps in Production by Evan H...
Docker for Ops: Operationalize your Docker Built Apps in Production by Evan H...Docker for Ops: Operationalize your Docker Built Apps in Production by Evan H...
Docker for Ops: Operationalize your Docker Built Apps in Production by Evan H...
 
Mobile Offline First
Mobile Offline FirstMobile Offline First
Mobile Offline First
 
Event-Driven Microservices With NATS Streaming
Event-Driven Microservices With NATS StreamingEvent-Driven Microservices With NATS Streaming
Event-Driven Microservices With NATS Streaming
 
Searchlight + Horizon - Mitaka march 2016
Searchlight  + Horizon - Mitaka march 2016Searchlight  + Horizon - Mitaka march 2016
Searchlight + Horizon - Mitaka march 2016
 
Cloud Orchestration using CoreStack
Cloud Orchestration using CoreStackCloud Orchestration using CoreStack
Cloud Orchestration using CoreStack
 
Cloud Native Patterns Using AWS
Cloud Native Patterns Using AWSCloud Native Patterns Using AWS
Cloud Native Patterns Using AWS
 

Viewers also liked

Career Advice for Engineering Students in India
Career Advice for Engineering Students in IndiaCareer Advice for Engineering Students in India
Career Advice for Engineering Students in IndiaAditya Gupta
 
Cognitive dissonance is a Good thing
Cognitive dissonance is a Good thingCognitive dissonance is a Good thing
Cognitive dissonance is a Good thingAditya Gupta
 
Infographie passage au cloud
Infographie passage au cloudInfographie passage au cloud
Infographie passage au cloudAtoutDSI
 
CannLabs presentation from WeedStock Investor Conference 2014
CannLabs presentation from WeedStock Investor Conference 2014CannLabs presentation from WeedStock Investor Conference 2014
CannLabs presentation from WeedStock Investor Conference 2014CannLabs
 
法雅客攝影馬拉松記錄
法雅客攝影馬拉松記錄法雅客攝影馬拉松記錄
法雅客攝影馬拉松記錄Po-ru Lee
 
IE Admission Essay Question- A (UN Secretary)
IE Admission Essay  Question- A (UN Secretary) IE Admission Essay  Question- A (UN Secretary)
IE Admission Essay Question- A (UN Secretary) Aman Tripathi
 
Shapes shapes-everywhere
Shapes shapes-everywhereShapes shapes-everywhere
Shapes shapes-everywherekinderstars
 
Special senses
Special  sensesSpecial  senses
Special sensesstanralph
 
China air pollution season kicks off with a cough and a wheeze as coal plants...
China air pollution season kicks off with a cough and a wheeze as coal plants...China air pollution season kicks off with a cough and a wheeze as coal plants...
China air pollution season kicks off with a cough and a wheeze as coal plants...oddjoker3810
 
Endocrine system 1
Endocrine system 1Endocrine system 1
Endocrine system 1stanralph
 

Viewers also liked (20)

Career Advice for Engineering Students in India
Career Advice for Engineering Students in IndiaCareer Advice for Engineering Students in India
Career Advice for Engineering Students in India
 
Lou lou moose
Lou lou mooseLou lou moose
Lou lou moose
 
Team building
Team buildingTeam building
Team building
 
Farley fox
Farley foxFarley fox
Farley fox
 
Cognitive dissonance is a Good thing
Cognitive dissonance is a Good thingCognitive dissonance is a Good thing
Cognitive dissonance is a Good thing
 
Infographie passage au cloud
Infographie passage au cloudInfographie passage au cloud
Infographie passage au cloud
 
Jenny jaguar
Jenny  jaguarJenny  jaguar
Jenny jaguar
 
Arnie aardvark
Arnie  aardvarkArnie  aardvark
Arnie aardvark
 
Old joe crow
Old joe crowOld joe crow
Old joe crow
 
CannLabs presentation from WeedStock Investor Conference 2014
CannLabs presentation from WeedStock Investor Conference 2014CannLabs presentation from WeedStock Investor Conference 2014
CannLabs presentation from WeedStock Investor Conference 2014
 
法雅客攝影馬拉松記錄
法雅客攝影馬拉松記錄法雅客攝影馬拉松記錄
法雅客攝影馬拉松記錄
 
Making susanne
Making susanneMaking susanne
Making susanne
 
IE Admission Essay Question- A (UN Secretary)
IE Admission Essay  Question- A (UN Secretary) IE Admission Essay  Question- A (UN Secretary)
IE Admission Essay Question- A (UN Secretary)
 
Victor vampire
Victor vampireVictor vampire
Victor vampire
 
Responses
ResponsesResponses
Responses
 
Shapes shapes-everywhere
Shapes shapes-everywhereShapes shapes-everywhere
Shapes shapes-everywhere
 
Special senses
Special  sensesSpecial  senses
Special senses
 
Crazy camel
Crazy camelCrazy camel
Crazy camel
 
China air pollution season kicks off with a cough and a wheeze as coal plants...
China air pollution season kicks off with a cough and a wheeze as coal plants...China air pollution season kicks off with a cough and a wheeze as coal plants...
China air pollution season kicks off with a cough and a wheeze as coal plants...
 
Endocrine system 1
Endocrine system 1Endocrine system 1
Endocrine system 1
 

Similar to Meetups - A realtime distributed monitoring application (Android)

Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Stephen Gordon
 
Webinar 2017. Supercharge your analytics with ClickHouse. Alexander Zaitsev
Webinar 2017. Supercharge your analytics with ClickHouse. Alexander ZaitsevWebinar 2017. Supercharge your analytics with ClickHouse. Alexander Zaitsev
Webinar 2017. Supercharge your analytics with ClickHouse. Alexander ZaitsevAltinity Ltd
 
Utilizing the OpenNTF Domino API
Utilizing the OpenNTF Domino APIUtilizing the OpenNTF Domino API
Utilizing the OpenNTF Domino APIOliver Busse
 
Monitoring, the Prometheus Way - Julius Voltz, Prometheus
Monitoring, the Prometheus Way - Julius Voltz, Prometheus Monitoring, the Prometheus Way - Julius Voltz, Prometheus
Monitoring, the Prometheus Way - Julius Voltz, Prometheus Docker, Inc.
 
Utilizing the open ntf domino api
Utilizing the open ntf domino apiUtilizing the open ntf domino api
Utilizing the open ntf domino apiOliver Busse
 
Reactive Development: Commands, Actors and Events. Oh My!!
Reactive Development: Commands, Actors and Events.  Oh My!!Reactive Development: Commands, Actors and Events.  Oh My!!
Reactive Development: Commands, Actors and Events. Oh My!!David Hoerster
 
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & MobileIVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & MobileAmazon Web Services Japan
 
XMPP/Jingle(VoIP)/Perl Ocean 2012/03
XMPP/Jingle(VoIP)/Perl Ocean 2012/03XMPP/Jingle(VoIP)/Perl Ocean 2012/03
XMPP/Jingle(VoIP)/Perl Ocean 2012/03Lyo Kato
 
JavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EEJavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EERodrigo Cândido da Silva
 
Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018
Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018
Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018iguazio
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Docker, Inc.
 
Big Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI ProsBig Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI ProsAndrew Brust
 
Exploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservicesExploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservices💡 Tomasz Kogut
 
Webinar: What's new in CDAP 3.5?
Webinar: What's new in CDAP 3.5?Webinar: What's new in CDAP 3.5?
Webinar: What's new in CDAP 3.5?Cask Data
 
Fusion on Kubernetes - Alan Eugenio & Joe Streeky, Lucidworks
Fusion on Kubernetes - Alan Eugenio & Joe Streeky, LucidworksFusion on Kubernetes - Alan Eugenio & Joe Streeky, Lucidworks
Fusion on Kubernetes - Alan Eugenio & Joe Streeky, LucidworksLucidworks
 
Druid at naver.com - part 1
Druid at naver.com - part 1Druid at naver.com - part 1
Druid at naver.com - part 1Jungsu Heo
 

Similar to Meetups - A realtime distributed monitoring application (Android) (20)

F8 tech talk_pinterest_v4
F8 tech talk_pinterest_v4F8 tech talk_pinterest_v4
F8 tech talk_pinterest_v4
 
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
 
Webinar 2017. Supercharge your analytics with ClickHouse. Alexander Zaitsev
Webinar 2017. Supercharge your analytics with ClickHouse. Alexander ZaitsevWebinar 2017. Supercharge your analytics with ClickHouse. Alexander Zaitsev
Webinar 2017. Supercharge your analytics with ClickHouse. Alexander Zaitsev
 
Utilizing the OpenNTF Domino API
Utilizing the OpenNTF Domino APIUtilizing the OpenNTF Domino API
Utilizing the OpenNTF Domino API
 
Monitoring, the Prometheus Way - Julius Voltz, Prometheus
Monitoring, the Prometheus Way - Julius Voltz, Prometheus Monitoring, the Prometheus Way - Julius Voltz, Prometheus
Monitoring, the Prometheus Way - Julius Voltz, Prometheus
 
Node.js
Node.jsNode.js
Node.js
 
Utilizing the open ntf domino api
Utilizing the open ntf domino apiUtilizing the open ntf domino api
Utilizing the open ntf domino api
 
Windows 8 Apps and the Outside World
Windows 8 Apps and the Outside WorldWindows 8 Apps and the Outside World
Windows 8 Apps and the Outside World
 
Reactive Development: Commands, Actors and Events. Oh My!!
Reactive Development: Commands, Actors and Events.  Oh My!!Reactive Development: Commands, Actors and Events.  Oh My!!
Reactive Development: Commands, Actors and Events. Oh My!!
 
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & MobileIVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
 
.NET7.pptx
.NET7.pptx.NET7.pptx
.NET7.pptx
 
XMPP/Jingle(VoIP)/Perl Ocean 2012/03
XMPP/Jingle(VoIP)/Perl Ocean 2012/03XMPP/Jingle(VoIP)/Perl Ocean 2012/03
XMPP/Jingle(VoIP)/Perl Ocean 2012/03
 
JavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EEJavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EE
 
Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018
Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018
Serverless and AI: Orit Nissan-Messing, Iguazio, Serverless NYC 2018
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
 
Big Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI ProsBig Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI Pros
 
Exploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservicesExploring Twitter's Finagle technology stack for microservices
Exploring Twitter's Finagle technology stack for microservices
 
Webinar: What's new in CDAP 3.5?
Webinar: What's new in CDAP 3.5?Webinar: What's new in CDAP 3.5?
Webinar: What's new in CDAP 3.5?
 
Fusion on Kubernetes - Alan Eugenio & Joe Streeky, Lucidworks
Fusion on Kubernetes - Alan Eugenio & Joe Streeky, LucidworksFusion on Kubernetes - Alan Eugenio & Joe Streeky, Lucidworks
Fusion on Kubernetes - Alan Eugenio & Joe Streeky, Lucidworks
 
Druid at naver.com - part 1
Druid at naver.com - part 1Druid at naver.com - part 1
Druid at naver.com - part 1
 

Recently uploaded

Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyAnusha Are
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456KiaraTiradoMicha
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 

Recently uploaded (20)

Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 

Meetups - A realtime distributed monitoring application (Android)

  • 2. Overview • Meetup • Feature list • Architecture • Heartbeats • Pointers / Key Challenges • Work Distribution 2
  • 3. Meetup What Live Android App Realtime multi-agent monitoring Why Help people ‘Meetup’ And get around safely 3
  • 4. Feature List • Notifications • Pair-up / Pooling Suggestions • Automatic Activation / Deactivationprivacy • Automatic Contact Syncing • Modern UI Design • Navigate to past locations of other users • Low Bandwidth Usagepayloads 4
  • 5. Backend Architecture
 https://github.com/ca9/meetup-backend • Google Cloud Endpoints (Backend) • Free. Easy deployment. Documented. Google Support. • Logs, Traces, Version Management. • Python API Server • Stateless BaaS • NDB Datastore 5
  • 6. Backend Pointers • Security • OAuth2 Authentication (took 2 months to get right), 
 Google library changes. Google API token management. • POST encapsulation, SHA1 identification • Documented Client library generation, with code completion • UTC timezones • Checking for duplication. Object deletion. • Stateless (No GCM dependency). No ‘session’. 6
  • 8. Frontend Architecture
 https://github.com/vedantswain/Meetup-Android • Integration • Interaction with backend server via client libraries • Simplified development of client side and maintained consistency in responses and requests • Security • Credentials create user and data api instances for (secure) communication with the server • One-time-login: Saved state of authenticated state on client’s SharedPreferences 8
  • 9. Frontend Contd. • Time • Default timezones on Mobile Devices • DateTime object sent to server as
 epoch (independent of timezone) • Server stores time in UTC • Ensures consistency between the clients (irrespective of timezone) and with the server • Exclusive Functions for Meetup Owner • Certain functions (activate, deactivate) can only be executed by the owner of the metope • Prevents anarchic behaviour 9 Frontend Structure
  • 10. Frontend Contd. • Single Service • Optimisation: Single background service that sends periodic heartbeats for a given user to all the meetups • Local Database • Locations of users for different meetups at different times are stored in the a local db • Avoids fetching bulk data from server; simply handles light weight latest locations • Visualisation • Plots path of every user on the map • Heartbeat locations are nodes • Colour coordinated paths to ease interpretation 10 public static abstract class LocationEntry implements BaseColumns { public static final String TABLE_NAME = "Location"; public static final String TIME = "Time"; public static final String LATITUDE = "Latitude"; public static final String LONGITUDE="Longitude"; public static final String USERNAME="User_Name"; public static final String MEETUPNAME="Meetup_Name"; public static final String SQL_CREATE_ENTRIES = "CREATE TABLE " + LocationEntry.TABLE_NAME + " (" + LocationEntry._ID + " INTEGER PRIMARY KEY," + LocationEntry.TIME + REAL_TYPE + COMMA_SEP + LocationEntry.LATITUDE + REAL_TYPE + COMMA_SEP + LocationEntry.LONGITUDE + REAL_TYPE + COMMA_SEP + LocationEntry.USERNAME + TEXT_TYPE + COMMA_SEP + LocationEntry.MEETUPNAME +TEXT_TYPE + " )"; public static final String SQL_DELETE_ENTRIES = "DROP TABLE IF EXISTS " + LocationEntry.TABLE_NAME; } SQLite Local DB
  • 11. Heartbeats • Lightweight, high frequency messages • Can be dropped / Can fail • Trigger all important app functionality • Status Responses • Gotta give to get some love. • Life: Update last location and timestamp of user under meetup. Check for proximity to destination, other users. Auto deactivate meetups, return other’s latest heartbeats. 11
  • 12. Work Distribution • Backend - https://github.com/ca9/meetup-backend • Frontend - https://github.com/vedantswain/Meetup-Android 12