Web development with MongoDB and Node build fast web applications for handling any kind of data

Use the two popular web development stacks, Node.js and MongoDB, to build full-featured web applications About This Book Learn the new ECMAScript along with Node 8 and MongoDB to make your application more effective. Get the up-to-date information required to launch your first application prototype...

Descripción completa

Detalles Bibliográficos
Otros Autores: D'Mello, Bruno Joseph, author (author), Satheesh, Mithun, author, Krol, Jason, author
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham, England ; Mumbai, [India] : Packt Publishing 2017.
Edición:Third edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630729706719
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright
  • Credits
  • About the Authors
  • About the Reviewer
  • www.PacktPub.com
  • Customer Feedback
  • Table of Contents
  • Preface
  • Chapter 1: Welcome to JavaScript in the Full Stack
  • A short introduction to Node.js
  • The advantage that the V8 engine brings in
  • Node.js is single-threaded!
  • Non-blocking asynchronous execution
  • npm - the Node Package Manager
  • Sharing and reusing JavaScript
  • Not just for building web servers!
  • Real-time web application with Socket.io
  • Networking and file IO
  • Microservices
  • Internet of things (IoT)
  • A simple server with Node.js
  • When to use Node.js
  • The NoSQL movement
  • A short introduction to MongoDB
  • JSON-friendly database
  • Schema-less design
  • Various performance facets
  • Node.js and MongoDB in the wild
  • What to expect from this book
  • Summary
  • Chapter 2: Getting Up and Running
  • Installing Node.js
  • Mac OS X
  • Windows
  • Linux
  • Testing that Node.js is installed properly
  • Online documentation
  • Installing MongoDB
  • Mac OS X installation instructions
  • Windows 7/Windows 8 installation instructions
  • Linux installation instructions
  • Confirming successful MongoDB installation
  • Bookmarking the online documentation
  • Writing your first app
  • Creating the sample application
  • Getting the dependent modules in place
  • Adding the application code
  • Understanding the code
  • Launching the sample app
  • Checking the actual database
  • Summary
  • Chapter 3: Node and MongoDB Basics
  • A JavaScript primer
  • Introducing es6
  • Syntax basics
  • Understanding the scope of variables
  • Data types
  • Operators and flows
  • Understanding objects
  • Understanding arrays
  • Understanding functions
  • Anonymous functions and callbacks
  • JSON
  • The basics of Node.js
  • Node.js architecture
  • Event-driven
  • Asynchronous execution.
  • The module system
  • The Node.js core
  • HTTP
  • Net
  • Streams
  • Installing modules using npm
  • The basics of MongoDB
  • The Mongo shell
  • Inserting data
  • Querying
  • Updating data
  • Deleting data
  • Additional resources
  • Summary
  • Chapter 4: Introducing Express
  • Web application frameworks
  • What is Express.js?
  • Building a complete web application
  • Designing the web application
  • Organizing the files
  • Creating the application's entry point
  • Booting up the application
  • Middlewares
  • Creating custom middleware
  • Order of middlewares
  • The configure module
  • Activating the configure module
  • Routers and controllers
  • Handlebars as View engines
  • Summary
  • Chapter 5: Templating with Handlebars
  • Templating engines
  • Server-side and client-side templating
  • Client-side templating
  • Server-side templating
  • The basics of Handlebars
  • Binding an object to the template
  • Embedding presentation logic
  • Views
  • Layouts
  • Partial views
  • Handlebars helpers
  • Global helpers
  • View-specific helpers
  • Rendering the views
  • Summary
  • Chapter 6: Controllers and View Models
  • Controllers
  • View models
  • Updating the home controller
  • Updating the image controller
  • Displaying an image
  • Uploading an image
  • Helpers for reusable code
  • The sidebar module
  • The stats module
  • The images module
  • The comments module
  • Testing the sidebar implementation
  • Iterating on the UI
  • Summary
  • Chapter 7: Persisting Data with MongoDB
  • Using MongoDB with Node.js
  • Connecting to MongoDB
  • Inserting a document
  • Retrieving a document
  • Introducing Mongoose
  • Schemas
  • Models
  • Built-in validation
  • Static methods
  • Virtual properties
  • Context of method (this)
  • Connecting with Mongoose
  • Defining the schemas and models
  • The models index file
  • Adding CRUD to the controllers
  • The home controller.
  • The image controller
  • Index - retrieving an image model
  • Create - inserting an image model
  • Testing everything out so far
  • The like button and updating an image model
  • Comment - inserting a comment model
  • Wrapping it up
  • Helpers
  • Introducing the async module
  • The comments helper
  • The sidebar helper
  • Troubleshooting
  • The stats helper
  • The popular images helper
  • Iterating by adding an image removal capability
  • Adding a route
  • Adding a controller handler
  • Updating the Handlebars image page template
  • Updating jQuery
  • Refactoring and improvements
  • Summary
  • Chapter 8: Creating a RESTful API
  • What is an API?
  • What is a RESTful API?
  • Introducing Postman REST Client
  • Installation instructions
  • A quick tour of Postman REST Client
  • Using the JSONView Chrome extension
  • Creating a basic API server
  • Creating sample JSON data
  • Responding to GET requests
  • Receiving data - POST and PUT requests
  • Removing data - DELETE
  • Consuming external APIs from Node.js
  • Consuming an API endpoint using request
  • Summary
  • Chapter 9: Testing Your Code
  • The tools of the trade
  • Running tests with the Mocha framework
  • Asserting tests with Chai.js
  • Getting started with Chai
  • Spies and stubs with Sinon.js
  • Stubbing node modules with Proxyquire
  • Writing and running your first test
  • Writing a test helper
  • Testing the application
  • Testing the routes
  • Testing the server
  • Testing a model
  • Testing a controller
  • Spy and stub everything!
  • Automating everything
  • Summary
  • Chapter 10: Deploying with Cloud-Based Services
  • Cloud versus traditional hosting
  • Infrastructure as a Service versus Platform as a Service
  • An introduction to Git
  • Deploying your application
  • Nodejitsu
  • Heroku
  • Amazon Web Services
  • Creating a MongoLab account and database.
  • Create and configure the AWS environment
  • Microsoft Azure
  • Digital Ocean
  • Summary
  • Chapter 11: Popular Node.js Web Frameworks
  • Koa
  • Meteor
  • Sails
  • Flatiron
  • total.js
  • LoopBack
  • Hapi
  • Kick starting Hapi.js
  • Scaffolding the Hapi app
  • Setting up a server
  • Creating APIs
  • Creating a configuration-based architecture
  • Summary
  • Chapter 12: Single Page Applications with Popular Frontend Frameworks
  • Why use a frontend framework?
  • What is a single page application?
  • The TodoMVC project
  • Backbone.js
  • Ember.js
  • React.js
  • Angular
  • Scaffolding the Angular app
  • Understanding TypeScript and es6
  • Modules and components
  • Angular data flow architecture
  • Services
  • Forms
  • Component communication
  • Frontend development tools
  • Automated build task managers
  • Dependency management
  • Modularity
  • HTML template-rendering engines
  • CSS transpiling
  • Testing and test-driven development
  • PhantomJS headless browser
  • Summary
  • Index.