SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Operative treatment of osteoporotic spinal fractures
Operative treatment of osteoporotic spinal fracturesOperative treatment of osteoporotic spinal fractures
Operative treatment of osteoporotic spinal fracturesAlexander Bardis
 
Distraction histogenesis in Ilizarov
Distraction histogenesis in IlizarovDistraction histogenesis in Ilizarov
Distraction histogenesis in IlizarovDr. Anurag Mittal
 
Assessment Of Glenoid Bone Loss In Recurrent Shoulder Dislocation
Assessment Of Glenoid Bone LossIn Recurrent Shoulder Dislocation Assessment Of Glenoid Bone LossIn Recurrent Shoulder Dislocation
Assessment Of Glenoid Bone Loss In Recurrent Shoulder Dislocation Samir Dwidmuthe
 
Vertebroplasty vs Kyphoplasty
Vertebroplasty vs KyphoplastyVertebroplasty vs Kyphoplasty
Vertebroplasty vs KyphoplastyAlexander Bardis
 
Lumbar interbody fusion indications techniques and complications
Lumbar interbody fusion indications techniques and complicationsLumbar interbody fusion indications techniques and complications
Lumbar interbody fusion indications techniques and complicationsDr Praveen kumar tripathi
 
precast driven pile 450x450-350x350
precast driven pile 450x450-350x350precast driven pile 450x450-350x350
precast driven pile 450x450-350x350Priodeep Chowdhury
 
Minimally invasive spine surgeries (MISS)
Minimally invasive spine surgeries (MISS)Minimally invasive spine surgeries (MISS)
Minimally invasive spine surgeries (MISS)Apollo Hospitals
 
Approach to acetabulum fracture zoom 2020
Approach to acetabulum fracture zoom 2020Approach to acetabulum fracture zoom 2020
Approach to acetabulum fracture zoom 2020SureshPandey32
 
Electric properties of bone and its applications
Electric properties of bone and its applicationsElectric properties of bone and its applications
Electric properties of bone and its applicationsGIRIDHAR BOYAPATI
 
Failed Back Syndrome
Failed Back SyndromeFailed Back Syndrome
Failed Back Syndromewalid maani
 
Operative treatment osteoporotic fractures
Operative treatment osteoporotic fracturesOperative treatment osteoporotic fractures
Operative treatment osteoporotic fracturesAlexander Bardis
 
Approach To Spinal Metastasis
Approach To Spinal MetastasisApproach To Spinal Metastasis
Approach To Spinal Metastasisdrkmliau
 
Bioabsorbable Implants in Orthopaedics - Dr Chintan N Patel
Bioabsorbable Implants in Orthopaedics - Dr Chintan N PatelBioabsorbable Implants in Orthopaedics - Dr Chintan N Patel
Bioabsorbable Implants in Orthopaedics - Dr Chintan N PatelDrChintan Patel
 
Cervical spine fracture radiology, classification and management
Cervical spine fracture radiology, classification and management Cervical spine fracture radiology, classification and management
Cervical spine fracture radiology, classification and management AshrafJamal12
 
Super path hip replacement
Super path hip replacementSuper path hip replacement
Super path hip replacementMoby Parsons
 
Posterior cervical laminoplasty for stenosis
Posterior cervical laminoplasty for  stenosisPosterior cervical laminoplasty for  stenosis
Posterior cervical laminoplasty for stenosisSpiro Antoniades
 
Acetabular Fracture Radiology: Xrays, CT scan & 3D printing
Acetabular Fracture Radiology: Xrays, CT scan & 3D printingAcetabular Fracture Radiology: Xrays, CT scan & 3D printing
Acetabular Fracture Radiology: Xrays, CT scan & 3D printingVaibhav Bagaria
 

Was ist angesagt? (20)

Operative treatment of osteoporotic spinal fractures
Operative treatment of osteoporotic spinal fracturesOperative treatment of osteoporotic spinal fractures
Operative treatment of osteoporotic spinal fractures
 
Distraction histogenesis in Ilizarov
Distraction histogenesis in IlizarovDistraction histogenesis in Ilizarov
Distraction histogenesis in Ilizarov
 
Assessment Of Glenoid Bone Loss In Recurrent Shoulder Dislocation
Assessment Of Glenoid Bone LossIn Recurrent Shoulder Dislocation Assessment Of Glenoid Bone LossIn Recurrent Shoulder Dislocation
Assessment Of Glenoid Bone Loss In Recurrent Shoulder Dislocation
 
Vertebroplasty vs Kyphoplasty
Vertebroplasty vs KyphoplastyVertebroplasty vs Kyphoplasty
Vertebroplasty vs Kyphoplasty
 
Lumbar interbody fusion indications techniques and complications
Lumbar interbody fusion indications techniques and complicationsLumbar interbody fusion indications techniques and complications
Lumbar interbody fusion indications techniques and complications
 
313 AOD and 314 AARS
313 AOD and 314 AARS313 AOD and 314 AARS
313 AOD and 314 AARS
 
precast driven pile 450x450-350x350
precast driven pile 450x450-350x350precast driven pile 450x450-350x350
precast driven pile 450x450-350x350
 
Minimally invasive spine surgeries (MISS)
Minimally invasive spine surgeries (MISS)Minimally invasive spine surgeries (MISS)
Minimally invasive spine surgeries (MISS)
 
Approach to acetabulum fracture zoom 2020
Approach to acetabulum fracture zoom 2020Approach to acetabulum fracture zoom 2020
Approach to acetabulum fracture zoom 2020
 
Electric properties of bone and its applications
Electric properties of bone and its applicationsElectric properties of bone and its applications
Electric properties of bone and its applications
 
Talar fractures2
Talar fractures2Talar fractures2
Talar fractures2
 
Failed Back Syndrome
Failed Back SyndromeFailed Back Syndrome
Failed Back Syndrome
 
Operative treatment osteoporotic fractures
Operative treatment osteoporotic fracturesOperative treatment osteoporotic fractures
Operative treatment osteoporotic fractures
 
Approach To Spinal Metastasis
Approach To Spinal MetastasisApproach To Spinal Metastasis
Approach To Spinal Metastasis
 
Bioabsorbable Implants in Orthopaedics - Dr Chintan N Patel
Bioabsorbable Implants in Orthopaedics - Dr Chintan N PatelBioabsorbable Implants in Orthopaedics - Dr Chintan N Patel
Bioabsorbable Implants in Orthopaedics - Dr Chintan N Patel
 
Cervical spine fracture radiology, classification and management
Cervical spine fracture radiology, classification and management Cervical spine fracture radiology, classification and management
Cervical spine fracture radiology, classification and management
 
Super path hip replacement
Super path hip replacementSuper path hip replacement
Super path hip replacement
 
Posterior cervical laminoplasty for stenosis
Posterior cervical laminoplasty for  stenosisPosterior cervical laminoplasty for  stenosis
Posterior cervical laminoplasty for stenosis
 
Acetabular Fracture Radiology: Xrays, CT scan & 3D printing
Acetabular Fracture Radiology: Xrays, CT scan & 3D printingAcetabular Fracture Radiology: Xrays, CT scan & 3D printing
Acetabular Fracture Radiology: Xrays, CT scan & 3D printing
 
O -arm in spine surgery
O -arm in spine surgeryO -arm in spine surgery
O -arm in spine surgery
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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조 _중간제출
 

Kürzlich hochgeladen

Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 

Kürzlich hochgeladen (20)

Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 

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