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

Game model


In Chapter 10, Developing a Web-Based VR Game, the Game data structure section laid out the details needed for each game in order to implement the scavenger hunt features defined for the gameplay. We will design the game schema based on these specific details about the game, its VR objects, and also a reference to the game maker.

Game schema

In the Mongoose schema for the game model defined in game.model.js, we will add fields for the

  • Game's name
  • World image URL
  • Clue text
  • An array containing details of the VR objects to be added as collectable answer objects
  • An arraycontaining details of the VR objects that are wrong objects and cannot be collected
  • Timestamps indicating when a game is created and updated
  • A reference to the user who made the game

The GameSchema will be defined as follows.

mern-vrgame/server/models/game.model.js:

const GameSchema = new mongoose.Schema({
  name: {
    type: String,
    trim: true,
    required: 'Name is required'
  },
  world: {
    type: String, trim: true...