How to Build a Simple CRUD System with MERN Stack

Aug 2, 2021 | Programming

Creating a records system using the MERN stack (MongoDB, Express.js, React.js, and Node.js) might sound like a daunting task. However, with a little guidance, you’ll find it an exciting endeavor! In this blog, we’ll walk you through the steps to establish a simple Create, Read, Update, and Delete (CRUD) application that utilizes Socket.io for real-time functionality.

Prerequisites

  • Basic understanding of JavaScript.
  • Familiarity with the command line.
  • Node.js installed on your machine.
  • MongoDB installed and running.

Setting Up the Backend

First, we need to set up the backend which involves Express.js and MongoDB. Follow these steps:

Step 1: Clone the Repository

Fork the repo, then download or clone it using the command:

git clone https://github.com/your-user-name/mern-crud.git

Step 2: Configure the Database

In the *config* folder, locate the file named *db.js*. Alter the value of ‘db’ to establish a connection with your MongoDB instance:

module.exports = {
    db: 'mongodb://localhost/mern-crud'
};

Step 3: Install Dependencies

Navigate to your project directory in the terminal and run:

npm install

Step 4: Run the Main Server

Start the server using the command:

CORS=1 node server

You should now be able to view your app at http://localhost:3000.

Setting Up the Frontend

Now let’s focus on the React.js frontend!

Step 5: Go to the React Source

Navigate to the *react-src* folder:

cd react-src

Step 6: Install React Dependencies

Install the required packages for the React application:

npm install

Step 7: Start the Development Server

Run the development server using:

REACT_APP_API_URL=http://localhost:3000 npm start

Access your application at http://localhost:4200.

Step 8: Production Build

To create a production-ready version of your app, run the following command in the *react-src* directory:

npm run build

This will generate a *public* folder with your production-ready front-end.

Using Docker

You can also run the application using Docker with the following command:

docker-compose up

Functionality Overview

This application supports the following core functionalities:

  • Create records
  • Read records
  • Update records
  • Delete records
  • Real-time broadcasting using Socket.io

Troubleshooting Tips

If you encounter issues during setup, here are a few troubleshooting steps you can take:

  • Make sure MongoDB service is running properly on your machine.
  • Confirm that the database URL is correctly configured in *db.js*.
  • Check your terminal for any error messages after running the server commands.
  • If everything seems right but the app still doesn’t work, try rebuilding your application by following the build steps again.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Conclusion

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox