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

Creating and editing games


Users registered on MERN VR Game will be able to make new games and modify these games from within the application. We will add React components that allow users to modify game details and VR object details for each game.

Making a new game

When a user signs into the application, they will see a MAKE GAME link on the menu that will navigate them to the NewGame component containing a form to create a new game.

Updating the menu

We will update the navigation menu to add the MAKE GAME button, as shown in the following screenshot:

In the Menu component, we will add the Link to the route for the NewGame component, right before the MY PROFILE Link, in the section that renders only when the user is authenticated.

mern-vrgame/client/core/Menu.js:

<Link to="/game/new">
   <Button style={isActive(history, "/game/new")}>
       <AddBoxIcon color="secondary"/> Make Game
   </Button>
</Link>

NewGame component

The NewGame component uses the GameForm component...