SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Team Project
TwitterTrend Analyzer
Group 20
Ikwhan Chang / QuanTrung Nguyen
Prof. Hungwen Li
11-May, 2017
1
Final Presentation
INDEX
• Overview
• Twitter Developer API
• Search API
• Streaming API
• Web Socket
• Chart & Map
• Heroku for the PaaS
• Architecture
• Data Flows
• User Interface & Demo
2
Overview
• Project Title
• The trend analysis and predict engine for a specific keyword of Twitter by using cloud platform
• Description
• Twitter is one of popular social networking tools to share our think or news, and it will rapidly
spread across the worlds.
• We will make a web application to collect the Twitter's feeds related to the specific word,
and then provide the user a daily trend by using a realtime linear chart and geographical chart
• Team Members
3
Name Ikwhan Chang Role Frontend / API / Cloud / UX
Name Quan Nguyen Trung Role Backend / Data Handling
Twitter Developer API
• Register the application
• To use the Twitter’s API, we need to register our application at dev.twitter.com
• OAuth
• Twitter data are collected by using Twitter APIs, which require OAuth to identify Twitter applications and users.
• Allow users to access to a protected database. (e.g. twits, mentions..)
• The user authentication will use a signed request to identify an application‘s identity along with the user’s access token. There are four secret keys
4
dev.twitter.com
Consumer Key/Secret
Access Token/Secret
Twitter Search API
• It generates queries to collect data of recent and popular Tweets with certain criteria
• We can also use a set of parameters to have a better control of the search results.
• Result Type: indicates that the search results will be recent or/and popular
Tweets
• Geolocalization: restricts the location of Tweets
• Language: restricts the languages of Tweets
• Iterating in a result set: controls size of search results
• When the user enters the keyword, the application will create an URL-encoded
search query and will be sent to the server via the HTTP request.
• After receiving the HTTP request, the server will pass keyword value to parameter q
{q: keyword} to perform the search.
• When the server receives the search result from Twitter, it will send the result back to
client via HTTP response in form of JSON files.
5
Search API - backend
Search - frontend
Twitter Streaming API
• We used Streaming APIs to obtain high volume, real-time data from
Twitter for our charts
• Twitter provides several basic streaming types:
• Public streams: the streaming data comes from the public data
flowing through Twitter
• User streams: the single-user streaming data comes from a
single user’s view of Twitter
• Site streams: this is the multi-user version of user streams
• The streaming connection process will get the collected data,
perform the tasks parsing, filtering and store the result into a data
store.
• Then the HTTP server will get the processed result to send back to
the user by using Web Socket
6
Streaming API overview
Web Socket
• WebSocket is a computer communications protocol, providing full-
duplex communication channels over a single TCP connection.
• WebSockets are based on http, but are completely different protocols
than the http protocol.
• Since WebSockets do not send header information except for the initial
connection, they are much more cost effective in terms of network cost
and can be implemented quickly and without waiting because of full-
duplex communication.
• Our application uses WebSockets to send the streamed Twits into web
browser by using socket.io
7
Web Socket Flows
socket.io
Chart and Map
• HighCharts (www.highchart.com)
• For the real-time chart, we used the javascript library of HighCharts’s
linear chart.
• In order to draw the graph like above, you need to use jquery called
Highcharts
• Google Map API (https://developers.google.com/maps
• We used the Google Map API in order to the geographical chart and
the geocoding.
• The geocoding means we can convert from actual user’s address to
coordinates like latitude and longitude.
• Since twitter API provide us just user’s location character, we need to
convert from it to the actual geo coordinates in order to show into our
geographic chart.
8
Heroku for PaaS
• Heroku is a new way of deploying web applications,
where developers are providing services based on the
idea that they can concentrate on the code of the web
application without losing time for tasks such as server
configuration, deployment environment, and server
expansion.
• Developers are only deployed and restarted by writing
source code, committing the code to the git repository
for deployment, and pushing it to the remote Heroku
repository.
• If the success of your web application requires more
servers, increasing the number of processors called
Dyno will have the same effect as adding multiple
servers.
9
Type of Cloud Computing
Heroku Deployment Architecture
Architecture
10
Back-end Front-end
Integrated Framework
UI/CSS Framework
Dependencies Management
Javascript Framework
Testing
Task Management
Test Runner
Pre-processor
Compressor
UglifyJS, UglifyCSS
Code Qualifier
Documentation
JSDoc3
Lazy Loader
Integrated Framework
Cloud
Streaming
Twitter Stream API
Data Flows
11
Frontend Backend OAuth
Search Search
/search?q=iphone

&start_date=20160227

&end_Date=20170327
Trend Chart
Streaming
Geographic Chart
{twits:[{

‘no’:’1’,

‘twit’:’#iphone is gorgeous!!’

‘date’:’2017-01-18’,

‘location’:’San Jose, CA’},
…..

]}
{[{‘date’:’2017-03-26’,’expected’:45’},
{‘date’:’2017-03-27’,’expected’:45’},
….
]
Date Range
http://localhost:8080
http://localhost:8080
Stream API
{keyword:’iphone’}
Key Exchange (Secret key, token)
User Interface & Demo
Search Box
Realtime Linear Chart
Geographical Chart
Actual Twit Data
# of streamed Tweets
http://twitter-trend-analyzer2.herokuapp.com
Thank You 13
https://github.com/IkwhanChang/twitter-trend-analyzer

Más contenido relacionado

La actualidad más candente

Ch. 6.1--Ancient Rome
Ch. 6.1--Ancient RomeCh. 6.1--Ancient Rome
Ch. 6.1--Ancient RomeJohn Hext
 
8 reasons why the roman empire fell
8 reasons why the roman empire fell8 reasons why the roman empire fell
8 reasons why the roman empire fellRene Lafayette
 
The kharan fort balochistan
The kharan fort balochistanThe kharan fort balochistan
The kharan fort balochistanSaba Naz
 
Ancient china huang he civilizations
Ancient china  huang he civilizationsAncient china  huang he civilizations
Ancient china huang he civilizationsKimberly Simpson
 
The Inca civilization
The Inca civilizationThe Inca civilization
The Inca civilizationArbab Ibrahim
 
Greek Civilization
Greek CivilizationGreek Civilization
Greek CivilizationKim Frances
 
Constantine & Religion
Constantine & ReligionConstantine & Religion
Constantine & ReligionClaire James
 
Indus Valley Civ and China
Indus Valley Civ and China Indus Valley Civ and China
Indus Valley Civ and China Nick O'Kieffe
 
World History II review Guide
World History II review GuideWorld History II review Guide
World History II review Guidegibsonworld2
 
Shang Dynasty
Shang DynastyShang Dynasty
Shang DynastyMhia Lu
 

La actualidad más candente (12)

Ch. 6.1--Ancient Rome
Ch. 6.1--Ancient RomeCh. 6.1--Ancient Rome
Ch. 6.1--Ancient Rome
 
Fall of the Roman Republic
Fall of the Roman RepublicFall of the Roman Republic
Fall of the Roman Republic
 
8 reasons why the roman empire fell
8 reasons why the roman empire fell8 reasons why the roman empire fell
8 reasons why the roman empire fell
 
The kharan fort balochistan
The kharan fort balochistanThe kharan fort balochistan
The kharan fort balochistan
 
Ancient china huang he civilizations
Ancient china  huang he civilizationsAncient china  huang he civilizations
Ancient china huang he civilizations
 
Burma campaign
Burma campaignBurma campaign
Burma campaign
 
The Inca civilization
The Inca civilizationThe Inca civilization
The Inca civilization
 
Greek Civilization
Greek CivilizationGreek Civilization
Greek Civilization
 
Constantine & Religion
Constantine & ReligionConstantine & Religion
Constantine & Religion
 
Indus Valley Civ and China
Indus Valley Civ and China Indus Valley Civ and China
Indus Valley Civ and China
 
World History II review Guide
World History II review GuideWorld History II review Guide
World History II review Guide
 
Shang Dynasty
Shang DynastyShang Dynasty
Shang Dynasty
 

Similar a Twitter Trend Analyzer

Real-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service BusReal-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service BusDinusha Kumarasiri
 
API Testing. Streamline your testing process.
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.Andrey Oleynik
 
Spring Social - Messaging Friends & Influencing People
Spring Social - Messaging Friends & Influencing PeopleSpring Social - Messaging Friends & Influencing People
Spring Social - Messaging Friends & Influencing PeopleGordon Dickens
 
Portal and Intranets
Portal and Intranets Portal and Intranets
Portal and Intranets Redar Ismail
 
Advanced Web Design And Development BIT 3207
Advanced Web Design And Development BIT 3207Advanced Web Design And Development BIT 3207
Advanced Web Design And Development BIT 3207Lori Head
 
(ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service (ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service BIOVIA
 
RESTful web
RESTful webRESTful web
RESTful webAlvin Qi
 
App_Engine_PPT..........................
App_Engine_PPT..........................App_Engine_PPT..........................
App_Engine_PPT..........................HassamShahid2
 
SignalR Dublin ALT.NET
SignalR Dublin ALT.NETSignalR Dublin ALT.NET
SignalR Dublin ALT.NETDorin Manoli
 
Featfures of asp.net
Featfures of asp.netFeatfures of asp.net
Featfures of asp.netDivyaDev9
 
How a Tweet Went Viral - BIWA Summit 2017
How a Tweet Went Viral - BIWA Summit 2017How a Tweet Went Viral - BIWA Summit 2017
How a Tweet Went Viral - BIWA Summit 2017Rittman Analytics
 
SpringOne Tour: An Introduction to Azure Spring Apps Enterprise
SpringOne Tour: An Introduction to Azure Spring Apps EnterpriseSpringOne Tour: An Introduction to Azure Spring Apps Enterprise
SpringOne Tour: An Introduction to Azure Spring Apps EnterpriseVMware Tanzu
 

Similar a Twitter Trend Analyzer (20)

Real-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service BusReal-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service Bus
 
Introduction to SignalR
Introduction to SignalRIntroduction to SignalR
Introduction to SignalR
 
API Testing. Streamline your testing process.
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.
 
Spring Social - Messaging Friends & Influencing People
Spring Social - Messaging Friends & Influencing PeopleSpring Social - Messaging Friends & Influencing People
Spring Social - Messaging Friends & Influencing People
 
Portal and Intranets
Portal and Intranets Portal and Intranets
Portal and Intranets
 
Advanced Web Design And Development BIT 3207
Advanced Web Design And Development BIT 3207Advanced Web Design And Development BIT 3207
Advanced Web Design And Development BIT 3207
 
(ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service (ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service
 
Twet
TwetTwet
Twet
 
RESTful web
RESTful webRESTful web
RESTful web
 
App_Engine_PPT.ppt
App_Engine_PPT.pptApp_Engine_PPT.ppt
App_Engine_PPT.ppt
 
App_Engine_PPT.ppt
App_Engine_PPT.pptApp_Engine_PPT.ppt
App_Engine_PPT.ppt
 
App_Engine_PPT.ppt
App_Engine_PPT.pptApp_Engine_PPT.ppt
App_Engine_PPT.ppt
 
App_Engine_PPT..........................
App_Engine_PPT..........................App_Engine_PPT..........................
App_Engine_PPT..........................
 
Azure signalr service
Azure signalr serviceAzure signalr service
Azure signalr service
 
SignalR Dublin ALT.NET
SignalR Dublin ALT.NETSignalR Dublin ALT.NET
SignalR Dublin ALT.NET
 
Open Source india 2014
Open Source india 2014Open Source india 2014
Open Source india 2014
 
Featfures of asp.net
Featfures of asp.netFeatfures of asp.net
Featfures of asp.net
 
How a Tweet Went Viral - BIWA Summit 2017
How a Tweet Went Viral - BIWA Summit 2017How a Tweet Went Viral - BIWA Summit 2017
How a Tweet Went Viral - BIWA Summit 2017
 
SpringOne Tour: An Introduction to Azure Spring Apps Enterprise
SpringOne Tour: An Introduction to Azure Spring Apps EnterpriseSpringOne Tour: An Introduction to Azure Spring Apps Enterprise
SpringOne Tour: An Introduction to Azure Spring Apps Enterprise
 
CV_Priyamadhab
CV_PriyamadhabCV_Priyamadhab
CV_Priyamadhab
 

Más de Matthew Chang

Research and Analysis of SSH
Research and Analysis of SSH Research and Analysis of SSH
Research and Analysis of SSH Matthew Chang
 
Digital Certified Mail (PPT)
Digital Certified Mail (PPT)Digital Certified Mail (PPT)
Digital Certified Mail (PPT)Matthew Chang
 
Digital Certified Mail
Digital Certified MailDigital Certified Mail
Digital Certified MailMatthew Chang
 
The implementation of Banker's algorithm, data structure and its parser
The implementation of Banker's algorithm, data structure and its parserThe implementation of Banker's algorithm, data structure and its parser
The implementation of Banker's algorithm, data structure and its parserMatthew Chang
 
Image Compression Storage Policy for Openstack Swift
Image Compression Storage Policy for Openstack SwiftImage Compression Storage Policy for Openstack Swift
Image Compression Storage Policy for Openstack SwiftMatthew Chang
 
Analyze of Tumblr.com
Analyze of Tumblr.comAnalyze of Tumblr.com
Analyze of Tumblr.comMatthew Chang
 
A new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeA new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeMatthew Chang
 
Logic Circuit Project Final Presentation
Logic Circuit Project Final PresentationLogic Circuit Project Final Presentation
Logic Circuit Project Final PresentationMatthew Chang
 
Programming Language Final PPT
Programming Language Final PPTProgramming Language Final PPT
Programming Language Final PPTMatthew Chang
 
Profile_ Ikwhan chang
Profile_ Ikwhan changProfile_ Ikwhan chang
Profile_ Ikwhan changMatthew Chang
 
모바일 앱 개발 최종 발표 Proposal
모바일 앱 개발 최종 발표 Proposal모바일 앱 개발 최종 발표 Proposal
모바일 앱 개발 최종 발표 ProposalMatthew Chang
 
Capstone Project Final Presentation
Capstone Project Final PresentationCapstone Project Final Presentation
Capstone Project Final PresentationMatthew Chang
 
Project Avalon Online(Game) Final Report
Project Avalon Online(Game) Final ReportProject Avalon Online(Game) Final Report
Project Avalon Online(Game) Final ReportMatthew Chang
 
Project NGX - Proposal
Project NGX - ProposalProject NGX - Proposal
Project NGX - ProposalMatthew Chang
 
Report : Android Simple Bug Catch Game(Korean)
Report : Android Simple Bug Catch Game(Korean)Report : Android Simple Bug Catch Game(Korean)
Report : Android Simple Bug Catch Game(Korean)Matthew Chang
 
Capstone Project Last Demonstration
Capstone Project Last DemonstrationCapstone Project Last Demonstration
Capstone Project Last DemonstrationMatthew Chang
 
Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출Matthew Chang
 

Más de Matthew Chang (20)

Research and Analysis of SSH
Research and Analysis of SSH Research and Analysis of SSH
Research and Analysis of SSH
 
Digital Certified Mail (PPT)
Digital Certified Mail (PPT)Digital Certified Mail (PPT)
Digital Certified Mail (PPT)
 
Digital Certified Mail
Digital Certified MailDigital Certified Mail
Digital Certified Mail
 
The implementation of Banker's algorithm, data structure and its parser
The implementation of Banker's algorithm, data structure and its parserThe implementation of Banker's algorithm, data structure and its parser
The implementation of Banker's algorithm, data structure and its parser
 
Image Compression Storage Policy for Openstack Swift
Image Compression Storage Policy for Openstack SwiftImage Compression Storage Policy for Openstack Swift
Image Compression Storage Policy for Openstack Swift
 
Urhyme introduction
Urhyme introductionUrhyme introduction
Urhyme introduction
 
SDN Project PPT
SDN Project PPTSDN Project PPT
SDN Project PPT
 
Analyze of Tumblr.com
Analyze of Tumblr.comAnalyze of Tumblr.com
Analyze of Tumblr.com
 
Project Avalon
Project AvalonProject Avalon
Project Avalon
 
A new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeA new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr code
 
Logic Circuit Project Final Presentation
Logic Circuit Project Final PresentationLogic Circuit Project Final Presentation
Logic Circuit Project Final Presentation
 
Programming Language Final PPT
Programming Language Final PPTProgramming Language Final PPT
Programming Language Final PPT
 
Profile_ Ikwhan chang
Profile_ Ikwhan changProfile_ Ikwhan chang
Profile_ Ikwhan chang
 
모바일 앱 개발 최종 발표 Proposal
모바일 앱 개발 최종 발표 Proposal모바일 앱 개발 최종 발표 Proposal
모바일 앱 개발 최종 발표 Proposal
 
Capstone Project Final Presentation
Capstone Project Final PresentationCapstone Project Final Presentation
Capstone Project Final Presentation
 
Project Avalon Online(Game) Final Report
Project Avalon Online(Game) Final ReportProject Avalon Online(Game) Final Report
Project Avalon Online(Game) Final Report
 
Project NGX - Proposal
Project NGX - ProposalProject NGX - Proposal
Project NGX - Proposal
 
Report : Android Simple Bug Catch Game(Korean)
Report : Android Simple Bug Catch Game(Korean)Report : Android Simple Bug Catch Game(Korean)
Report : Android Simple Bug Catch Game(Korean)
 
Capstone Project Last Demonstration
Capstone Project Last DemonstrationCapstone Project Last Demonstration
Capstone Project Last Demonstration
 
Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출
 

Último

Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%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
 
%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
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%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
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
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
 
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
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%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
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 

Último (20)

Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%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
 
%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
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%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
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
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 🔝✔️✔️
 
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
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%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
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 

Twitter Trend Analyzer

  • 1. Team Project TwitterTrend Analyzer Group 20 Ikwhan Chang / QuanTrung Nguyen Prof. Hungwen Li 11-May, 2017 1 Final Presentation
  • 2. INDEX • Overview • Twitter Developer API • Search API • Streaming API • Web Socket • Chart & Map • Heroku for the PaaS • Architecture • Data Flows • User Interface & Demo 2
  • 3. Overview • Project Title • The trend analysis and predict engine for a specific keyword of Twitter by using cloud platform • Description • Twitter is one of popular social networking tools to share our think or news, and it will rapidly spread across the worlds. • We will make a web application to collect the Twitter's feeds related to the specific word, and then provide the user a daily trend by using a realtime linear chart and geographical chart • Team Members 3 Name Ikwhan Chang Role Frontend / API / Cloud / UX Name Quan Nguyen Trung Role Backend / Data Handling
  • 4. Twitter Developer API • Register the application • To use the Twitter’s API, we need to register our application at dev.twitter.com • OAuth • Twitter data are collected by using Twitter APIs, which require OAuth to identify Twitter applications and users. • Allow users to access to a protected database. (e.g. twits, mentions..) • The user authentication will use a signed request to identify an application‘s identity along with the user’s access token. There are four secret keys 4 dev.twitter.com Consumer Key/Secret Access Token/Secret
  • 5. Twitter Search API • It generates queries to collect data of recent and popular Tweets with certain criteria • We can also use a set of parameters to have a better control of the search results. • Result Type: indicates that the search results will be recent or/and popular Tweets • Geolocalization: restricts the location of Tweets • Language: restricts the languages of Tweets • Iterating in a result set: controls size of search results • When the user enters the keyword, the application will create an URL-encoded search query and will be sent to the server via the HTTP request. • After receiving the HTTP request, the server will pass keyword value to parameter q {q: keyword} to perform the search. • When the server receives the search result from Twitter, it will send the result back to client via HTTP response in form of JSON files. 5 Search API - backend Search - frontend
  • 6. Twitter Streaming API • We used Streaming APIs to obtain high volume, real-time data from Twitter for our charts • Twitter provides several basic streaming types: • Public streams: the streaming data comes from the public data flowing through Twitter • User streams: the single-user streaming data comes from a single user’s view of Twitter • Site streams: this is the multi-user version of user streams • The streaming connection process will get the collected data, perform the tasks parsing, filtering and store the result into a data store. • Then the HTTP server will get the processed result to send back to the user by using Web Socket 6 Streaming API overview
  • 7. Web Socket • WebSocket is a computer communications protocol, providing full- duplex communication channels over a single TCP connection. • WebSockets are based on http, but are completely different protocols than the http protocol. • Since WebSockets do not send header information except for the initial connection, they are much more cost effective in terms of network cost and can be implemented quickly and without waiting because of full- duplex communication. • Our application uses WebSockets to send the streamed Twits into web browser by using socket.io 7 Web Socket Flows socket.io
  • 8. Chart and Map • HighCharts (www.highchart.com) • For the real-time chart, we used the javascript library of HighCharts’s linear chart. • In order to draw the graph like above, you need to use jquery called Highcharts • Google Map API (https://developers.google.com/maps • We used the Google Map API in order to the geographical chart and the geocoding. • The geocoding means we can convert from actual user’s address to coordinates like latitude and longitude. • Since twitter API provide us just user’s location character, we need to convert from it to the actual geo coordinates in order to show into our geographic chart. 8
  • 9. Heroku for PaaS • Heroku is a new way of deploying web applications, where developers are providing services based on the idea that they can concentrate on the code of the web application without losing time for tasks such as server configuration, deployment environment, and server expansion. • Developers are only deployed and restarted by writing source code, committing the code to the git repository for deployment, and pushing it to the remote Heroku repository. • If the success of your web application requires more servers, increasing the number of processors called Dyno will have the same effect as adding multiple servers. 9 Type of Cloud Computing Heroku Deployment Architecture
  • 10. Architecture 10 Back-end Front-end Integrated Framework UI/CSS Framework Dependencies Management Javascript Framework Testing Task Management Test Runner Pre-processor Compressor UglifyJS, UglifyCSS Code Qualifier Documentation JSDoc3 Lazy Loader Integrated Framework Cloud Streaming Twitter Stream API
  • 11. Data Flows 11 Frontend Backend OAuth Search Search /search?q=iphone
 &start_date=20160227
 &end_Date=20170327 Trend Chart Streaming Geographic Chart {twits:[{
 ‘no’:’1’,
 ‘twit’:’#iphone is gorgeous!!’
 ‘date’:’2017-01-18’,
 ‘location’:’San Jose, CA’}, …..
 ]} {[{‘date’:’2017-03-26’,’expected’:45’}, {‘date’:’2017-03-27’,’expected’:45’}, …. ] Date Range http://localhost:8080 http://localhost:8080 Stream API {keyword:’iphone’} Key Exchange (Secret key, token)
  • 12. User Interface & Demo Search Box Realtime Linear Chart Geographical Chart Actual Twit Data # of streamed Tweets http://twitter-trend-analyzer2.herokuapp.com