Skip to content

PohPingSeng/Timely_Tourist_System-PrefiTrip_App

Repository files navigation

Timely Tourist System (PrefiTrip APP)

About the Project

Introduction

"Tell Me Who You Are and I Will Tell You Where to Go" - PrefiTrip is an innovative mobile application that revolutionizes travel recommendations through personalized AI-driven suggestions. The app analyzes users' personality traits, preferences, and behavioral patterns to recommend destinations that truly resonate with their individual travel style.

Our system employs a sophisticated hybrid recommendation engine that combines multiple AI models:

  • Neural Network (MLPClassifier) for personality-based matching
  • Neural Collaborative Filtering (NCF) for user-item interactions
  • LSTM networks for sequential recommendation patterns
  • Hybrid recommender system combining content-based and collaborative filtering

Key Features

  • Personalized travel recommendations based on:
    • Personality traits
    • Tourism preferences
    • Travel motivations
    • Traveling concerns
  • Real-time location-based suggestions
  • Interactive map integration
  • User behavior tracking and adaptation
  • Smart destination matching

Target Users

  • Individual travelers seeking personalized experiences
  • Tourism enthusiasts looking for unique destinations
  • Users who value personalized recommendations
  • Travelers interested in discovering places that match their personality

Technology Stack

Frontend

  • Flutter for cross-platform mobile development
  • Google Maps SDK for location services
  • Socket.IO client for real-time communications

Backend

  • Python Flask server with Socket.IO
  • TensorFlow and Scikit-learn for machine learning models
  • Firebase for authentication and data storage
  • Google Places API for location data

AI/ML Components

  • MLP Classifier for personality-based recommendations
  • Neural Collaborative Filtering for user-item interactions
  • LSTM networks for sequential pattern recognition
  • Hybrid recommendation system combining multiple approaches

Getting Started

Prerequisites

  • Flutter SDK (latest stable version)
  • Python 3.8 or higher
  • Android Studio / VS Code
  • Firebase account
  • Google Maps API key

Installation and Setup

  1. Clone the repository:
git clone [repository-url]
cd PrefiTrip
  1. Install Flutter dependencies:
flutter pub get
  1. Set up Python backend:
cd backend
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt
  1. Configure environment variables:
  • Create .env file in the backend directory
  • Add your Google Maps API key:
GOOGLE_MAPS_API_KEY=your_api_key_here
  1. Update API configurations:
  • In lib/services/recommendation_service.dart:
    • For emulator: use http://10.0.2.2:9999
    • For real device: use your local network IP
  • In lib/config/api_config.dart:
    • Update the baseUrl accordingly

Running the Application

  1. Start the Python backend server:
cd backend
python server.py
  1. Run the Flutter application:
flutter run

Android Setup

  • Minimum SDK version: 21
  • Target SDK version: 33
  • Gradle version: 7.5.0
  • Kotlin version: 1.7.10

Add the following permissions to your AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

Screenshots

Login

Login

Splash Screen

Splash

Home Page

Home Page

Contributing

We welcome contributions to the Timely Tourist System! Please read our contributing guidelines before submitting pull requests.

License

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

Acknowledgments

  • Google Maps Platform
  • Firebase
  • TensorFlow team
  • Flutter community

About

Timely Tourist App

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors