Pr0nE/trip-brain-app
🌍✈️A full-stack travel app built with Flutter, Go, and gRPC for personalized travel suggestions, rich insights, and offline access. Dive in and contribute! 🤝
github へ移動してダウンロードTravel Brain 🌍✈️
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!
Features 🌟
- 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!
Demo video
https://github.com/Pr0nE/trip-brain-app/assets/25032492/fbfaa7cf-057b-4380-acd9-17a3329fff5c
Architecture 🏗️
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.
Getting Started 🚀
Prerequisites 🛠️
- Flutter SDK
- Docker
- Firebase project
- OpenAI API Key
- Unsplash API Key
- Google Client ID
API Keys and Client ID Setup 🔑
- 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.
Firebase Setup 🔥
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
Step 1: Env Setup 🌱
Rename .env.example
to .env
and fill it out.
mv .env.example .env
📝 Note: Open .env
and complete the variables.
Step 2: Docker Up 🐳
Run this to start Docker containers:
docker compose up -d
🟢 Success: Containers should be running.
Step 3: Flutter Run 🏃♂️
Run your Flutter app:
flutter run
Contributing 🤝
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.
License 📄
Contact 📞
Questions? Reach out to Mohammad Teimouri.
![](/images/banner-woo.jpg)
関連する Pr0nE/trip-brain-app 優れたプロジェクトの推薦ダウンロード
AppFlowy
47859
AppFlowy is an open-source alternative to Notion. You are in charge of your data and customizations. Built with Flutter and Rust.
localsend
33797
An open-source cross-platform alternative to AirDrop
spotube
23772
🎧 Open source Spotify client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!
revanced-manager
15035
💊 Application to use ReVanced on Android
gsy_github_app_flutter
14559
Flutter 超完整的开源项目,功能丰富,适合学习和日常使用。GSYGithubApp系列的优势:我们目前已经拥有Flutter、Weex、ReactNative、kotlin 四个版本。 功能齐全,项目框架内技术涉及面广,完成度高,持续维护,配套文章,适合全面学习,对比参考。跨平台的开源Github客户端App,更好的体验,更丰富的功能,旨在更好的日常管理和维护个人Github,提供更好更方便的驾车体验Σ( ̄。 ̄ノ)ノ。同款Weex版本 : https://github.com/CarGuo/GSYGithubAppWeex 、同款React Native版本 : https://github.com/CarGuo/GSYGithubApp 、原生 kotlin 版本 https://github.com/CarGuo/GSYGithubAppKotlin
dio
12249
A powerful HTTP client for Dart and Flutter, which supports global settings, Interceptors, FormData, aborting and canceling a request, files uploading and downloading, requests timeout, custom adapters, etc.
gopeed
11832
A modern download manager that supports all platforms. Built with Golang and Flutter.
bloc
11441
A predictable state management library that helps implement the BLoC design pattern
getx
9899
Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get.
flame
8846
A Flutter based game engine.
flutter_deer
7595
🦌 Flutter 练习项目(包括集成测试、可访问性测试)。内含完整UI设计图,更贴近真实项目的练习。Flutter practice project (including integration testing and accessibility testing). Contains complete UI design drawings for a more realistic practice project.
fish-redux
7343
An assembled flutter application framework.
hiddify-next
7232
Multi-platform auto-proxy client, supporting Sing-box, X-ray, TUIC, Hysteria, Reality, Trojan, SSH etc. It’s an open-source, secure and ad-free.
ente
6686
Fully open source, End to End Encrypted alternative to Google Photos and Apple Photos
fl_chart
6451
FL Chart is a highly customizable Flutter chart library that supports Line Chart, Bar Chart, Pie Chart, Scatter Chart, and Radar Chart.
pixez-flutter
6360
一个支持免代理直连及查看动图的第三方Pixiv flutter客户端
Flutter-Responsive-Admin-Panel-or-Dashboard
6355
Responsive Admin Panel or Dashboard using Flutter
aidea
6021
AIdea 是一款支持 GPT 以及国产大语言模型通义千问、文心一言等,支持 Stable Diffusion 文生图、图生图、 SDXL1.0、超分辨率、图片上色的全能型 APP。
riverpod
5828
A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.
pikapika
5463
美观易用且无广告的漫画和游戏客户端,同时支持MacOS,Windows,Android,iOS。