Index
A
- add-ons, for Firefox
- URL / Debugging tools
- administrative interface tools
- URL / The mongo shell
- angular-gravatar
- angular-seed
- URL / Project organization
- Angular Batarang
- URL / Debugging tools
- AngularJS
- AngularJS MVC pattern
- implementing / The AngularJS MVC pattern implementation
- Model / Model
- View / View
- Controller / Controller
- AngularJS plugin
- advantages / Text editor
- using / Text editor
- API
- working / The working of an API
- example / The working of an API
- rebuilding / Rebuilding the API
- baseline structure, obtaining / Getting the baseline structure
- initialization process, changing / Changing the initialization process
- directory structure, changing / Changing the directory structure
- folders, inserting / Inserting new folders and files
- files, inserting / Inserting new folders and files
- configuration file, creating / Creating the configuration file
- refactoring / Refactoring the API
- angular-gravatar / The angular-gravatar image directive
- API routes
- testing / Testing the speakers' API routes
- application
- scaffolding / Scaffolding the application
- anatomy / The application anatomy
- checking, in production / Checking the application in production
- automatic deployment, from GitHub
- about / Automatic deployment from GitHub
- Shippable account, setting up / Setting up a Shippable account
- Heroku account, setting up / Setting up a Heroku account
- Heroku deployment / Additional notes on Heroku deployment
B
- Backbone.js
- baseline application
- starting / Starting the baseline application
- baseline structure
- obtaining / Getting the baseline structure
- bcrypt, Node.js applications
- beforeEach() function / Reviewing the speaker controller test, Reviewing the speaker model test
- Behavior-Driven Development (BDD)
- about / Testing concepts
- binary JSON (BSON) / MongoDB and the terminal
- boilerplates
- about / Boilerplates and generators, Dissecting and understanding the MEAN.JS generator
- Hackathon starter / Hackathon starter
- MEAN.io / MEAN.io or MEAN.JS
- MEAN.JS / MEAN.io or MEAN.JS
- Bower
- about / Bower
- URL / Bower
- used, for managing frontend dependencies / Bower leading frontend dependencies
- build process
- checking / Checking the build process
C
- changes
- reviewing, in server.js file / Reviewing the changes in the server.js file
- cloud
- MongoDB, used in / Using MongoDB in the cloud
- code generator structure
- advantages / Generators
- Command line interface (CLI) / Configuring Karma (unit testing)
- CommonJS
- about / The Node modules
- configuration file
- creating / Creating the configuration file
- continuous application development
- Controller
- Controller, AngularJS / Controller
- create, read, update, and delete (CRUD) / Getting acquainted with SPA
- CRUD functions
- routes, defining to / Defining the API routes
- CSS
- custom directive
- creating / Detailing directives, expressions, and scope
D
- data
- inserting, with Postman / Inserting data with Postman
- inserting, in API / The angular-gravatar image directive
- data attribute / Refactoring the API
- Database as a Service (DbaaS) / Using MongoDB in the cloud
- dependencies
- declaring / Understanding dependency injection
- dependency injection
- describe() function / Introducing Jasmine, Reviewing the speaker controller test
- directive() function / Detailing directives, expressions, and scope
- directive.template property / Detailing directives, expressions, and scope
- directives
- directory structure
- changing / Changing the directory structure
- directory structure, SPA
- Basic-folder-example [SPA] / The SPA directory structure
- CSS / The SPA directory structure
- images / The SPA directory structure
- js / The SPA directory structure
- controllers folder / The SPA directory structure
- models / The SPA directory structure
- views / The SPA directory structure
- libs / The SPA directory structure
- templates / The SPA directory structure
- Document Object Model (DOM)
- Don't Repeat Yourself (DRY) / Generators
E
- e2e testing
- about / Testing concepts
- e2e testing folder
- configuring / Configuring the e2e testing folder
- Embedded JavaScript (EJS) / Express – a web framework on a server
- about / Getting the baseline structure
- URL / Getting the baseline structure
- templates, used with / Templates with Embedded JavaScript
- end to end (e2e) / Project organization
- env directory / The application anatomy
- event-driven development
- event loop
- expect() function / Introducing Jasmine, Configuring Protractor (e2e testing)
- Express
- express-session
- Express generator
- about / The Express generator
- URL / The Express generator
- using, advantages / Changing the directory structure
- expressions
- detailing / Detailing directives, expressions, and scope
- Extreme programming (XP) / Continuous application development
F
- files
- inserting / Inserting new folders and files
- find() function / Refactoring the API
- folders
- inserting / Inserting new folders and files
- framework
- selecting / Choosing a library or framework
- frontend dependencies
- managing, Bower used / Bower leading frontend dependencies
G
- -g key / Scaffolding the application
- generators
- about / Generators and the task manager, Boilerplates and generators, Generators
- Yeoman / Yeoman
- Express generator / The Express generator
- GIT
- Git
- GitHub
- project, hosting on / Hosting the project on GitHub
- URL / Hosting the project on GitHub
- Gravatar
- Grunt / Grunt
- grunt-mocha
H
- Hackathon starter
- about / Hackathon starter
- URL / Hackathon starter
- handlebars
- hands-on deployment
- about / Hands-on deployment
- build process, checking / Checking the build process
- application, checking in production / Checking the application in production
- help() command / The mongo shell
- Heroku account
- setting up / Setting up a Heroku account
- URL / Setting up a Heroku account
- Heroku deployment / Additional notes on Heroku deployment
- Heroku documentation
- Heroku process
- URL / Hands-on deployment
- Heroku Toolbelt
- HTML
I
- index page
- initialization process
- changing / Changing the initialization process
- it() function / Introducing Jasmine, Reviewing the speaker controller test
J
- Jade
- Jasmine
- about / Introducing Jasmine
- Jasmine test framework
- URL / Introducing Jasmine
- JavaScript
- JSHint
- JSLint
- JSONLint
- JSONView / Using MongoDB in the cloud
K
- Karma
- URL / Project organization
- Karma (unit testing)
- configuring / Configuring Karma (unit testing)
- URL / Configuring Karma (unit testing)
- speaker controller test, reviewing / Reviewing the speaker controller test
- running / Running a Karma test
- speaker model test, reviewing / Reviewing the speaker model test
- testing, with Webstorm / Karma testing with WebStorm
L
- learning curve, tool / Choosing a library or framework
- library
- selecting / Choosing a library or framework
- login page
M
- MEAN.io
- about / MEAN.io or MEAN.JS
- versus MEAN.JS / Differentiating MEAN.JS and MEAN.io
- MEAN.JS
- about / MEAN.io or MEAN.JS
- URL / MEAN.io or MEAN.JS, Differentiating MEAN.JS and MEAN.io
- versus MEAN.io / Differentiating MEAN.JS and MEAN.io
- MEAN.JS generator
- MEAN stack
- about / Introducing the MEAN stack
- tools, for developing web applications / Tools to develop web applications
- tools, debugging / Debugging tools
- generators / Generators and the task manager
- task manager / Generators and the task manager
- middleware
- about / Node server, NPM, and middleware
- Mocha
- Model / Understanding the MVC/MVVM/MV* pattern
- model
- creating, Mongoose schema used / Model with the Mongoose schema
- Model, AngularJS / Model
- Models
- Model View Controller (MVC) / Understanding the work of SPAs
- Model View Presenter (MVP) / Understanding the work of SPAs
- Model View ViewModel (MVVM) / Understanding the work of SPAs
- module.exports object
- about / The Node modules
- modules
- working with / Working with require() and modules
- about / The Node modules, Modules in AngularJS
- using / The Node modules
- modules, AngularJS
- about / Modules in AngularJS
- URL / Modules in AngularJS
- module_name npm update command / Node server, NPM, and middleware
- MongoDB
- about / Introducing the MEAN stack, MongoDB and the terminal
- URL / Introducing the MEAN stack
- and terminal / MongoDB and the terminal
- relational database, comparing with NoSQL database / Comparing a relational database with the NoSQL database
- mongo shell / The mongo shell
- connection, with Mongoose / MongoDB connection with Mongoose
- Mongoose schemas / Mongoose schemas and models
- Mongoose models / Mongoose schemas and models
- used, in cloud / Using MongoDB in the cloud
- MongoDB commands
- versus SQL commands / Comparing a relational database with the NoSQL database
- Mongoose
- MongoDB connection, using with / MongoDB connection with Mongoose
- Mongoose models / Mongoose schemas and models
- Mongoose schema
- used, for creating model / Model with the Mongoose schema
- Mongoose schemas / Mongoose schemas and models
- mongo shell / The mongo shell
- MV* pattern / Understanding the MVC/MVVM/MV* pattern
- MVC
- MVC pattern / Understanding the MVC/MVVM/MV* pattern
- MVP
- MVVM
- MVVM model
- MVVM pattern / Understanding the MVC/MVVM/MV* pattern
N
- ng-app property
- ng-repeat directive / Refactoring the API
- Node.js
- Node module, variables
- __filename / The Node modules
- __dirname / The Node modules
- process / The Node modules
- process.argv / The Node modules
- process.stdin / The Node modules
- process.stout / The Node modules
- process.stderr / The Node modules
- process.env / The Node modules
- require.main / The Node modules
- Node Package Manager (NPM) / Text editor
- Node server
- about / Node server, NPM, and middleware
- with server.js / Node server with server.js
- node server command / Changing the initialization process, Refactoring the API
- NoSQL database
- relational database, comparing with / Comparing a relational database with the NoSQL database
- advantages / Comparing a relational database with the NoSQL database
- NPM
- about / Node server, NPM, and middleware
- NPM (Node Package Manager) / Node server, NPM, and middleware
- npm -v command / Node server, NPM, and middleware
- npm adduser username command / Node server, NPM, and middleware
- npm install module_name-save command / Node server, NPM, and middleware
- npm install module_name command / Node server, NPM, and middleware
- npm list-g command / Node server, NPM, and middleware
- npm list command / Node server, NPM, and middleware
- npm publish command / Node server, NPM, and middleware
- npm remove module_name command / Node server, NPM, and middleware
- NPM repository
- npm whoami command / Node server, NPM, and middleware
O
- Object Data Mapping (ODM) / MongoDB connection with Mongoose
- Object Relational Mapping (ORM) / MongoDB connection with Mongoose
P
- package.json file
- creating / Creating the package.json file
- initiating / Initiating the JSON file
- Package Control
- URL / Text editor
- Passport middleware
- adding / Adding the Passport middleware
- URL / Adding the Passport middleware
- session control, adding / Adding session control and password encryption
- password encryption, adding / Adding session control and password encryption
- password encryption, setting to user model / Setting password encryption to a user model
- changes, reviewing in server.js file / Reviewing the changes in the server.js file
- Passport module
- about / The Passport module
- password encryption
- adding / Adding session control and password encryption
- setting, to user model / Setting password encryption to a user model
- Platform as a Service (PaaS) / Using MongoDB in the cloud
- PM
- Postman
- data, inserting with / Inserting data with Postman
- Presenter
- profile page
- project
- hosting, on GitHub / Hosting the project on GitHub
- project organization
- about / Project organization
- Protractor (e2e testing)
- configuring / Configuring Protractor (e2e testing)
- URL / Configuring Protractor (e2e testing)
- e2e testing folder, configuring / Configuring the e2e testing folder
- Selenium server, starting / Starting the Selenium server
- Protractor API
- public folder / The application anatomy
- Pure CSS
- about / Pure CSS
- URL / Pure CSS
- used, for frontend views / Pure CSS and Responsive Boilerplate for frontend views
R
- Read-Eval-Print Loop (REPL) / The require() function
- relational database
- comparing, with NoSQL database / Comparing a relational database with the NoSQL database
- repeater method
- require() function
- working with / Working with require() and modules
- about / The require() function
- res.render() function / Dealing with routes
- Responsive boilerplate
- Responsive Boilerplate
- used, for frontend views / Pure CSS and Responsive Boilerplate for frontend views
- root folder
- .bowerrec / The application anatomy
- .gitignore / The application anatomy
- bower.json / The application anatomy
- gruntfile.js / The application anatomy
- karma.conf.js / The application anatomy
- license.md / The application anatomy
- package.json / The application anatomy
- procfile / The application anatomy
- readme.md / The application anatomy
- server.js / The application anatomy
- routes
- defining, to CRUD functions / Defining the API routes
- /api/speakers / Defining the API routes
- /api/speakers/$speaker_id / Defining the API routes
- dealing with / Dealing with routes
S
- $scope / Detailing directives, expressions, and scope
- --save option / Creating the configuration file
- schema types
- about / Mongoose schemas and models
- scope
- detailing / Detailing directives, expressions, and scope
- Selenium server
- starting / Starting the Selenium server
- server.js
- Node server, using with / Node server with server.js
- server.js file
- changes, reviewing / Reviewing the changes in the server.js file
- services
- session control
- Shippable
- Shippable account
- setting up / Setting up a Shippable account
- snippets, Sublime Text editor
- URL / Pure CSS
- Software as a Service (SaaS) / Using MongoDB in the cloud
- SPA
- about / Getting acquainted with SPA, Final notes on SPA
- URL / Getting acquainted with SPA
- goals / Getting acquainted with SPA
- working / Understanding the work of SPAs
- MVC pattern / Understanding the MVC/MVVM/MV* pattern
- MVVM pattern / Understanding the MVC/MVVM/MV* pattern
- MV* pattern / Understanding the MVC/MVVM/MV* pattern
- and traditional web development, comparing / Peculiarities between SPA and traditional web development
- directory structure / The SPA directory structure
- speaker controller test
- reviewing / Reviewing the speaker controller test
- speaker model test
- reviewing / Reviewing the speaker model test
- speakers API
- about / The speakers API concept
- user history / The user history
- SQL commands
- versus MongoDB commands / Comparing a relational database with the NoSQL database
- sub-generator CRUD
- URL / Refactoring the API
- Sublime Text
- URL / Text editor
T
- task manager
- about / Generators and the task manager
- Bower / Bower
- Grunt / Grunt
- templates
- with Embedded JavaScript / Templates with Embedded JavaScript
- index page, creating / Creating the index, profile, login, and signup pages
- profile page, creating / Creating the index, profile, login, and signup pages
- login page, creating / Creating the index, profile, login, and signup pages
- signup page, creating / Creating the index, profile, login, and signup pages
- about / Two-way data binding and templates
- reusing / Reusing templates
- terminal
- and MongoDB / MongoDB and the terminal
- Test-Driven Development (TDD)
- about / Testing concepts
- workflow / Testing concepts
- text editor / Text editor
- tools
- important aspects / Choosing a library or framework
- debugging / Debugging tools
- tools, for web applications
- about / Tools to develop web applications
- text editor / Text editor
- AngularJS / AngularJS
- traditional web development
- and SPA, comparing / Peculiarities between SPA and traditional web development
- Travis
- URL / Hands-on deployment
- Two-way data binding
U
- UMongo
- URL / The mongo shell
- unit testing
- about / Testing concepts
- user history, speakers API / The user history
- User Interfaces (UIs/frontend) / Understanding the MVC/MVVM/MV* pattern
- user model
- password encryption, setting to / Setting password encryption to a user model
V
- View / Understanding the MVC/MVVM/MV* pattern
- View, AngularJS / View
- ViewModel / Understanding the MVC/MVVM/MV* pattern
W
- WebStorm
- about / Text editor
- URL / Text editor
- Webstorm
- Karma, testing with / Karma testing with WebStorm
- Windows Presentation Foundation (WPF) / Understanding the MVC/MVVM/MV* pattern
Y
- Yeoman
- about / Yeoman, The Passport module
- URL / Yeoman, The Passport module