Skip to content

Travel assistant app recommending events, attractions, flights, and dining options.

Notifications You must be signed in to change notification settings

snowmuffin/TourSherpa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# 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.

![Python Version](https://img.shields.io/badge/python-3.8%2B-brightgreen)
![Django Version](https://img.shields.io/badge/django-3.2%2B-blue)
![License](https://img.shields.io/badge/license-MIT-lightgrey)

## 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
  1. Set up a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
  2. Install the required dependencies:

    pip install -r requirements.txt
  3. Run database migrations:

    python manage.py migrate
  4. Start the server:

    python manage.py runserver

Usage

Once the server is running, you can access the application in your web browser at http://127.0.0.1:8000/.

  1. Create an account or log in: Start by signing up or logging in.
  2. Enter your travel destination: Input your desired location to receive personalized recommendations.
  3. Explore recommendations: Browse through suggested events, attractions, and travel services tailored to your trip.

Contributing

Contributions are welcome! Please follow these steps to contribute to the TourSherpa project:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix:
    git checkout -b feature/my-feature
  3. Make your changes and commit them:
    git commit -m "Add my feature"
  4. Push to your forked repository:
    git push origin feature/my-feature
  5. Open a Pull Request with a clear description of your changes.

License

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.

About

Travel assistant app recommending events, attractions, flights, and dining options.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •