OPTMYZR

INTERNSHIP PROJECT A distributed notification system with mobile front and backend hosted in the cloud.

Technologies used

Android SDK CodeIgniter Google Cloud Messaging Service Amazon Web Services SDK > Simple Notification Service > DynamoDB ( Cloud based NoSQL Database System )

Dev tools used

Android SDK

Eclipse IDE

To develop and debug Android App using

Aptana Studio 3.0

To code the backend scripts of the notification system using

Postman REST Client

Primarily to debug the process of making HTTP calls to web servers and analysing the responses.

Eclipse Android Development Tools Plugin.

CodeIgniter framework (PHP). Amazon Web Services SDK. .

TECHNOLOGY OVERVIEW About GCM and AWS

Google Cloud Messaging:

GCM

Its is a service that helps developers send data from servers to their Android applications

Amazon Web Service Simple Notification Service: It provides a multiprotocol “push” messaging for applications

AWS SNS

Amazon DynamoDB

It provides a scalable, NoSQL online Database Service. Used to store user messages and devices details in this project

DynamoDB - schema Users-Devices table UserID

Device GCM ID

SNS Endpoint Arn

Primary Index

Hash Key: GCM ID Range Key: SNS Endpoint Arn

Secondary Index

Hash Key: GCM ID Range Key: User ID

DynamoDB - schema Users-Messages table UserID

MessageID Subject

Message

Primary Index

Hash Key: UserID

Secondary Index

Hash Key: UserID

Sent Time

Range Key: Seen (true/false)

Range Key: MessageID

Seen Time

Seen (Y/N)

PROCESS FLOW Step 1: Device getting registered to GCM

GCM Google Cloud Messenger

Unique Device Recognized

Device ID caught by the Broadcast Receiver Class Device ID written and stored in the device file system

Unique Device ID Returned from GCM

PROCESS FLOW Step 2: Device and User getting registered to Amazon Web Service.

Retrieve device ID from device file system

HTTP Call Authentication

User redirected to Optmyzr dashboard

HTTP call to Optmyzr server with device ID

OPTMYZR SERVER

User login to OPTMYZR account

Cookie set and stored in a file and user ID as a static variable

YES

AWS DynamoDB database query: Verify if the incoming device ID and user ID matches with the data in the users table.

Success?

NO

End process Case 1 Device ID does not exist in table

Case 2 User ID and device ID mismatch

Case 3

Same IDs combination

Current user is a returning user from the same device and has been properly registered

Case 1:

Device ID does not exist in the table

A device endpoint is created in Amazon SNS associated with the GCM App and Endpoint Arn value is noted

Topic

• A private topic is created for the user (if not already existing)

Subscribe

• The created endpoint is subscribed to the private topic

Public

• The created endpoint is subscribed to the public topic

Cookie set and stored in a file and user ID as a static variable

An entry containing Endpoint Arn value, GCM device ID and associated user ID in the users database table is created

End

GCM

uID

1***

d**

2***

And taken to the dashboard

OPTMYZR SERVER

User logged in successfully

This means that the device is logging into Optmyzr for the first time and has not been registered for any notifications

User ID and device ID mismatch

Case 2:

New data

Cookie set and stored in a file and user ID as a static variable

Incoming data GCM

uID

End

d**

4***

1***

GCM

uID

End

GCM

uID

d**

2***

1***

d**

4***

New Subscription

• From the existing table, unsubscribe the current device (Endpoint) from its associated private topic Unsubscribe

• Subscribe the Endpoint to the topic associated with the incoming user ID ( create and one and subscribe if it doesn’t exist )

• Update the database to hold the new user-device combo Update database

And taken to the dashboard

Existing data

OPTMYZR SERVER

User logged in successfully

This means that the device was logged in as some other user before and the notification registration has to be revised and enabled for the current user and device combo

PROCESS FLOW Step 3: Publishing message/notification from server to device

{ JSON Message }

A

AWS: User y

{ JSON Message }

OPTMYZR SERVER

AWS DynamoDB messages table

AWS: User x

X

{ JSON Message }

Y

GCM

AWS: Public topic

X Q

P

A

Y

PROCESS FLOW Step 4: Receiving and displaying notification in device (mobile/tab)

{ JSON }

Cookie data fetched from device’s file system

AWS DynamoDB user messages table

Cookie expired

(On open notification)

HTTP Call UserID sent

OPTMYZR SERVER

For seen messages

No notification shown

Notification

Query for unread messages and collect data

Update database

Cookie expiration check

Delete notification element (JavaScript)

Generate responsive mobile web page displaying notifications

GCM

AJAX Call

SEEN (Button press)

THANK YOU Dhiwakar N Amarnath NIT Trichy

internship poject -

