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...
Otros Autores: | , , |
---|---|
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.