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
99
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
160
Building a streaming database service
siddharthlatest
1
220
Appbase - A realtime events-based document store
siddharthlatest
1
800
Scalability Best Practices
siddharthlatest
0
180
Other Decks in Technology
See All in Technology
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
120
mrubyと micro-ROSが繋ぐロボットの世界
kishima
2
340
Welcome to the LLM Club
koic
0
190
AIの最新技術&テーマをつまんで紹介&フリートークするシリーズ #1 量子機械学習の入門
tkhresk
0
140
生成AIで小説を書くためにプロンプトの制約や原則について学ぶ / prompt-engineering-for-ai-fiction
nwiizo
4
2.2k
rubygem開発で鍛える設計力
joker1007
2
220
Oracle Audit Vault and Database Firewall 20 概要
oracle4engineer
PRO
3
1.7k
OpenHands🤲にContributeしてみた
kotauchisunsun
1
460
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全 / 20250625-aws-summit-aws-policy
opelab
9
1.2k
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
4
540
PHPでWebブラウザのレンダリングエンジンを実装する
dip_tech
PRO
0
210
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
30
11k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
524
40k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Writing Fast Ruby
sferik
628
62k
Documentation Writing (for coders)
carmenintech
72
4.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Agile that works and the tools we love
rasmusluckow
329
21k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Embracing the Ebb and Flow
colly
86
4.7k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
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