Skip to content

Latest commit

 

History

History
186 lines (138 loc) · 7.71 KB

Readme.md

File metadata and controls

186 lines (138 loc) · 7.71 KB

Travel Alchemy : Your Personalized Travel Planner

Python Flask Bootstrap Markdown

HTML CSS Gen AI License

Here is the Deployed site : Link

animated

Travel Alchemy is a user-friendly web application designed to simplify travel planning by generating personalized itineraries. Users can easily input their starting location, dream destination, travel dates, and any specific preferences to create tailored travel plans. The app features an intuitive interface that presents itineraries in a structured, visually appealing format, enhanced by Markdown support. Users benefit from suggestions for accommodations and local attractions, making it easy to explore new destinations. Additionally, Travel Alchemy links to popular hotel and flight booking platforms, streamlining travel arrangements. Overall, Travel Alchemy empowers users to plan their adventures with confidence and ease.

Table of Contents

GitHub File Structure

/root
│
├── /static            # Folder for static files like CSS, JS, images
│
├── /templates         # Folder for HTML templates
│   ├── index.html     # Home page
│   └── welcome.html   # Welcome page
│
├── /instance          # Folder for instance-specific configurations
│   └── database.db    # SQLlite Database for storing User Data
│
├── app.py             # Main Flask application file
├── genai.py           # File for AI-related code (assuming using a generative AI feature)
├── .env               # Environment variables file (e.g., API keys, DB configs)
├── requirements.txt   # List of required dependencies (Flask, AI libraries, etc.)
└── README.md          # Project overview and setup instructions

Technologies Used

  • Backend: Flask (Python)
  • Frontend: HTML, CSS, JavaScript (with Bootstrap for styling)
  • Markdown: markdown-it for converting itinerary text to HTML
  • Environment Variables: Manage sensitive information

Key Features

1. Functionality

  • The application effectively meets all specified requirements by allowing users to generate personalized travel itineraries.
  • Users can provide essential information such as starting location, destination, travel dates, and additional preferences.
  • Secure user authentication is implemented through a login and registration system, ensuring that users can access their saved itineraries and personal information securely.

2. Code Quality

  • The codebase is clean, well-structured, and adheres to best practices in software development, making it easy to read and maintain.
  • Comprehensive comments and documentation are provided throughout the code, enhancing understanding for future developers and contributors.

3. Creativity

  • The application includes unique features that enhance user experience, such as support for Markdown formatting in the itinerary instructions, allowing users to customize their itineraries visually with lists, headers, and other formatting elements.
  • The use of a visually appealing layout, with styled containers and responsive design elements, contributes to an enjoyable user experience.

4. Approach

  • The application employs a logical and systematic approach to problem-solving. It gathers user input through a structured form and dynamically generates itineraries based on the submitted information.
  • The integration of external booking resources enhances the application's utility, making it a one-stop solution for travel planning.

5. Solution

  • The solution effectively addresses the challenge of creating a personalized travel itinerary generator, providing users with a seamless, interactive experience.
  • By integrating additional features such as external booking links and a user-friendly interface, the application offers significant value to users, encouraging them to engage more deeply with their travel planning.

6. Additional Important Features

  • Welcome Page: The application includes a dedicated welcome page for user login and registration, enhancing usability and access control.
  • Dynamic Itinerary Generation: Users receive immediate feedback and a well-formatted itinerary upon submission, ensuring clarity and ease of use.
  • Responsive Design: The application is designed to function optimally across various devices, ensuring accessibility and user satisfaction.
  • Logout Functionality: Secure session management through a logout feature protects user data and privacy.

Installation

  1. Clone the repository:

    git clone https://github.com/Djain318/Travel_Alchemy.git
  2. Navigate to the project directory:

    cd Travel_Alchemy
  3. Set up a virtual environment:

    • For macOS/Linux:
      python3 -m venv .venv
    • For Windows:
      py -3 -m venv .venv
  4. Activate the virtual environment:

    • For macOS/Linux:
      . .venv/bin/activate
    • For Windows:
      .venv\Scripts\activate
  5. Install the required packages:

    pip install -u requirements.txt
  6. Generate a Google-generativeai (GEMINI) API Genereate Key

  7. Create a .env file with your API keys:

    GEMINI_API_KEY=your_api_key
    
    SECRET_KEY=your_secret_key

Usage

  1. Run the application:

    python wsgi.py
  2. Open your web browser and navigate to:

    http://127.0.0.1:5000/
    

Future Scalability

The application is structured to allow for easy addition of features, such as:

  • Integrating external APIs for real-time data (flights, weather, etc.).
  • Adding user accounts for saving itineraries.
  • Allowing users to customize their itineraries based on preferences (cultural experiences, food, adventure).

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.