/Travelzy_Full-Stack-Project

Contains the source code of the Website built as part of the Web Technologies Lab Project

Primary LanguageJavaScript

TRAVELZY Website

This project aims to build a website where users can find restaurants in any location along with many additional details like address, contact number, email ID, location, cuisine, rating, and customer review/feedback about that particular restaurant. But we have limited the scope of this project to only 3 locations i.e., Manipal, Mangalore, and Bangalore. It also allows users to share images and details of any other place (not limited only to restaurants) that they have visited and had a wonderful experience with and would like to recommend that place to others to visit.

It is an online service that provides a one-stop local platform for users to discover and visit multiple restaurants and places nearby their location by making it easy for them to explore more conveniently. The main goal is to reach the maximum number of users and let them make use of this online platform.

If you want to open the website in your system, follow below steps:

  • Clone this repository into your local system and make sure you install all required softwares like NodeJs etc.
  • Open the Restaurants Page folder in the terminal and run below command. npm run start
  • Open yelp-main folder and run below command. node app.js
  • Now you can open the index.html file in the Home Page folder using the live server
  • WEBSITE IS LIVE! Now you can explore it!

OBJECTIVES :

  • To let people, add their recently visited places which they would like to suggest others to visit.
  • To let users, discover destinations that are not shown online and share images and details of those places so that interested travelers can visit those locations.
  • Also letting other users to view the exact location of that place by pointing that location in a map.
  • To provide the users with a list of the finest restaurants near them.
  • Enabling them to search by name/place/cuisine for their desired restaurant.
  • To let users, give review/feedback for a place shared by other users.
  • Create necessary APIs to integrate with the database of website.
  • Build the website using popular web development frameworks like NodeJS, ExpressJS, MongoDB etc.

METHODOLOGY :

AGILE

Agile is a structured and iterative approach to project management and product development, an alternative to Waterfall or traditional sequential development. It is a time-focused philosophy that allows creating a project incrementally, dividing it into small pieces. One of its main benefits is the ability to adapt and change at any step.

When we use this system, we work on “sprints”. They are basically set amounts of time that can be used on certain tasks and objectives. At the end of each sprint, we’ll have to analyze and assess where changes can be made and new ideas can be introduced ahead of the next sprint.

This methodology is suitable for this project because of its features to make immediate necessary changes and improvements over time.

SOFTWARE REQUIREMENTS :

  1. VS Code
  2. Figma
  3. Bootstrap
  4. MongoDB
  5. NodeJS & ExpressJS
  6. PassportJS
  7. EmbeddedJS
  8. Git & GitHub
  9. Cloudinary platform

MODULES :

  • Home – This is the main section which consists of navbar link to other sections

  • Signup/Login - This section allows user to create an account and only valid users can add places and explore restaurants.

  • Places – here the places are displayed along with the geographical location in the map.

  • Add places – a user can share his experience about the place by giving the details of that place and a snapshot if possible.

  • Restaurants –insthis painse dispinsays restau/insnts anins can be ered by searching using name or location or cuisine based on user choices.

  • Give a review – the users can give a feedback and rating if they already visited a place shared by some other user on our website.

  • Delete a place – the users can delete a place if they no longer want to share it or might have entered incorrect details. They also have the facility to delete a review they gave to a place shared by other user.

CONCLUSION :

The platform serves as a one-stop destination for the users to find nearby restaurants and explore places giving the best tourism experience as well as hygiene restaurants located near them to have an appetite.

The final outcomes are:

  • Successfully established a connection with the MongoDB database.
  • Created APIs using Express and Node frameworks to fetch restaurant data directly from the online servers to display them in our website.
  • Created a search module t0 filter restaurants by name/location/cuisine.
  • Implemented successful login authentication using passport.js.
  • Added an additional functionality of showing the geographical locations of the user input places using Mapbox.
  • Came across many new tools and technologies as part of this project and learnt t0 work collaboratively as a team by splitting total work among ourselves and communicate with each other trying to achieve the same final output.

FUTURE SCOPE FOR IMPROVEMENT :

  • Can try to improve the user experience by displaying restaurants from all the places by not limiting the locations to only 3.
  • Can try to make appropriate changes to the authentication page and correct a few mistakes while displaying the messages.
  • Try to use more meaningful variable names while writing the code.
  • Recommend restaurants not just by place but by popularity by considering the rating and feedback given by users.
  • Try to implement the authentication using other options like using Google, Twitter, Facebook etc.