Index
A
- advanced chat app
- requisites / We need some room!
- namespaces / Namespaces
- multiroom chat application, creating / Creating a multiroom chat application
- Advanced Package Tool (APT)
- about / Ubuntu
- advanced queries, MongoDB
- defining / Advanced queries
- Allow-Control-Allow-Origin / Connecting the product API to our Ionic app
- alternate chat / An alternate chat
- Android
- Studio, setting up for / Setting up Android Studio for Android, Mac, and Windows
- about / Android
- emulator / Emulator
- physical device / A physical device
- Android Debug Bridge (ADB) / Trusting a computer with installed IDE using secure USB debugging (devices with Android 4.4.2)
- Android Developer
- Android Software Development Kit (SDK)
- setting up / Setting up the Android Software Development Kit
- Android Studio
- setting up, for Android / Setting up Android Studio for Android, Mac, and Windows
- setting up, for Mac / Setting up Android Studio for Android, Mac, and Windows
- setting up, for Windows / Setting up Android Studio for Android, Mac, and Windows
- Angular app
- structure / The structure of an Angular app
- Angular directives
- about / Angular directives
- creating / Creating directives
- restricting / Restricting directives
- scope isolation / Scope isolation
- DOM manipulation / DOM manipulation
- AngularJS
- about / Introducing AngularJS
- modules / Modules
- Angular MVC pattern / The Angular MVC pattern
- components, connecting / Putting it all together
- Angular MVC pattern
- about / The Angular MVC pattern
- view / The Angular MVC pattern, The view
- controller / The Angular MVC pattern, The controller
- model / The Angular MVC pattern, The model
- API
- testing / Testing the API
- building, with Node.js / Moving forward
- application
- testing / Testing our application
- app states
- defining / Defining app states
- Atom
- authentication module
- adding / Adding an authentication module
- functions, creating for registering / Creating functions to register and help users log in
- functions, creating for logging in / Creating functions to register and help users log in
- users, registering / Registering users
- users log in, enabling / Enabling users to log in
- API, extending / Extending our API
- OAuth / OAuth
- time-stamped access tokens / Time-stamped access tokens
- passwords, hashing / Hashing passwords
B
- backend, Node.js / The Node.js backend
- basic authentication service, secure app
- about / A basic authentication service
- login function / The login function
- isAuthenticated function / The isAuthenticated function
- getCurrent function / The getCurrent function
- basic components, client-side security
- authentication tokens / The basic components of client-side security
- secure local storage / The basic components of client-side security
- secure communication / The basic components of client-side security
- basic MVC project
- creating / Creating a basic MVC project
- view, creating / Creating the view
- list view, creating / Creating the list view
- controller, creating / Creating the controller
- view and controller, connecting / Connecting the view and controller
- connection, testing / Testing the connection
- model, creating / Creating the model
- services / Services
- services, creating / Creating services
- bootstrap CSS framework / Creating a chat interface
C
- CentOS
- Node.js, installing on / Fedora/RHEL/CentOS
- MongoDB, installing on / Fedora/RHEL/CentOS
- chat application
- building / Getting the lay of the land, Building the chat app
- requisites / What we will need
- server, creating / Creating the server
- basic app structure, setting up / Setting up the basic app structure
- input section / The input section
- message view / The message view
- ChatService function / The ChatService function
- WebSockets, adding to mix / Adding WebSockets to the mix
- chat view, updating / Updating the chat view
- client-side security
- overview / An overview of client-side security
- about / Client-side security is a convenience
- basic components / The basic components of client-side security
- collections
- creating / Creating our collections
- adding / Adding the new collections
- Command Line Interface (CLI) / Creating a new project
- Cordova
- setting up, for Mac OS X / Setting up the Ionic framework and Cordova for Mac OS X
- setting up, for Windows / Setting up the Ionic framework and Cordova for Windows
- CORS (cross-origin Resource sharing)
- reference / Connecting the product API to our Ionic app
- CRUD (Create/Read/Update/Delete)
- about / It's all hypermedia
- customer
- about / Adding the new collections
D
- database
- creating / Creating a database
- Database Management System (DBMS)
- about / Documents
- Debian
- Node.js, installing on / Ubuntu/Debian
- DELETE handlers
- implementing / Implementing the DELETE and PUT handlers
- DELETE requests
- about / DELETE
- device data
- accessing / Accessing the device data
- native services, accessing / Accessing native services
- ngCordova / ngCordova
- Cordova, adding to factory / Adding Cordova contacts to our factory
- directives / The view
- Document Object Model (DOM) / Integrating Google Maps into the app
- documents
- relations, creating between / Creating relations between documents
E
- e-commerce application
- designing / Designing our application
- Ionic project, creating / Creating an Ionic project
- designs, implementing / Implementing our designs
- product API, setting up / Setting up the product API
- product API, connecting to Ionic app / Connecting the product API to our Ionic app
- Environment Variables
- setting up, on Windows 7 / Setting up the Environment Variables on Windows 7 and higher
- Environment Variables, for iOS
- setting up, on Mac OS X / Setting up the Environment Variables for iOS on Mac OS X
- Express.js
- about / Moving forward
- URL / Moving forward
- expressions / The view
F
- Fedora
- Node.js, installing on / Fedora/RHEL/CentOS
- MongoDB, installing on / Fedora/RHEL/CentOS
- folder structure, Ionic project
- about / The structure of an Ionic project
- hooks / The structure of an Ionic project
- platforms / The structure of an Ionic project
- plugins / The structure of an Ionic project
- resources / The structure of an Ionic project
- scss / The structure of an Ionic project
- www / The structure of an Ionic project
G
- GET handlers
- implementing / Implementing our GET handlers
- GET request
- GNU Privacy Guard (GPG) / Ubuntu
- Google Maps
- integrating, into simple navigation map / Integrating Google Maps into the app
- Google V8 JavaScript Engine / Installing Node.js on different systems
- grade CSS extension language / Going further
H
- Heroku / Going further
- Homebrew package manager
- about / Mac OS X
- HTTP module
- about / The HTTP module
- HTTP server
- dissecting / Dissecting the HTTP server
- HTTP verbs
- GET / It's all hypermedia, GET
- POST / It's all hypermedia, POST
- PUT / It's all hypermedia, PUT
- DELETE / It's all hypermedia, DELETE
I
- Integrated Development Environment (IDE) / The structure of an Ionic project
- ion-content / Creating the view
- ion-view / Creating the view
- Ionic application
- creating / Creating your first Ionic application
- testing, on iOS Ionic View app / Testing your application on the iOS Ionic View App
- testing, on Android / Testing your application on Android
- sharing, with collaborators / Sharing your application with collaborators
- Ionic applications, checking out with Ionic View
- about / Checking out your Ionic applications with Ionic View
- Ionic View, installing on Android / Installing Ionic View on Android
- Ionic View, installing on iOS / Installing Ionic View on iOS
- Ionic Box
- Ionic framework
- setting up, for Mac OS X / Setting up the Ionic framework and Cordova for Mac OS X
- setting up, for Windows / Setting up the Ionic framework and Cordova for Windows
- Ionicons documentation
- Ionic Playground
- URL / Going further
- Ionic project
- structure / The structure of an Ionic project
- folder structure / The structure of an Ionic project
- modifying / Modifying an Ionic project
- header, modifying / Modifying the header
- tab colour, modifying / Modifying the tab colour, icons, and names
- icons, modifying / Modifying the tab colour, icons, and names
- names, modifying / Modifying the tab colour, icons, and names
- pages, modifying / Modifying our pages
- new tab, adding / Adding a new tab
- setting up / Setting up the Ionic project
- Ionic web account
- setting up / Setting up your Ionic web account
- iOS SDK
- installing / Installing the iOS SDK
J
- Java
- installing / Installing Java
- Java JDK
- URL, for downloading / Installing Java
- JavaScript Object Notation (JSON) object / Creating the list view
- JSON
- returning / Returning JSON
L
- link function
- about / DOM manipulation
- $scope parameter / DOM manipulation
- $element parameter / DOM manipulation
- $attr parameter / DOM manipulation
- Linux
- Node.js, installing on / Linux
- MongoDB, installing on / Linux
- MongoDB, running on / Linux and OS X
- Loopback.js
- about / Moving forward
- URL / Moving forward
M
- Mac
- Android Studio, setting up for / Setting up Android Studio for Android, Mac, and Windows
- Mac OS X
- Node.js, installing on / Mac OS X
- Ionic framework, setting up for / Setting up the Ionic framework and Cordova for Mac OS X
- Cordova, setting up for / Setting up the Ionic framework and Cordova for Mac OS X
- Environment Variables for iOS, setting up on / Setting up the Environment Variables for iOS on Mac OS X
- MongoDB, running on / Mac OS X
- Mobile/Responsive Web Design Tester / Testing the connection
- Model-View-Controller (MVC) pattern / Introducing AngularJS
- module
- about / Modules, Modules within modules within modules
- services / Services, controllers, and other beasts
- controllers / Services, controllers, and other beasts
- MongoDB
- about / MongoDB, An introduction to MongoDB, Documents
- installing, on Windows / Windows
- URL / Windows
- installing, on Linux / Linux
- installing, on Ubuntu / Ubuntu
- installing, on CentOS / Fedora/RHEL/CentOS
- installing, on RHEL / Fedora/RHEL/CentOS
- installing, on Fedora / Fedora/RHEL/CentOS
- starting / Starting MongoDB
- running, on Mac OS X / Mac OS X
- starting, on Mac OS X / Mac OS X
- connecting to / Connecting to MongoDB, Connecting to MongoDB, Connecting to MongoDB
- running, on Windows / Windows
- running, on Linux / Linux and OS X
- defining / Learning outcomes of MongoDB
- documents / Documents
- collections / Collections
- databases / Databases
- product order database / An example – a product order database
- in Linux / Linux and Mac OS X
- in Mac OS X / Linux and Mac OS X
- in Windows / Windows
- querying / Querying MongoDB
- searching, by ID / Searching by ID
- searching, by property value / Searching by property value
- and Node.js, connecting / Connecting MongoDB and Node.js
- MongoDB instance
- connecting to / Connecting to MongoDB
- multiroom chat application, advanced chat app
- creating / Creating a multiroom chat application
- basic layout, configuring / Configuring the basic layout
- server, building / Building the server
N
- native devices
- building for / Building for native devices
- Android / Android
- list view / The list view revisited
- new project
- creating / Creating a new project
- new tab
- adding / Adding a new tab
- new controller, adding / Creating a new controller
- view, adding / Creating a view
- state, adding / Adding a state for the new tab
- testing / Testing the newly created tab
- ngCordova
- about / ngCordova
- node-oauth2-server package
- reference / OAuth
- Node.js
- backend / The Node.js backend
- installing, on different systems / Installing Node.js on different systems
- installing, on Windows / Windows
- installing, on Linux / Linux
- installing, on Ubuntu / Ubuntu/Debian
- installing, on Debian / Ubuntu/Debian
- installing, on RHEL / Fedora/RHEL/CentOS
- installing, on Fedora / Fedora/RHEL/CentOS
- installing, on CentOS / Fedora/RHEL/CentOS
- installation, verifying / Verifying your installation, Verifying your installation
- installing, on Mac OS X / Mac OS X
- URL / Mac OS X
- and MongoDB, connecting / Connecting MongoDB and Node.js
- RESTful API, building / Building a RESTful API with Node.js
- Node Package Manager (NPM)
- normalization / Scope isolation
- NoSQL databases
- about / MongoDB
O
- OAuth
- about / OAuth
- OAuth2
- about / OAuth
- operating systems (OS) / Installing Node.js on different systems
P
- Parse
- setting up / Setting up Parse
- connecting, to Ionic project / Connecting Parse to our project
- app states, defining / Defining app states
- controllers, creating / Creating controllers and templates
- templates, creating / Creating controllers and templates
- physical Android device, enabling for development
- steps / Setting up your physical Android device for development
- Developer options, enabling / Enabling Developer options
- USB debugging, enabling / Enabling USB debugging
- ecure USB debugging, used for trusting computer / Trusting a computer with installed IDE using secure USB debugging (devices with Android 4.4.2)
- platform dependencies
- setting up / Installing Java
- Playground tools / Going further
- polling
- about / Polling
- POST handlers
- implementing / Implementing our POST handlers
- Postman
- URL / Testing the API
- POST requests
- about / POST
- producer
- about / Adding the new collections
- product, RESTful base
- URL / It's all hypermedia
- project
- setting up / Setting up a basic project
- providers
- about / Creating services
- PUT handlers
- implementing / Implementing the DELETE and PUT handlers
- PUT requests
- about / PUT
R
- relations
- creating, between documents / Creating relations between documents
- res parameter
- about / Dissecting the HTTP server
- REST
- about / It's all hypermedia
- RESTful API
- defining / Learning outcomes of the RESTful API
- building, with Node.js / Building a RESTful API with Node.js
- setting up / Setting up the RESTful API
- RHEL
- Node.js, installing on / Fedora/RHEL/CentOS
- MongoDB, installing on / Fedora/RHEL/CentOS
- router
- implementing / Implementing a router
- references / Implementing a router
S
- secure app
- building / Building a secure app, Starting off
- basic authentication service / A basic authentication service
- route authentication, implementing / Implementing route authentication
- services
- constants / Creating services
- values / Creating services
- factories / Creating services
- about / Creating services
- factory, creating / Creating a factory
- simple navigation app
- creating / Creating the project
- basic app structure, creating / Creating the basic app structure
- Google Maps, integrating into / Integrating Google Maps into the app
- implementing / Putting it all together
- geolocation, adding via GPS / Adding geolocation via GPS
- singletons / Services
- static files / The efficient serving of static files
T
- TCP/IP
- defining / RESTing easy
- Time To Live (TTL) value / Time-stamped access tokens
- token-based authentication
- about / Understanding the outcomes of token-based authentication
- overview / The theoretical bit
- access token / A small token of trust
- role, playing / Playing your role
- implementing / Putting it all together, Implementation
U
- Ubuntu
- Node.js, installing on / Ubuntu/Debian
- MongoDB, installing on / Ubuntu
- ui-router
- reference / Connecting the view and controller
- User Interface (UI) components / Putting it all together
V
- Vanilla node / Using WebSockets in Node.js
- VPS (Virtual Private Server)
- about / Going further
- URL / Going further
W
- WebSocket
- about / WebSockets
- WebSocket,using in Node.js
- about / Using WebSockets in Node.js
- WebSocket, using in Node.js
- project, setting up / Setting up our project
- socket.io, installing / Installing socket.io
- chat interface, creating / Creating a chat interface
- basic file server / A basic file server
- WebSockets
- about / A refresher – WebSockets
- Windows
- Node.js, installing on / Windows
- Cordova, setting up for / Setting up the Ionic framework and Cordova for Windows
- Ionic framework, setting up for / Setting up the Ionic framework and Cordova for Windows
- Android Studio, setting up for / Setting up Android Studio for Android, Mac, and Windows
- MongoDB, installing on / Windows
- MongoDB, running on / Windows
- Windows 7
- Environment Variables, setting up on / Setting up the Environment Variables on Windows 7 and higher
- Windows 32-bit
- about / Windows
- Windows 64-bit legacy
- about / Windows
- Windows 64-bit R2+
- about / Windows
- www folder, Ionic project