SlideShare a Scribd company logo
1 of 47
Meteor 
Developing TeamSync (Real Time Collaboration Tool) 
Febin John James 
Boutline
TeamSync Demo
Workshop 
Introduction to Meteor 
Hands on Mini Mongo 
Create a prototype with static data 
Wire up with database 
Add authentication 
Deploy the app
Developing TeamSync using Meteor 
7.Sessions 
Understanding meteor sessions 
8.Meteor Accounts 
Understanding meteor accounts 
Adding external login services 
Adding twitter login 
9.Allow Deny 
Understand allow deny callbacks. 
Securing TeamSync 
10.Deployment 
Deploying teamsync app. 
4. Collections 
Meteor Collections 
Meteor Data Synchronization 
Integrating collection with templates 
Turning prototype into functional app 
Reactivity 
5. Routing 
Learn about routing in meteor 
Create team pages with Unique Url’s 
6.Publications & Subscriptions 
How publications & subscriptions work 
Adding publications to our prototype 
1. Introduction 
What is meteor? 
Why meteor? 
Installing meteor 
Meteor Packages 
2. Mini Mongo 
What makes mongodb simple? 
Mini Mongo CRUD Operations 
3. Templates 
Meteor’s templating language 
Your first template 
Template Manager’s 
TeamSync Prototype with static data
Introduction to Meteor
Before Meteor
Meteor 
Database Real-time Sync User Interface
Why Meteor? 
Easy to learn 
Up and running in hours 
You are already familiar with javascript, aren’t you?
Meteor Packages 
Core Packages Smart Packages Atmosphere Packages
Hands on Mini Mongo
Features of MongoDB 
No Schema 
High Performance 
High Scalability
MongoDB CRUD Operations 
Type “meteor mongo” 
Let’s begin
db.collection.insert({}) 
db.collection.update({}) 
db.collection.remove({}) 
db.collection.find({})
Starting Meteor
Creating a meteor app 
meteor create teamsync 
cd teamsync 
meteor
Meteor app folder structure 
client 
server 
public 
lib 
collections
Templates
A meteor app 
Server Side(JS Files) Client Side(JS Files) Templates(HTML Files)
Your first template
{{>helloWorld}} 
<template name=”helloWorld”> 
<h1> Hello World </h1> 
</template>
Let’s create prototype of teamsync with static data 
create team template 
teams board template 
join team template 
chat template 
mission’s template 
team update template 
mission update template
Collections
Collections for TeamSync 
Teams Collection Mission’s Collection Status Collection 
Messages Collection
Teams = new Meteor.Collection(‘Teams’); 
Teams.insert({}) 
Teams.update({}) 
Teams.remove({}) 
Teams.find({})
Server-Side Collections
Client-Side Collections
Let’s wire the static templates with database
Handlebars
JS HTML 
Template.teamsBoard.teams = function() 
{ 
return Teams.find(); 
} 
{{#each teams}} 
<li> 
{{name}} 
</li> 
{{/each}}
Reactivity
Routing
Iron-Router
Router.map(function () { 
this.route('dashboard', { 
path: '/'dashboard', 
waitOn: function () { 
} 
}); 
});
Making unique links for team pages
Publications & Subscriptions
How it works?
Server Client 
Meteor.publish(‘teamsData’,function(){ 
return Teams.find({}); 
}); 
this.subscribe(‘teamsData’)
Adding publication’s and subscriptions to TeamSync
Sessions
Session.set(‘loggedIn’,false); 
Session.get(‘loggedIn’);
Improving User Experience of TeamSync with sessions
Meteor Accounts
Adding twitter Authentication to our TeamSync App
Allow/Deny
Securing our TeamSync App with allow deny callbacks
Teams.allow({ 
insert: function (userId,tournaments) 
{ 
if(Meteor.user()) 
return true; 
else 
return false; 
} 
});
Deploying TeamSync

More Related Content

Similar to Hasgeek meteor workshop

Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01
Tony Frame
 
Learning MVC Part 3 Creating MVC Application with EntityFramework
Learning MVC Part 3 Creating MVC Application with EntityFrameworkLearning MVC Part 3 Creating MVC Application with EntityFramework
Learning MVC Part 3 Creating MVC Application with EntityFramework
Akhil Mittal
 

Similar to Hasgeek meteor workshop (20)

Meteor Meet-up San Diego December 2014
Meteor Meet-up San Diego December 2014Meteor Meet-up San Diego December 2014
Meteor Meet-up San Diego December 2014
 
Having Fun Building Web Applications (Day 2 slides)
Having Fun Building Web Applications (Day 2 slides)Having Fun Building Web Applications (Day 2 slides)
Having Fun Building Web Applications (Day 2 slides)
 
Meteor Introduction - Ashish
Meteor Introduction - AshishMeteor Introduction - Ashish
Meteor Introduction - Ashish
 
Meteor
MeteorMeteor
Meteor
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx Version
 
Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01Googleappengineintro 110410190620-phpapp01
Googleappengineintro 110410190620-phpapp01
 
Meteor Angular
Meteor AngularMeteor Angular
Meteor Angular
 
Meteor intro-2015
Meteor intro-2015Meteor intro-2015
Meteor intro-2015
 
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...
 
Jmp205 Final
Jmp205 FinalJmp205 Final
Jmp205 Final
 
Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...
Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...
Exam 70-489 Developing Microsoft SharePoint Server 2013 Advanced Solutions Le...
 
2310 b 03
2310 b 032310 b 03
2310 b 03
 
MWLUG 2014: Modern Domino (workshop)
MWLUG 2014: Modern Domino (workshop)MWLUG 2014: Modern Domino (workshop)
MWLUG 2014: Modern Domino (workshop)
 
3 Ways to Get Started with a React App in 2024.pdf
3 Ways to Get Started with a React App in 2024.pdf3 Ways to Get Started with a React App in 2024.pdf
3 Ways to Get Started with a React App in 2024.pdf
 
The End of Dinosaurs happened because of [a] Meteor
The End of Dinosaurs happened because of [a] MeteorThe End of Dinosaurs happened because of [a] Meteor
The End of Dinosaurs happened because of [a] Meteor
 
DIY Flex
DIY FlexDIY Flex
DIY Flex
 
DIY Flex
DIY FlexDIY Flex
DIY Flex
 
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010
ChircuVictor StefircaMadalin rad_aspmvc3_wcf_vs2010
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365
 
Learning MVC Part 3 Creating MVC Application with EntityFramework
Learning MVC Part 3 Creating MVC Application with EntityFrameworkLearning MVC Part 3 Creating MVC Application with EntityFramework
Learning MVC Part 3 Creating MVC Application with EntityFramework
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Hasgeek meteor workshop