Book Image

Full-Stack React Projects

By : Shama Hoque
Book Image

Full-Stack React Projects

By: Shama Hoque

Overview of this book

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.
Table of Contents (19 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

Display, update, and delete media


Any visitor to MERN Mediastream will be able to view media details and stream the video, while only registered users will be able to edit the details and delete the media any time after they post it on the application.

Display media

Any visitor to the MERN Mediastream will be able to browse to a single media view to play the video and read the details associated with the media. Every time a specific video is loaded on the application, we will also increment the number of views associated with the media.

Read media API

To fetch media information for a specific media record, we will set up a route that accepts a GET request at '/api/media/:mediaId'.

mern-mediastream/server/routes/media.routes.js:

router.route('/api/media/:mediaId')
    .get( mediaCtrl.incrementViews, mediaCtrl.read)

The mediaId in the request URL will cause the mediaByID controller method to execute and attach the retrieved media document to the request object. Then this media data will be returned...