Building a Travel Booking Application with Node.js

Hello everyone, Welcome to this tutorial series. In this series, we will build a simple travel booking application with few basic functionalities. In order to follow along, You will need to have a basic understanding of fundamentals of programming languages. We will start from the very basics of Node.js and will gradually introduce new concepts along the way. We'll start with a basic Express.js server and then gradually introduce the features of our application in the project. As we progresses, we will introduce relevant technologies along the way. By the end of this tutorial, we will introduce following technologies:

  • Express.js
  • Mysql
  • Redis
  • Docker
  • Jest for Unit Testing
  • React.js
  • Nginx
  • Deployment to the Cloud server using both manual server configuration and IaC tools
  • Logging tools for viewing logs
  • Monitoring tools for better visibility of the deployed application

Lets us look at the functionalities that we are gonna build for this travel booking application:

Basic Travel Booking Application
  • Admin Features

    • Basic Admin Login page

      • Username and password combination (only basic checks)

    • Password reset page

      • Using email to reset password if we ever forget the password

    • Hotel page

      • List of all the hotels

      • Form to submit info about the hotel details

      • Edit existing hotel information

      • Delete existing hotel data

      • View details page to see all the submitted info about the hotel

      • In the view details page,

        • List of available rooms in the hotel

        • Form to submit info about the rooms

        • Edit existing room info

        • Delete existing room data

  • Customer Features

    • HomePage

      • Search Bar

      • List of top Rated Hotels

      • List of featured Hotels

    • Search results page including hotels Listing Page

    • Hotel Detail Page

      • Detail info about the hotel

      • List of rooms for that hotel

      • Choose room feature and then book the room for the travel stay

      • Stripe payment gateway implementation for payments

Now lets get started with installation of Node.js and the code editor that we are gonna use for this series in the next chapter.