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.