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
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.
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 ...
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.
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 ...
Interns work closely with (OTC) on a part-time. basis ... University of Minnesota graduate students (MS, PhD, MBA, JD) who have completed their coursework.
community. If you are interested in working with youth and providing summer programming ... we are looking for you! Closing date: ... students in all Faculties.
may help individual companies attract more diverse talent ... taught by software developers on a volunteer basis. ... all students, ScriptEd internships are paid at.
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
charter schools throughout the. Greater Philadelphia region ... programming features large-scale ... possess strong computer and research skills, be familiar with ...
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
n Ithaca, New York. n Transfer Orientation ... n Student Leader support. n Assessment. Page 4 of 12. Internship Presentation.pdf. Internship Presentation.pdf.
organizations, government, academia and other related public service areas. The MARY'S HOUSE. internship program will provide interns with dynamic work, ...
There was a problem previewing this document. Retrying... Download. Connect more ... NowFloats Internship Program.pdf. NowFloats Internship Program.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
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 ...
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,
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.
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.
... 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.
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.
We need a Website Developer who can create simple, aesthetic, effective and meanin gful websites using platforms such as: HTML5, Drupal or innovative ...
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. We are looking for people ... Who are: good at problem solving and believe in Fire-n-Motion way of approaching solutions.
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.