"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
- 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
- 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
- Flutter for cross-platform mobile development
- Google Maps SDK for location services
- Socket.IO client for real-time communications
- 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
- 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
- Flutter SDK (latest stable version)
- Python 3.8 or higher
- Android Studio / VS Code
- Firebase account
- Google Maps API key
- Clone the repository:
git clone [repository-url]
cd PrefiTrip- Install Flutter dependencies:
flutter pub get- Set up Python backend:
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt- Configure environment variables:
- Create
.envfile in the backend directory - Add your Google Maps API key:
GOOGLE_MAPS_API_KEY=your_api_key_here
- 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
- For emulator: use
- In
lib/config/api_config.dart:- Update the baseUrl accordingly
- Start the Python backend server:
cd backend
python server.py- Run the Flutter application:
flutter run- 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" />
We welcome contributions to the Timely Tourist System! Please read our contributing guidelines before submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Maps Platform
- Firebase
- TensorFlow team
- Flutter community