/Bus-Booking-Project

A Bus ticket booking application made using MERN Stack (MongoDB, Express js, React js, Node js)

Primary LanguageJavaScriptMIT LicenseMIT

Bus-Booking-Project

A Bus ticket booking application made using MERN Stack (MongoDB, Express js, React js, Node js)

Here is the link of Bus-Booking-Site. Here is the link of Business portal of this site for adding buses.

The Bus ticket application is composed of the following Features:

Preview 🏞️ 🌅

Alt text Alt text Alt text Alt text

Demo Video

Front-End

  • Sign-In & Sign-Up Pages.

  • Uses Token based system, so only registered users can access the website passport js.

  • Password hashing using passport js.

  • Has a profile page, which will display all information about the signed in user.

  • List of cities for users to choose from (starting city & destination city).

  • Getting list of bus's of different companies with various details.

  • Seat selection page has a very user friendly environment, which also generates dynamic forms for storing data's of passengers.

  • Has a Confirmation page, which gets a debit card data using react-credit-cards. This version of the application does not include handling the payment process.

  • Final page has a ticket displaying component, it displays all passenger data and also generates a random number as a transaction ID.

Back-End

  • Uses Express js based application for the backend process.

  • Uses MongoDB atlas for storing the collections.

  • Uses passport js for authenticating user and token based system.

  • Uses passport js for hashing the password before sending the data to the cloud.

  • This version does not support dynamic seat data being stored from cloud.

This project also demonstrates:

  • a typcial React project layout structure

Developed With

  • Visual Studio Code - A source code editor developed by Microsoft for Windows, Linux and macOS. It includes support for debugging, embedded Git control, syntax highlighting, intelligent code completion, snippets, and code refactoring
  • Node.js - Javascript runtime
  • React - A javascript library for building user interfaces
  • Babel - A transpiler for javascript
  • Webpack - A module bundler
  • SCSS - A css metalanguage
  • Bootstrap 4 - Bootstrap is an open source toolkit for developing with HTML, CSS, and JS
  • Axios - Promise based HTTP client for the browser and node.js
  • Express js - Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
  • MongoDB atlas - MongoDB Atlas is the global cloud database service for modern applications.
  • Passport Js - Passport is authentication middleware for Node.js. Extremely flexible and modular, Passport can be unobtrusively dropped in to any Express-based web application.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

The following software is required to be installed on your system:

  • Node 8.x
  • Npm 3.x

Type the following commands in the terminal to verify your node and npm versions

node -v
npm -v

Install

Follow the following steps to get development environment running.

  • Clone 'Bus-Booking-Project.git' repository from GitHub

    git clone https://github.com/Baljeet9670/Bus-Booking-Project.git

    OR USING SSH

    git clone git@github.com:Baljeet9670/Bus-Booking-Project.git
  • Install node modules

    cd MERN-BUS-APP
    cd client
    npm install
    cd..
    npm install

Starting both front end and back end servers

  • Build application

    This command will start the mongodb and the front end part.

    npm run dev