Book Image

Building Single-page Web Apps with Meteor

By : Fabian Vogelsteller
Book Image

Building Single-page Web Apps with Meteor

By: Fabian Vogelsteller

Overview of this book

Table of Contents (21 chapters)
Building Single-page Web Apps with Meteor
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

Index

A

  • About route
    • creating / Adding another route
  • acceptance test
    • about / Types of tests, Acceptance tests
    • Nightwatch / Nightwatch
    • Laika / Laika
  • accounts packages
    • about / Meteor's accounts packages
    • adding / Adding the accounts packages
  • admin functionality, adding to templates
    • about / Adding admin functionality to our templates
    • link, adding for new posts / Adding a link for new posts
    • link, adding for edit posts / Adding the link to edit posts
    • login form, adding / Adding the login form
  • admin routes
    • creating / Creating routes for the admin
    • visitors, preventing from viewing / Preventing visitors from seeing the admin routes
  • admin user
    • creating / Creating the admin user
    • permissions, adding / Adding permissions
    • security / A note on security
    • routes, creating / Creating routes for the admin
  • advanced reactive objects
    • about / Advanced reactive objects
  • advanced timer object
    • creating / Creating an advanced timer object
  • allow rules
    • adding / Adding our first allow rules
  • app
    • creating / Creating our first app
    • folder structure, creating / Creating a good folder structure
    • drop-in-place style files / Preadd style files
    • deploying, on meteor.com / Deploying on meteor.com
    • deploying, on other servers / Deploying on other servers
  • app deployment, on meteor.com
    • about / Deploying on meteor.com
    • domain name, used / Deploying on meteor.com using a domain name
    • databases, backing up / Backup and restore databases hosted on meteor.com
    • databases, restoring / Backup and restore databases hosted on meteor.com
  • app deployment, on other servers
    • about / Deploying on other servers
    • app, building / Bundling our app
    • demeteorizer, using / Deploying using Demeteorizer
    • Meteor Up (mup), using / Deploying using Meteor Up
  • autopublish package
    • removing / Removing the autopublish package

B

  • basic templates
    • building / Building the basic templates
  • bindings
    • about / Reactive programming
  • Blaze / Writing templates in Meteor
  • block helpers
    • about / Block helpers
    • creating / Block helpers
  • blog entries
    • adding / Listing posts

C

  • callback functions, templates
    • created / "this" in template helpers and template callbacks
    • rendered / "this" in template helpers and template callbacks
    • destroyed / "this" in template helpers and template callbacks
  • Chrome's developer tools
    • using / Using Chrome's developer tools
  • client collection
    • versus server collection / Differences between client and server collections
  • clinical-nightwatch
    • about / Nightwatch
  • collection
    • about / Meteor and databases
    • setting up / Setting up a collection
    • querying / Querying a collection
    • updating / Updating a collection
  • command-line tool, Meteor
    • about / The full-stack framework of Meteor, Meteor's command-line tool
  • command-line tools, Meteor
    • run / List of Meteor's command-line tool commands
    • create <name> / List of Meteor's command-line tool commands
    • update / List of Meteor's command-line tool commands
    • deploy <site name> / List of Meteor's command-line tool commands
    • bundle <folder_name> / List of Meteor's command-line tool commands
    • add/remove <package name> / List of Meteor's command-line tool commands
    • list / List of Meteor's command-line tool commands
    • mongo / List of Meteor's command-line tool commands
    • reset / List of Meteor's command-line tool commands
    • logs <site name> / List of Meteor's command-line tool commands
    • search / List of Meteor's command-line tool commands
    • show / List of Meteor's command-line tool commands
    • publish / List of Meteor's command-line tool commands
    • publish-for-arch / List of Meteor's command-line tool commands
    • publish-release / List of Meteor's command-line tool commands
    • claim / List of Meteor's command-line tool commands
    • login / List of Meteor's command-line tool commands
    • logout / List of Meteor's command-line tool commands
    • whoami / List of Meteor's command-line tool commands
    • test-packages / List of Meteor's command-line tool commands
    • admin / List of Meteor's command-line tool commands
  • core package
    • adding / Adding a core package
  • current Web
    • versus new Web / Syncing data – the current Web versus the new Web
  • custom package
    • tests folder / The structure of a package
    • lib folder / The structure of a package
    • README.md file / The structure of a package
    • package.js file / The structure of a package
    • myPackage.js file / The structure of a package
    • testing / The structure of a package
    • creating / Creating our own package
    • package metadata, adding / Adding the package metadata
    • adding / Adding the package
    • releasing, to public / Releasing our package to the public
    • publishing online / Publishing our package online
    • updating / Updating our package

