# TourSherpa
TourSherpa is a travel assistant program designed to recommend nearby events and attractions based on the user's travel destination. This application not only suggests activities but also offers insights into flights, accommodations, and dining options to enhance the overall travel experience.



## Table of Contents
- [Features](#features)
- [Architecture](#architecture)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
## Features
- **Event Recommendations**: Automatically suggests local events based on user preferences and travel location.
- **Attraction Suggestions**: Provides a curated list of attractions in proximity to the user's current or planned location.
- **Integrated Travel Services**: Offers recommendations for flights, hotels, and restaurants, creating a comprehensive travel guide.
- **User-friendly Interface**: Designed with a responsive and intuitive user interface using HTML and CSS.
- **Testing Suite**: Includes tests to ensure the reliability and stability of the application.
## Architecture
The TourSherpa project is divided into three main components:
- **Django Backend**: Manages server-side logic, including data processing, API management, and database interactions. This is where most of the business logic is implemented.
- Key files include:
- `views.py`: Handles incoming requests and returns appropriate responses.
- `models.py`: Defines the data structures for events, attractions, and other entities.
- `urls.py`: Maps URLs to the corresponding views.
- **Airflow Scheduler**: Manages background tasks and scheduling, allowing for the automated fetching and processing of event data from external sources.
- Key files include:
- `dags/`: Contains Directed Acyclic Graphs (DAGs) that define workflows for data ingestion and processing.
- **Frontend Interface**: Built with HTML and CSS, it provides a user-friendly way for travelers to interact with the application and receive recommendations.
## Installation
To set up the TourSherpa project locally, follow these steps:
1. **Clone the repository**:
```bash
git clone https://github.com/yourusername/toursherpa.git
cd toursherpa-
Set up a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required dependencies:
pip install -r requirements.txt
-
Run database migrations:
python manage.py migrate
-
Start the server:
python manage.py runserver
Once the server is running, you can access the application in your web browser at http://127.0.0.1:8000/.
- Create an account or log in: Start by signing up or logging in.
- Enter your travel destination: Input your desired location to receive personalized recommendations.
- Explore recommendations: Browse through suggested events, attractions, and travel services tailored to your trip.
Contributions are welcome! Please follow these steps to contribute to the TourSherpa project:
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature/my-feature
- Make your changes and commit them:
git commit -m "Add my feature" - Push to your forked repository:
git push origin feature/my-feature
- Open a Pull Request with a clear description of your changes.
This project is licensed under the MIT License. See the LICENSE file for details.
For any inquiries or support, please reach out via the project's GitHub issues page or directly through the repository's contact information.