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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Siddharth Kothari
January 31, 2016
Technology
110
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Meteor Talk: Building Mitter
Building a Twitter-like search with Meteor and Appbase
Siddharth Kothari
January 31, 2016
More Decks by Siddharth Kothari
See All by Siddharth Kothari
Data Streams with Elasticsearch
siddharthlatest
0
140
Appbase.io - Customer Deck
siddharthlatest
0
140
Appbase.io - Investor Deck
siddharthlatest
0
340
Data Streams on ElasticSearch
siddharthlatest
0
160
Building a streaming database service
siddharthlatest
1
220
Appbase - A realtime events-based document store
siddharthlatest
1
840
Scalability Best Practices
siddharthlatest
0
190
Other Decks in Technology
See All in Technology
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
0
130
AI時代におけるテストの基礎の再定義 / Rethinking the Fundamentals of Testing in the AI Era
mineo_matsuya
13
4.2k
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
510
JAWS_ICEBERG_BASECAMP
iqbocchi
2
110
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
4
1.1k
AIエージェントがあれば技術書なんてすぐ書けるでしょ→無理でした
watany
2
190
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
160
Multicaで30個のミニプロジェクトをAIエージェント運用して見えてきたこと
eiei114
1
620
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
480
インシデント事例と パッケージの全量解析に学ぶ ソフトウェアサプライチェーンの守り方 / supply-chain-attack-defense
flatt_security
0
880
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
350
伝票作成AIエージェントを支える、LLMOpsとインフラの選択肢 / AICon2026_takeda
rakus_dev
0
260
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
260
The Cost Of JavaScript in 2023
addyosmani
55
10k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
260
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
410
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
220
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
510
Designing for Performance
lara
611
70k
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