Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Meteor Talk: Building Mitter
Search
Siddharth Kothari
January 31, 2016
Technology
1
94
Meteor Talk: Building Mitter
Building a Twitter-like search with Meteor and Appbase
Siddharth Kothari
January 31, 2016
Tweet
Share
More Decks by Siddharth Kothari
See All by Siddharth Kothari
Data Streams with Elasticsearch
siddharthlatest
0
130
Appbase.io - Customer Deck
siddharthlatest
0
130
Appbase.io - Investor Deck
siddharthlatest
0
330
Data Streams on ElasticSearch
siddharthlatest
0
150
Building a streaming database service
siddharthlatest
1
210
Appbase - A realtime events-based document store
siddharthlatest
1
760
Scalability Best Practices
siddharthlatest
0
180
Other Decks in Technology
See All in Technology
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
120
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
12k
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
990
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
170
Engineer Career Talk
lycorp_recruit_jp
0
160
Lexical Analysis
shigashiyama
1
150
Terraform Stacks入門 #HashiTalks
msato
0
350
Platform Engineering for Software Developers and Architects
syntasso
1
520
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
Featured
See All Featured
What's new in Ruby 2.0
geeforr
343
31k
Happy Clients
brianwarren
98
6.7k
Making Projects Easy
brettharned
115
5.9k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Agile that works and the tools we love
rasmusluckow
327
21k
How to Ace a Technical Interview
jacobian
276
23k
For a Future-Friendly Web
brad_frost
175
9.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Statistics for Hackers
jakevdp
796
220k
Adopting Sorbet at Scale
ufuk
73
9.1k
Transcript
Building a Twitter-like Search with Meteor and Appbase Siddharth Kothari
(@siddharthlatest)
Siddarth, sith in making Co-founder and CEO, appbase.io Give me
a shout at @siddharthlatest GET /programming/stacktrace [“Games”, “C”, “Python”, “Java (sigh)”, “AI”, “JS”, “Databases”]
What is Meteor
Hands-on Demo $ curl https://install.meteor.com/ | sh Install Meteor Step
0
Hands-on Demo $ meteor create <app_name> $ cd <app_name> Create
App Step 0 $ meteor
Hands-on Demo $ meteor add appbaseio:appbase $ meteor add manuel:reactivearray
Install Packages $ meteor add mizzao:bootstrap-3 Step 0
Appbase.io JS Library for building realtime feeds and search. Step
1 Create an app from the dashboard
Hands-on Demo var appbaseRef = new Appbase({ url: "https://scalr.api.appbase.io/", username:
"UaV93rU9p", password: "28bf943d-42f2-4861-a751-31d17b49c184", appname: "mitter" }) Step 1 <app_name>.js
Hands-on Demo if (Meteor.isClient) { /* things we do once
*/ var renderedTweets = new ReactiveArray(); var requestObject = {...}; ... Step 1 <app_name>.js
Hands-on Demo <app_name>.js appbaseRef.search(requestObject) .on('data', function(result) { renderedTweets = result.hits.hits
appbaseRef.searchStream(requestObject) .on('data', function(stream) { renderedTweets.push(stream._source) }) } Step 1
Hands-on Demo <app_name>.js /* define all the template helpers */
Template.body.helpers({ tweets: function() { return renderedTweets.list(); } }) Step 1
Step 1
Hands-on Demo $ git remote add origin https://github.com/appbaseio/mitter Get Mitter
Step 1 $ rm -rf * && git fetch $ git checkout tags/step1 -b step1
Hands-on Demo $ meteor deploy flyingkittens Deploy App Step 1
Your app should be live at http://flyingkittens.meteor.com.
Hands-on Demo $ meteor add mrt:twit Get a Twitter Dev
Account Step 2 Go to https://apps.twitter.com
Hands-on Demo { "consumer": { "key": ". . .", "secret":
". . ." }, "access_token": { "key": ". . .", "secret": ". . ." } } Private Files (for secure data) Step 2
Hands-on Demo if (Meteor.isServer) { Meteor.startup(function() { // code to
run on server at startup var conf = JSON.parse(Assets.getText('twitter.json')); … Server side Code Step 2
Step 2
Hands-on Demo Get Mitter#step2 Step 2 $ git checkout tags/step2
-b step2
Hands-on Demo <template name="search_box"> <input class="searchBox" type = "text" placeholder="Search
the tweets" autofocus="autofocus"/> </template> Adding Search Step 3
Hands-on Demo Template.search_box.events({ 'keyup input, click input': function(e, template) {
… Detect Key Inputs Step 3
Step 3
Hands-on Demo Get Mitter#step3 Step 2 $ git checkout tags/step3
-b step3
Building a Twitter-like Search with Meteor and Appbase Thank You!
@siddharthlatest