Welcome to Travel Brain! Your go-to app for personalized travel suggestions tailored to your interests and dislikes. Get travel notes, historical background, and more!
- Travel Suggestions πΊοΈ: Get destinations that match your vibe.
- Insightful Information π: Learn more about each place.
- gRPC Communication β‘: Fast and efficient backend communication.
- Offline Support π΄: No internet? No problem!
Trip.Brain.Demo.mp4
This project is organized into three main layers: UI, Data, and Domain. Each layer is in its own package to prevent code mixing.
- UI Package π¨: Widgets only, depends on domain.
- Data Package πΎ: Classes that produce domain language.
- Domain Package π οΈ: Interfaces and models only.
- App Package π¦: The glue that binds everything.
π Upcoming: Detailed article on architecture.
- Flutter SDK
- Docker
- Firebase project
- OpenAI API Key
- Unsplash API Key
- Google Client ID
- OpenAI API Key: Required for natural language processing features.
- Unsplash API Key: Needed for fetching dynamic travel images.
- Google Client ID: For Google Sign-In authentication.
Provide these files for Firebase:
android/app/google-services.json
lib/firebase_options.dart
ios/firebase_app_id_file.json
ios/Runner/GoogleService-Info.plist
Rename .env.example
to .env
and fill it out.
mv .env.example .env
π Note: Open .env
and complete the variables.
Run this to start Docker containers:
docker compose up -d
π’ Success: Containers should be running.
Run your Flutter app:
flutter run
We welcome your help! Here's what you can do:
- Backend Refactor π οΈ: Assistance needed for refactoring Go code.
- Platform Testing π±: Help needed for iOS and web.
- Testing π§ͺ: Tests are in progress.
- UI/UX π¨: Room for improvement.
Questions? Reach out to Mohammad Teimouri.