D

  • data
    • displaying, with template helpers / Displaying data with template helpers
    • syncing / Syncing data – the current Web versus the new Web
    • publishing / Publishing data
  • database
    • updating / Database everywhere
  • database updates
    • restricting / Restricting database updates
    • insecure package, removing / Removing the insecure package
    • allow rule, adding / Adding our first allow rules
    • deny rule, adding / Adding a deny rule
  • data context
    • setting, for template / Setting the data context for a template
  • data publishing
    • notes / Some notes on data publishing
  • default templates
    • layoutTemplate / Setting up the router
    • notFoundTemplate / Setting up the router
    • loadingTemplate / Setting up the router
  • demeteorizer
    • used, for app deployment on other servers / Deploying using Demeteorizer
  • deny rule
    • adding / Adding a deny rule
  • Deps.Computation object
    • about / Stopping reactive functions
  • domain-specific language (DSL) / Reactive programming

E

  • events
    • adding, to templates / Adding events
    • about / Reactive programming
  • example posts
    • adding / Adding post examples
  • {{#each}} block helper / Listing posts

F

  • fetch property
    • about / Adding our first allow rules
  • findOne() method
    • about / Adding the post route
  • function
    • adding, for generating slugs / Adding a function to generate slugs
  • functional test
    • about / Types of tests
  • Function re-run / Rerunning functions
  • functions
    • rerunning / Rerunning functions reactively

G

  • Galaxy / Outlook
  • Git
    • using / Using Git and GitHub
    • installing / Installing Git
  • GitHub
    • using / Using Git and GitHub

H

  • hot code push
    • about / Session and hot code pushes
    • session object, using with / Session and hot code pushes
  • hot code reload
    • about / The full-stack framework of Meteor

I

  • insecure package
    • removing / Removing the insecure package
  • insert() rule
    • about / Adding our first allow rules
  • integrations test
    • about / Types of tests
    • adding, to client / Adding integration tests to the client
    • test, adding for visitors / Adding a test for the visitors
    • test, adding for admin / Adding a test for the admin
  • invalidating cycle, reactive dependencies
    • about / The invalidating cycle
  • iron-router package
    • adding / Adding the iron:router package
  • {{#if}} block helper / Spacebars syntax

J

  • Jasmine
    • used, for testing app / Testing using Jasmine

L

  • Laika
    • about / Laika
    • installing / Laika
  • latency compensation
    • about / Method stubs and latency compensation
  • layout template
    • switching to / Switching to a layout template
  • lazy loading
    • posts / Lazy loading posts
    • about / Lazy loading posts
  • less package
    • adding / Adding a core package

M

  • Meteor
    • about / The full-stack framework of Meteor
    • full-stack framework / The full-stack framework of Meteor
    • reference link / The full-stack framework of Meteor
    • features / The full-stack framework of Meteor
    • command-line tool / The full-stack framework of Meteor
    • requisites / Meteor's requirements
    • installing / Installing Meteor
    • variable scopes / Variable scopes
    • folder conventions and loading order / Meteor's folder conventions and loading order
    • assets, loading / Loading assets on the server
    • updating / Updating Meteor
    • deploying / Deploying Meteor
    • MongoDB, using / Meteor and databases
    • accounts packages / Meteor's accounts packages
  • Meteor.Collection
    • insert method / Setting up a collection
    • update method / Setting up a collection
    • upsert method / Setting up a collection
    • remove method / Setting up a collection
    • find method / Setting up a collection
    • findOne method / Setting up a collection
  • meteor.com
    • app, deploying on / Deploying on meteor.com
  • Meteor.publish function / Publishing data
  • Meteor app
    • testing / Testing our meteor app
  • Meteor packages
    • about / Adding basic packages
    • less package / Adding basic packages
    • jeeeyul-moment-with-langs / Adding basic packages
    • core package, adding / Adding a core package
    • third-party package / Adding a third-party package
  • Meteor Up (mup)
    • about / Deploying using Meteor Up
    • used, for app deployment on other servers / Deploying using Meteor Up
    • used, for setting up server / Setting up the server
    • deploying with / Deploying with mup
  • methods
    • about / Adding posts using a method call
    • advantages / Method stubs and latency compensation
    • stub method / Method stubs and latency compensation
    • adding / Adding the method
    • calling / Calling the method
  • MongoDB
    • using / Meteor and databases
  • {{#myBlockHelper}} helper / Spacebars syntax
  • {{/myBlockHelper}} helper / Spacebars syntax
  • {{> myTemplate}} helper / Spacebars syntax
  • {{myProperty}} helper / Spacebars syntax

N

  • Nightwatch
    • about / Nightwatch
    • installing / Nightwatch

P

  • package
    • about / The structure of a package
    • structure / The structure of a package
  • packages
    • testing / Testing packages
  • package tests
    • adding / Adding package tests
    • running / Running the package tests
  • partial data
    • publishing / Publishing only parts of data
  • persistent-session
    • URL / Session and hot code pushes
  • poll and diff / Reactive programming
  • post route
    • setting up / Setting up the post route
    • single-post publication, creating / Creating a single-post publication
    • adding / Adding the post route
    • posts, linking / Linking the posts
  • posts
    • lazy loading / Lazy loading posts
    • creating / Creating a new post
    • saving / Saving a post
    • editing / Editing posts
    • current post, updating / Updating the current post
    • adding, method call used / Method stubs and latency compensation
  • posts subscription
    • moving to Home route / Moving the posts subscription to the Home route
  • publication/subscription
    • about / Syncing data – the current Web versus the new Web

R

  • reactive computations
    • about / Reactive computations
    • reactive functions, stopping / Stopping reactive functions
    • run, preventing at start / Preventing run at start
  • reactive functions
    • stopping / Stopping reactive functions
    • making template-specific / Using autorun in a template
  • reactive object
    • about / Building a simple reactive object
  • reactive programming
    • about / Reactive programming
    • invalidating cycle / The invalidating cycle
  • reactive session object
    • about / The reactive session object
  • reactive templates / Writing templates in Meteor
  • reactivity
    • about / Reactive programming
  • remove() rule
    • about / Adding our first allow rules
  • requisites, Meteor
    • about / Meteor's requirements
    • Chrome's developer tools / Using Chrome's developer tools
    • Git / Using Git and GitHub
    • GitHub / Using Git and GitHub
  • router
    • setting up / Setting up the router
  • router controller hooks
    • action / The iron:router hooks
    • onBeforeAction / The iron:router hooks
    • onAfterAction / The iron:router hooks
    • onRun / The iron:router hooks
    • onRerun / The iron:router hooks
    • onStop / The iron:router hooks
    • subscriptions / The iron:router hooks
    • waitOn / The iron:router hooks
    • data / The iron:router hooks
  • Running for the xx time / Stopping reactive functions

S

  • Secure Remote Password (SRP) protocol
    • about / Meteor's accounts packages
  • server collection
    • versus client collection / Differences between client and server collections
  • session object
    • about / Meteor's session object
    • using, in template helpers / Using sessions in template helpers
    • using, with hot code push / Session and hot code pushes
  • simple reactive object
    • building / Building a simple reactive object
    • functions, rerunning / Rerunning functions
  • Spacebars
    • about / Writing templates in Meteor
  • Spacebars syntax
    • about / Spacebars syntax
    • parent data contexts, accessing / Accessing parent data contexts
    • data, passing to helpers / Passing data to helpers
  • specific fields
    • publishing / Publishing specific fields
  • subscriptions
    • switching / Switching subscriptions

T

  • template, for editing posts
    • creating / Creating the template to edit posts
  • template helpers
    • data, displaying with / Displaying data with template helpers
    • session object, using / Using sessions in template helpers
  • templates
    • writing / Writing templates in Meteor
    • adding / Adding templates and partials
    • data context, setting for / Setting the data context for a template
    • callback functions / "this" in template helpers and template callbacks
    • events, adding / Adding events
    • block helpers / Block helpers
  • testing, with Jasmine
    • about / Testing using Jasmine
    • unit tests, adding to server / Adding unit tests to the server
    • integration tests, adding to client / Adding integration tests to the client
  • tests
    • about / Types of tests
    • unit test / Types of tests
    • integrations test / Types of tests
    • functional test / Types of tests
    • acceptance test / Types of tests
  • third-party package
    • adding / Adding a third-party package
  • this.$(selectorString) method / "this" in template helpers and template callbacks
  • this.autorun(runFunc) object / "this" in template helpers and template callbacks
  • this.data object / "this" in template helpers and template callbacks
  • this.find(selectorString) method / "this" in template helpers and template callbacks
  • this.findAll(selectorString) method / "this" in template helpers and template callbacks
  • this.firstNode object / "this" in template helpers and template callbacks
  • this.lastNode object / "this" in template helpers and template callbacks
  • this.view object / "this" in template helpers and template callbacks
  • this in template helpers
    • about / "this" in template helpers and template callbacks
    • examples / "this" in template helpers and template callbacks
  • this object
    • unblock() property / Adding the method
    • userId property / Adding the method
    • setUserId() property / Adding the method
    • connection property / Adding the method
  • transform() function
    • about / Adding our first allow rules
  • {{> Template.dynamic template=templateName [data=dataContext]}} helper / Spacebars syntax

U

  • unit test
    • about / Types of tests
    • adding, to server / Adding unit tests to the server
  • {{#unless}} block helper / Spacebars syntax

V

  • variable scopes
    • about / Variable scopes

W

  • websites title
    • changing / Changing the website's title
  • {{#with}} block helper
    • using / Using the {{#with}} block helper
    • about / Spacebars syntax