Skip to content

A Full Stack E-Travel Application, deployed on Heroku (backend server) and Netlify (frontend client)

Notifications You must be signed in to change notification settings

actuallysoham/trvl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TRVL - the Travel App

Project 2 for [CS-1202] Advanced Programming. This is a MERN stack e-commerce (multi-purpose travel booking) platform. This project was built by Ruthu Rooparaghunath, Soham De, and Tanvi Roy.

Quick Start

Open up a CLI, and execute the following commands:

$ git clone https://github.com/hulikalruthu/approject2.git
$ cd approject2

$ cd backend 
$ npm install
$ npm start

$ cd frontend
$ npm install
$ npm start

This should get the server to run at localhost:5000 and frontend to run at localhost:3000

Project Details

This project was built using the MERN stack of technologies.

Major Technologies Used

techstack


Area Technology
Front-End React, React-Bootstrap, CSS3
Authentication Passport.js, bcrypt.js
Back-End Node.js, Express, Mongoose
Cookie/Database Management CookieParser, MongoDB, Mongoose

External APIs Used

We used the Amadeus API for getting real-time flight data and the Airhex API to render airline carrier logos.

Database

We used 2 databases - one for all users and another for hotels.



Defined Schemas Schema fields
Users name: String,
googleId: String,
email: String,
password: String,
address: { type: String, default: "home" },
mobile: Number,
booked: [{ source: String, destination: String, dateto: String, datefrom: String, hotelId: String, hotelcost: Number, carcost: Number, flightcost: Number }],
bucketlist: [{ type: String }],
visited: [{ type: String }],
Hotels name: String,
location: String,
price: String,
desc: String,
imageurl: [{ type: String }],
amenities: [{ type: String }],
iata: [{ type: String }],
rating: [{ type: Number }],
reviews: [{ body: String, user: String, verified: String }],
bookers: [{ type: String }],
available: [{ date: Date, rooms: Number }],
bucketlisted: [{ type: String }],

Codebase Structure

.
├── backend/
│   ├── hotels.js
│   ├── package.json
│   ├── passportConfig.js
│   ├── server.js
│   └── user.js
├── frontend/
│   ├── public/
│   │   └── index.html
│   ├── src/
│   │   ├── Pages/
│   │   ├── components/
│   │   ├── styles/
│   │   ├── App.css
│   │   ├── App.js
│   │   ├── index.css
│   │   └── index.js
│   └── package.json
├── airbnb-scraper github.py
├── helper.txt
└── README.md

Code Documentation

For a more detailed documentation of our code and the complete list of project dependencies see helper.txt.

Design

The Figma wireframe for the project can be viewed here

Demo

Home Page

Explore - Search Flights, Hotels, and Cab Rentals

Hotel Page - Details and Reviews

Login Page - Register, Login with TRVL account or Google OAuth

User Profile - Update Info, View User Insights

Citations

Nearly all of the project code was written by us ourselves. We used documentation code for React Bootstrap, Express, MapBox, and Passportjs where needed.

  • We scraped the hotel data from Airbnb

About

A Full Stack E-Travel Application, deployed on Heroku (backend server) and Netlify (frontend client)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published