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.
Open up a CLI, and execute the following commands:
$ git clone https://github.com/tanviroy/trvl.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
This project was built using the MERN stack of technologies.
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 |
We used the Amadeus API for getting real-time flight data and the Airhex API to render airline carrier logos.
We used 2 databases - one for all users and another for the 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 }], |
.
βββ 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
For a more detailed documentation of our code and the complete list of project dependencies see helper.txt.
The Figma wireframe for the project can be viewed here
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