My Account Log in

3 options

Full-Stack React projects : modern web development using React 16, Node, Express, and MongoDB / Shama Hoque.

EBSCOhost Academic eBook Collection (North America) Available online

View online

Ebook Central Academic Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Hoque, Shama, author.
Language:
English
Subjects (All):
JavaScript (Computer program language).
Application software--Development.
Application software.
Physical Description:
1 online resource (1 volume) : illustrations
Edition:
1st edition
Other Title:
Modern web development using React 16, Node, Express, and MongoDB
Place of Publication:
Birmingham ; Mumbai : Packt, 2018.
System Details:
text file
Biography/History:
Hoque Shama: Shama Hoque has 8 years of experience as a software developer and mentor, with a Master's in Software Engineering from Carnegie Mellon University. From Java programming to full-stack development with JavaScript, the applications she has worked on include national Olympiad registration websites, universally accessible widgets, video conferencing apps, and medical 3D reconstruction software. Currently, she makes web-based prototypes for R&D start-ups in California, while training aspiring software engineers and teaching web development to CS undergrads in Bangladesh.
Summary:
Unleash the power of MERN stack by building diverse web applications using React, Node.js, Express, and MongoDB About This Book Create dynamic web applications with the MERN stack Leverage the power of React in building interactive and complex user interfaces Unlock the potential of Node, Express, and MongoDB to build modern full-stack applications Who This Book Is For Full-Stack React Web Development Projects is for JavaScript developers who have some experience with React, but no previous experience with full-stack development involving Node, Express, and MongoDB, and who want practical guidelines to start building different types of real-world web applications with this stack. What You Will Learn Set up your development environment and develop a MERN application Implement user authentication and authorization using JSON Web Tokens Build a social media application by extending the basic MERN application Create an online marketplace application with shopping cart and Stripe payments Develop a media streaming application using MongoDB GridFS Implement server-side rendering with data to improve SEO Set up and use React 360 to develop user interfaces with VR capabilities Learn industry best practices to make MERN stack applications reliable and scalable In Detail The benefits of using a full JavaScript stack for web development are undeniable, especially when robust and widely adopted technologies such as React, Node, and Express and are available. Combining the power of React with industry-tested, server-side technologies, such as Node, Express, and MongoDB, creates a diverse array of possibilities when developing real-world web applications. This book guides you through preparing the development environment for MERN stack-based web development, to creating a basic skeleton application and extending it to build four different web applications. These applications include a social media, an online marketplace, a media streaming, and a web-based game application with virtual reality features. While learning to set up the stack and developing a diverse range of applications with this book, you will grasp the inner workings of the MERN stack, extend its capabilities for complex features, and gain actionable knowledge of how to prepare MERN-based applications to meet the growing demands of real-world web applications. Style and approach This book provides practical guidelines on setting up and building MERN stack based applications, while providing f...
Contents:
Cover
Title Page
Copyright and Credits
Packt Upsell
Contributors
Table of Contents
Preface
Chapter 1: Unleashing React Applications with MERN
MERN stack
Node
Express
MongoDB
React
Relevance of MERN
Consistency across the technology stack
Less time to learn, develop, deploy, and extend
Widely adopted in the industry
Community support and growth
Range of MERN applications
MERN applications developed in this book
Social media platform
Online marketplace
Media streaming application
VR game for the web
Book structure
Getting started with MERN
Building MERN from the ground up - a skeleton application
Developing basic web applications with MERN
Advancing to complex MERN applications
Going forward with MERN
Getting the most out of this book
Summary
Chapter 2: Preparing the Development Environment
Selecting development tools
Workspace options
Local and cloud development
IDE or text editors
Chrome Developer Tools
Git
Installation
Remote Git hosting services
Setting up MERN stack technologies
Running the mongo shell
Upgrading npm versions
Node version management with nvm
npm modules for MERN
Key modules
devDependency modules
Checking your development setup
Initializing package.json and installing npm modules
Configuring Babel, Webpack, and Nodemon
Babel
Webpack
Client-side Webpack configuration for development
Server-side Webpack configuration
Client-side Webpack configuration for production
Nodemon
Frontend views with React
Server with Express and Node
Express app
Bundle React app during development
Serving static files from the dist folder
Rendering templates at the root
Connecting the server to MongoDB.
npm run scripts
Developing and debugging in real time
Chapter 3: Building a Backend with MongoDB, Express, and Node
Skeleton application overview
Feature breakdown
Focus of this chapter - the backend
User model
API endpoints for user CRUD
Auth with JSON Web Tokens
How JWT works
Implementing the skeleton backend
Folder and file structure
Setting up the project
Initializing package.json
Development dependencies
Config variables
Running scripts
Preparing the server
Configuring Express
Starting the server
Setting up Mongoose and connecting to MongoDB
Serving an HTML template at a root URL
User schema definition
Name
Email
Created and updated timestamps
Hashed password and salt
Password for auth
As a virtual field
Encryption and authentication
Password field validation
Mongoose error handling
User CRUD API
User routes
User controller
Creating a new user
Listing all users
Loading a user by ID to read, update, or delete
Loading
Reading
Updating
Deleting
User auth and protected routes
Auth routes
Auth controller
Sign-in
Sign-out
Protecting routes with express-jwt
Requiring sign-in
Authorizing signed in users
Protecting user routes
Auth error handling for express-jwt
Checking the standalone backend
Fetching the user list
Trying to fetch a single user
Signing in
Fetching a single user successfully
Chapter 4: Adding a React Frontend to Complete MERN
Skeleton frontend
Setting up for React development
Configuring Babel and Webpack
Loading Webpack middleware for development
Serving static files with Express.
Updating the template to load a bundled script
Adding React dependencies
React Router
Material-UI
Implementing React views
Rendering a home page
Entry point at main.js
Root React component
Customizing the Material-UI theme
Wrapping the root component with MUI theme and BrowserRouter
Marking the root component as hot-exported
Adding a home route to MainRouter
Home component
Imports
Style declarations
Component definition
PropTypes validation
Export component
Bundling image assets
Running and opening in the browser
Backend API integration
Fetch for User CRUD
Creating a user
Listing users
Reading a user profile
Updating a user's data
Deleting a user
Fetch for auth API
Auth in the frontend
Managing auth state
PrivateRoute component
User and auth components
Users component
Signup component
Signin component
Profile component
EditProfile component
DeleteUser component
Menu component
Basic server-side rendering
Modules for server-side rendering
Preparing Material-UI styles for SSR
Generating markup
Sending a template with markup and CSS
Updating template.js
Updating MainRouter
Hydrate instead of render
Chapter 5: Starting with a Simple Social Media Application
MERN Social
Updating the user profile
Adding an about description
Uploading a profile photo
Updating the user model to store a photo in MongoDB
Uploading a photo from the edit form
File input with Material-UI
Form submission with the file attached
Processing a request containing a file upload
Retrieving a profile photo
Profile photo URL
Showing a photo in a view
Following users in MERN Social
Follow and unfollow
Updating the user model
Updating the userByID controller method.
API to follow and unfollow
Accessing follow and unfollow APIs in views
Follow and unfollow buttons
FollowProfileButton component
Update Profile component
Listing followings and followers
FollowGrid component
Finding people to follow
Fetching users not followed
FindPeople component
Posts
Mongoose schema model for Post
Newsfeed component
Listing posts
List in Newsfeed
Newsfeed API for posts
Fetching Newsfeed posts in the view
Listing by user in Profile
API for posts by a user
Fetching user posts in the view
Creating a new post
Creating post API
Retrieving a post's photo
Fetching the create post API in the view
NewPost component
Post component
Layout
Header
Content
Actions
Comments
Deleting a post
Likes
Like API
Unlike API
Checking if liked and counting likes
Handling like clicks
Adding a comment
Comment API
Writing something in the view
Listing comments
Deleting a comment
Uncomment API
Removing a comment from view
Comment count update
Chapter 6: Exercising New MERN Skills with an Online Marketplace
MERN Marketplace
Users as sellers
Updating the Edit Profile view
Updating the menu
Shops in the Marketplace
Shop model
Create a new shop
Create shop API
Fetch the create API in the view
NewShop component
List shops
List all shops
Shops list API
Fetch all shops for the view
Shops component
List shops by owner
Shops by owner API
Fetch all shops owned by a user for the view
MyShops component
Display a shop
Read a shop API
Fetch the shop in the view
Shop component
Edit a shop
Edit shop API
Fetch the edit API in the view
EditShop component
Delete a shop
Delete shop API.
Fetch the delete API in the view
DeleteShop component
Products
Product model
Create a new product
Create product API
Fetching the create API in the view
The NewProduct component
List products
List by shop
Products by shop API
Products component for buyers
MyProducts component for shop owners
List product suggestions
Latest products
Related products
Suggestions component
Display a product
Read a product API
Product component
Edit and delete a product
Edit
Delete
Product search with category
Categories API
Search products API
Fetch search results for the view
Search component
Categories component
Chapter 7: Extending the Marketplace for Orders and Payments
The MERN Marketplace with a cart, payments, and orders
Shopping cart
Adding to cart
Cart icon on the menu
Cart view
The CartItems component
Retrieving cart details
Modifying quantity
Removing item
Showing total price
Option to check out
Using Stripe for payments
Stripe
Stripe-connected account for each seller
Updating user model
Button to connect with Stripe
The StripeConnect component
Stripe auth update API
Stripe Card Elements for checkout
Stripe Customer to record card details
Updating user controller
Creating a new Stripe Customer
Updating an existing Stripe Customer
Creating a charge for each product processed
Checkout
Initializing checkout details
Customer information
Delivery address
The PlaceOrder component
Stripe CardElement component
Placing an order
Empty cart
Redirecting to Order view
Creating new order
Order model
Ordered by and for customer
Payment reference
Products ordered
The CartItem schema
Create order API.
Decrease product stock quantity.
Notes:
Description based on print version record.
ISBN:
9781788832946
1788832949
OCLC:
1041858470

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account