abhinavtyagi88 / tour-and-travel

The Tour and Travel Project serves as a platform where tourists can seamlessly connect with local guides and other travelers. Our goal is to create a user-friendly interface that facilitates meaningful connections and enriches the travel experience.
16 stars 18 forks source link
hacktoberfest tourism tourism-website tourist-collaboration tourist-guide
# 🌍 Tour and Travel Project

Welcome to the *Tour and Travel* project! This platform is designed to help tourists seamlessly connect with local guides and fellow travelers to enrich their travel experience. Our goal is to create a user-friendly and engaging interface that fosters meaningful connections between tourists and locals.

## πŸš€ Features

- πŸ—ΊοΈ Connect with Local Guides: Find experienced local guides to enhance your travel experience.
- 🀝 Meet Fellow Travelers: Connect with other travelers going to the same destinations.
- πŸ› οΈ Modern Frontend with React: A smooth, responsive interface built using React.
- πŸ” Authentication: Secure sign-up and login system using `Auth0`.
- πŸ“Š Backend API: A robust backend built using `Node.js` and `Express`, connected to `MongoDB` for data persistence.

## πŸ“‚ Project Structure

The repository is divided into two main parts:

### πŸ–₯️ Frontend (React)

Located in the `/frontend` folder, the frontend is built using `React` and `React Router` for client-side routing.

Key Dependencies:
- React `^18.3.1`
- React Router DOM `^6.26.2`
- Axios `^1.7.7` for HTTP requests
- Auth0 React `^2.2.4` for authentication

You can find the frontend project files inside the `src/` folder, which is structured as follows:
- `/components`: Reusable UI components.
- `/screenPages`: Different pages for the app, such as signup, login, etc.

### βš™οΈ Backend (Node.js & Express)

The backend code is located in the `/Backend` folder and is built using `Node.js` with `Express` to manage the API endpoints.

`Key Dependencies:`
- Express `^4.21.0`
- Mongoose `^8.6.2` for MongoDB connection
- JWT `^9.0.2` for authentication tokens
- Bcrypt `^5.1.1` for password hashing
- Cors `^2.8.5` for handling Cross-Origin Resource Sharing

The backend contains various folders for organizing the code:
- `/Routers`: Define API routes.
- `/models`: Mongoose schemas for database models.
- `/middleware`: Authentication and other middleware.
- `/config`: Configuration files (e.g., environment variables).

πŸ“¦ Installation

To get started with the project locally, follow these steps:

Setup

On a UNIX system, run the following commands:

   chmod +x setup.sh
   ./setup.sh

Alternate Setup Process:

πŸ–₯️ Frontend Setup

  1. Navigate to the frontend directory:
    cd frontend
  2. Install the dependencies:
    npm install
  3. Run the development server:
    npm start

βš™οΈ Backend Setup

  1. Navigate to the Backend directory:
    cd Backend
  2. Install the dependencies:
    npm install
  3. Start the backend server:
    npm run start

🚧 Contribution Guidelines

We welcome contributions! Please follow these steps to contribute to the project:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature-branch-name
  3. Make your changes and commit:
    git commit -m 'Added new feature'
  4. Push to your branch:
    git push origin feature-branch-name
  5. Create a pull request.

🀝 Acknowledgements

Thanks to all the open-source libraries and tools that made this project possible:


πŸ“„ License

This project is licensed under the ISC License.