developers send data from servers to their Android applications. AWS SNS. Amazon Web Service. Simple Notification Service: It provides a multiprotocol. “push” messaging for applications. Amazon. DynamoDB. It provides a scalable, NoSQL online Database Service. Used to store user messages and devices details in this.

641KB Sizes 1 Downloads 322 Views

Recommend Documents

Internship Brochure - ScriptEd
choose their career in high school or earlier,3 the work needs to be done when students are choosing a career path, and before they enter college. The ScriptEd ...

internship handbook -
mark your report what you know about your HO, what you do in your ... your supervisor to give a specific mark rather than just put a tick (v) or a cross (x) in the.

2015 Internship Open House Poster - Internship Website Project.pdf ...
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. 2015 Internship ...

Internship
Interns work closely with (OTC) on a part-time. basis ... University of Minnesota graduate students (MS, PhD, MBA, JD) who have completed their coursework.

internship opportunities -
community. If you are interested in working with youth and providing summer programming ... we are looking for you! Closing date: ... students in all Faculties.

Internship Brochure - ScriptEd
may help individual companies attract more diverse talent ... taught by software developers on a volunteer basis. ... all students, ScriptEd internships are paid at.

Internship Report
Sep 4, 2007 - 2.2.1.2. Asia-Pacific Team. Mathieu joined the EM IT team for Asia-Pacific in Singapore reporting to Stephen. Richards and Steven Mutch. He collaborated which different members of the team on different projects. The team is a perfect ex

internship opportunity
charter schools throughout the. Greater Philadelphia region ... programming features large-scale ... possess strong computer and research skills, be familiar with ...

Internship report
Jun 12, 2006 - the market in UK, Ireland and Europe and through a network of ... The Risk and Control Assessment System gives business and risk managers ... On client side only Internet Explorer version 5.5 or above is required which makes .... him a

Internship Presentation.pdf
n Ithaca, New York. n Transfer Orientation ... n Student Leader support. n Assessment. Page 4 of 12. Internship Presentation.pdf. Internship Presentation.pdf.

Internship Description MH.pdf
organizations, government, academia and other related public service areas. The MARY'S HOUSE. internship program will provide interns with dynamic work, ...

NowFloats Internship Program.pdf
There was a problem previewing this document. Retrying... Download. Connect more ... NowFloats Internship Program.pdf. NowFloats Internship Program.pdf.

2017 Internship Application.pdf
Page 1 of 4. 1. Open Door Ministries. Internship Application. Applicant Information. Full Name: Date: Last First M.I.. Address: Street Address Apartment/Unit #. City State ZIP Code. Phone: Email. Ministries interested: Please list the name, number an

Internship Opportunity - Northern Texas PGA
Ability to edit using software such as Final Cut Pro X or Adobe Premiere. ▫ Experience with Adobe Creative Suite a plus. ▫ Ability to use Apple Computers and ...

Community Programs Internship -
parking will be provided for Interns. Summary: This intern will be working with the Community Program Manager and team to assist with the grants program,. Breast Cancer Issues Conference, Race for the Cure and related activities, volunteer trainings,

IGLR-Internship 2011_UEH -
and Hanoi with 40 professionals. Today, our clients make up ... 08-2210 1718. Address: R. 903, 9th Floor, Sun Wah Tower, 115 Nguyen Hue St., Dist. 1, HCMC.

Internship Opportunity - Northern Texas PGA
Manage and promote the Junior Tour via social media outlets, including ... Assist with the management of the NTPGA Junior Golf Foundation Website ... The Northern Texas PGA will hire approximately 20 total interns for the summer of 2015.

2017 Internship Flyer.pdf
... on the Hanford site in Richland, Washington. We offer 10-12 week internship assignments with the following companies: Page 2 of 2. 2017 Internship Flyer.pdf.

2017 Internship Flyer.pdf
We offer 10-12 week internship assignments with the following companies: Page 2 of 2. 2017 Internship Flyer.pdf. 2017 Internship Flyer.pdf. Open. Extract.

INTERNSHIP: Web Development/ Graphics - Groups
We need a Website Developer who can create simple, aesthetic, effective and meanin gful websites using platforms such as: HTML5, Drupal or innovative ...

Arl Internship Report.pdf
industry from exploration to production, and refining to marketing of a wide range of. petroleum products in Pakistan. Page 3 of 19. Arl Internship Report.pdf.

Engineering Internship - Swiggy.in -
Engineering Internship - Swiggy.in. We are looking for people ... Who are: good at problem solving and believe in Fire-n-Motion way of approaching solutions.

Internship at FantaCode -
The final and pre-final year students from CSE, IT, ECE and MCA Departments are welcome for the internship program conducted by FantaCode Solutions. 2.