DEV Community

Cover image for Deploy A Web Book Register Application With AWS And MEAN stack
Abisola Adesegun
Abisola Adesegun

Posted on • Edited on

Deploy A Web Book Register Application With AWS And MEAN stack

Table of Contents
Step 1: Provision an AWS Instance
Step 2: Install Node.js
Step 3: Install MongoDB
Step 4: Install Express and Set Up Routes
Step 5: Access the Routes with AngularJS
Step 6: Run the App

The MEAN stack is a JavaScript-based framework for developing scalable web applications. The term MEAN is an acronym for MongoDB, Express, Angular, and Node — the four key technologies that make up the layers of the technology stack.

MongoDB: A NoSQL, object-oriented database designed for use with cloud applications

Express(.js): A web application framework for Node(.js) that supports interactions between the front end (e.g., the client side) and the database

Angular(.js): Often referred to as the “front end"; a client-side JavaScript framework used to create dynamic web applications to work with interactive user interfaces.

Node(.js): The premier JavaScript web server used to build scalable network applications.

Deploying a Web Book Register Application on an Ubuntu AWS EC2 instance using the MEAN stack (MongoDB, Express, Angular, Node.js) involves several steps. Here’s a step-by-step guide:

Step 1: Provision an AWS Instance
Launch an EC2 Instance:

  • Use the AWS Console to launch an Ubuntu Server (e.g., 22.04 LTS).

Image description

Image description

  • Choose an instance type (e.g., t2.micro for free tier).

Image description

  • Configure security groups to allow:

SSH (port 22) for server access.
HTTP (port 80) and HTTPS (port 443) for web traffic.

Image description

Image description

  • Connect to the Instance:

Image description

Image description

Step 2: Install Node.js
Node.js is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

  • Update System Packages:

Image description

Image description

Image description

  • Add certificates:

Image description

Image description

  • Install Node.js:

Image description

Image description

Step 3: Install MongoDB
Follow these steps to install MongoDB Community Edition using the apt package manager.

  • Install gnupg and curl if they are not already available:

Image description

Image description

Image description

  • Create the List File Create the list file for Ubuntu 24.04 (Noble):

Image description

Image description

  • Reload the Package Database Issue the following command to reload the local package database:

Image description

Image description

  • Install MongoDB Community Server You can install either the latest stable version of MongoDB or a specific version of MongoDB.

Image description

Image description

  • Init System

To run and manage your mongod process, you will be using your operating system's built-in init system.
If you are unsure which init system your platform uses, run the following command:

Image description

  • Start and verify MongoDB. You can start the mongod process and Verify that MongoDB has started successfully by issuing the following commands:

Image description

Image description

  • Install npm (Node Package Manager):

Image description

Image description

Note: I faced issues with installing the npm, so I used aptitude to Resolve Dependencies. If you face issues, you can try using aptitude (an alternative package manager) to handle the dependency resolution:
aptitude:

  • Install aptitude:

Image description

Then, try installing npm using:

Image description

Image description

  • Install the body-parser package:

Image description

Image description

  • Create a folder for the project:

Image description

  • Initialize the npm project:

Image description

Image description

  • Create a file named server.js and add the following code:

Image description

Image description

Step 4: Install Express and Set Up Routes

  • Install Express and Mongoose:

Image description

  • Create a folder named apps:

Image description

  • Create a file named routes.js and add the following code:

Image description

Image description

Image description

  • Create a folder named models:

Image description

  • Create a file named book.js and add the following code:

Image description

Image description

Step 5: Access the Routes with AngularJS

  • Change the directory back to Books:

Image description

  • Create a folder named public

Image description

Image description

  • Create a file named script.js and add the following code:

Image description

Image description

  • In the public folder, create a file named index.html and add the following code:

Image description

Image description

Image description

Step 6: Run the App

  • Go back to the project root directory and run the following command:

Image description

Image description

  • Opening TCP port 3300 on AWS Web Console for your EC2 Instance to access it from the Internet.

Image description

  • Accessing the Book Register Application by opening a browser and going to http://:3300

Image description

  • Testing the Book Management Application:

Image description

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay