Hybrid(3)More Meteor Example - Social
Following the document from here
http://angular-meteor.com/tutorials/angular1/bootstrapping
1. Bootstrapping
Create the project
> meteor create socially
Just build index.html with only <body> tag
<body>
<p>Nothing</p>
</body>
Meteor scans all the HTML files in the application and concatenates them together.
So display will be as follow:
Nothing now
Welcome to Meteor!
Click Me
You've pressed the button 0 times.
Add Angular
> meteor add urigo:angular
Create an angular file with name index.ng.html, because we have .ng.html, so Blaze will not compile it.
<p>nothing here {{ 'yet' + '!' }}</p>
<p>1 + 2 = {{ 1 + 2 }}</p>
Then we create our app.js
if(Meteor.isClient){
angular.module('socially',['angular-meteor']);
}
http://docs.meteor.com/#/full/meteor_isclient
Meteor.isClient
Meteor.isServer
Meteor.isCordova
Our index.html will including the angular application as follow:
<body ng-app="socially">
<div ng-include="'index.ng.html'"></div>
</body>
2. Static Template & Dynamic Template
This will work with angularJS
<div ng-controller="PartiesListCtrl">
<ul>
<li ng-repeat="party in parties">
{{party.name}}
<p>{{party.description}}</p>
</li>
</ul>
</div>
if(Meteor.isClient){
angular.module('socially',['angular-meteor']);
angular.module('socially').controller('PartiesListCtrl', ['$scope',
function($scope){
$scope.parties = [
{'name': 'Dubstep-Free Zone',
'description': 'Can we please just for an evening not listen to dubstep.'},
{'name': 'All dubstep all the time',
'description': 'Get it on!'},
{'name': 'Savage lounging',
'description': 'Leisure suit required. And only fiercest manners.'}
];
}]);
}
3. Data Binding
http://angular-meteor.com/tutorials/angular1/3-way-data-binding
Mongo.Collection
client - minimongo, client-side in-memory mongoldb backed by local storage with server sync over http
https://github.com/mWater/minimongo
server - Mongo
4. Adding/Removing Objects and Angular event Handling
http://angular-meteor.com/api/AngularMeteorCollection
5. Routing & Multiple Views
> meteor add angularui:angular-ui-router
6. Bind One Object
http://angular-meteor.com/api/meteorObject
7. Folder Structure
https://github.com/Urigo/meteor-angular-socially
8. User Accounts, Authentication and Permissions
http://docs.meteor.com/#/full/allow
http://docs.meteor.com/#/full/meteor_loginwithexternalservice
auth
https://developers.google.com/identity/sign-in/web/backend-auth
http://stackoverflow.com/questions/8311836/how-to-identify-a-google-oauth2-user/13016081#13016081
http://stackoverflow.com/questions/12296017/how-to-validate-a-oauth2-0-access-token-for-a-resource-server
9. Privacy and publish-subscribe function
auto publish pushes a full copy of database to each client.
http://www.meteorpedia.com/read/Understanding_Meteor_Publish_and_Subscribe
10. Deploying Your App
Not suitable for me. I need to deploy it somewhere else.
11. Running your application on Android or iOS
http://angular-meteor.com/tutorials/angular1/running-your-app-on-android-or-ios-with-phoneGap
12. Search, Sort, Pagination and Reactive Vars
http://angular-meteor.com/tutorials/angular1/search-sort-pagination-and-reactive-vars
13. Creating AngularJS filter
14. Meteor method with promises
15. Conditional template directives with AngularJS
16. Google Map
http://angular-meteor.com/tutorials/angular1/google-maps
17. CSS and Bootstrap
http://angular-meteor.com/tutorials/angular1/css-less-and-bootstrap
18. ..
19. 3rdParty Libraries
http://angular-meteor.com/tutorials/angular1/3rd-party-libraries
https://atmospherejs.com/
20. Handling Files with CollectionFS
https://github.com/CollectionFS/Meteor-CollectionFS
All API
http://angular-meteor.com/api/meteorCollection
References:
http://sillycat.iteye.com/blog/2221893
http://sillycat.iteye.com/blog/2231030
authentication
http://www.riskcompletefailure.com/2013/11/client-server-authentication-with-id.html
https://developers.google.com/identity/sign-in/web/
mongo URL
http://stackoverflow.com/questions/23786647/meteor-up-deployment-cant-use-meteor-mongo-url
https://github.com/arunoda/meteor-up
angular and REST
http://fdietz.github.io/recipes-with-angular-js/consuming-external-services/consuming-restful-apis.html
https://developers.google.com/identity/protocols/OpenIDConnect
example
https://github.com/nate-strauser/wework
https://github.com/awatson1978/meteor-cookbook
https://github.com/ericdouglas/Meteor-Learning
angular meteor
http://angular-meteor.com/
http://angular-meteor.com/tutorials/angular1/bootstrapping
https://www.meteor.com/tutorials/angular/creating-an-app
crawl
https://github.com/timbrandin/meteor-crawler
https://medialab.github.io/artoo/
https://github.com/jbdemonte/linkedin-crawler
http://stackoverflow.com/questions/11708387/get-contents-of-link-tag-with-javascript-not-css/18447625#18447625
Following the document from here
http://angular-meteor.com/tutorials/angular1/bootstrapping
1. Bootstrapping
Create the project
> meteor create socially
Just build index.html with only <body> tag
<body>
<p>Nothing</p>
</body>
Meteor scans all the HTML files in the application and concatenates them together.
So display will be as follow:
Nothing now
Welcome to Meteor!
Click Me
You've pressed the button 0 times.
Add Angular
> meteor add urigo:angular
Create an angular file with name index.ng.html, because we have .ng.html, so Blaze will not compile it.
<p>nothing here {{ 'yet' + '!' }}</p>
<p>1 + 2 = {{ 1 + 2 }}</p>
Then we create our app.js
if(Meteor.isClient){
angular.module('socially',['angular-meteor']);
}
http://docs.meteor.com/#/full/meteor_isclient
Meteor.isClient
Meteor.isServer
Meteor.isCordova
Our index.html will including the angular application as follow:
<body ng-app="socially">
<div ng-include="'index.ng.html'"></div>
</body>
2. Static Template & Dynamic Template
This will work with angularJS
<div ng-controller="PartiesListCtrl">
<ul>
<li ng-repeat="party in parties">
{{party.name}}
<p>{{party.description}}</p>
</li>
</ul>
</div>
if(Meteor.isClient){
angular.module('socially',['angular-meteor']);
angular.module('socially').controller('PartiesListCtrl', ['$scope',
function($scope){
$scope.parties = [
{'name': 'Dubstep-Free Zone',
'description': 'Can we please just for an evening not listen to dubstep.'},
{'name': 'All dubstep all the time',
'description': 'Get it on!'},
{'name': 'Savage lounging',
'description': 'Leisure suit required. And only fiercest manners.'}
];
}]);
}
3. Data Binding
http://angular-meteor.com/tutorials/angular1/3-way-data-binding
Mongo.Collection
client - minimongo, client-side in-memory mongoldb backed by local storage with server sync over http
https://github.com/mWater/minimongo
server - Mongo
4. Adding/Removing Objects and Angular event Handling
http://angular-meteor.com/api/AngularMeteorCollection
5. Routing & Multiple Views
> meteor add angularui:angular-ui-router
6. Bind One Object
http://angular-meteor.com/api/meteorObject
7. Folder Structure
https://github.com/Urigo/meteor-angular-socially
8. User Accounts, Authentication and Permissions
http://docs.meteor.com/#/full/allow
http://docs.meteor.com/#/full/meteor_loginwithexternalservice
auth
https://developers.google.com/identity/sign-in/web/backend-auth
http://stackoverflow.com/questions/8311836/how-to-identify-a-google-oauth2-user/13016081#13016081
http://stackoverflow.com/questions/12296017/how-to-validate-a-oauth2-0-access-token-for-a-resource-server
9. Privacy and publish-subscribe function
auto publish pushes a full copy of database to each client.
http://www.meteorpedia.com/read/Understanding_Meteor_Publish_and_Subscribe
10. Deploying Your App
Not suitable for me. I need to deploy it somewhere else.
11. Running your application on Android or iOS
http://angular-meteor.com/tutorials/angular1/running-your-app-on-android-or-ios-with-phoneGap
12. Search, Sort, Pagination and Reactive Vars
http://angular-meteor.com/tutorials/angular1/search-sort-pagination-and-reactive-vars
13. Creating AngularJS filter
14. Meteor method with promises
15. Conditional template directives with AngularJS
16. Google Map
http://angular-meteor.com/tutorials/angular1/google-maps
17. CSS and Bootstrap
http://angular-meteor.com/tutorials/angular1/css-less-and-bootstrap
18. ..
19. 3rdParty Libraries
http://angular-meteor.com/tutorials/angular1/3rd-party-libraries
https://atmospherejs.com/
20. Handling Files with CollectionFS
https://github.com/CollectionFS/Meteor-CollectionFS
All API
http://angular-meteor.com/api/meteorCollection
References:
http://sillycat.iteye.com/blog/2221893
http://sillycat.iteye.com/blog/2231030
authentication
http://www.riskcompletefailure.com/2013/11/client-server-authentication-with-id.html
https://developers.google.com/identity/sign-in/web/
mongo URL
http://stackoverflow.com/questions/23786647/meteor-up-deployment-cant-use-meteor-mongo-url
https://github.com/arunoda/meteor-up
angular and REST
http://fdietz.github.io/recipes-with-angular-js/consuming-external-services/consuming-restful-apis.html
https://developers.google.com/identity/protocols/OpenIDConnect
example
https://github.com/nate-strauser/wework
https://github.com/awatson1978/meteor-cookbook
https://github.com/ericdouglas/Meteor-Learning
angular meteor
http://angular-meteor.com/
http://angular-meteor.com/tutorials/angular1/bootstrapping
https://www.meteor.com/tutorials/angular/creating-an-app
crawl
https://github.com/timbrandin/meteor-crawler
https://medialab.github.io/artoo/
https://github.com/jbdemonte/linkedin-crawler
http://stackoverflow.com/questions/11708387/get-contents-of-link-tag-with-javascript-not-css/18447625#18447625