Tournote is an all-in-one mobile app designed to make group travel seamless, collaborative, and fun. π Organize groups, chat in real time, manage trip expenses, share memories, plan routes, and track your friendsβall in one place.
- Create Groups: Start a new travel group, invite members, and assign admins.
- Group Profiles: Manage group details and view all member roles.
- Owner Controls: Assign or revoke admin privileges for group members.
- Instant Messaging: Send and receive messages instantly within your travel group.
- Socket.io Integration: Enables low-latency communication with reliable message delivery.
- Push Notifications: Get notified of new messages via Firebase Cloud Messaging (FCM). π
- Message History: Securely load past conversations using REST API.
- Add & Split Expenses: Record shared costs and split them equally, by percentage, or exact amounts.
- Settle Debts: Track who owes whom and mark payments as settled. β
- Expense Overview: View a summary of all group expenses, breakdowns, and balances.
- Auto-Detection: Automatically detect expenses and repayments from SMS (e.g., bank alerts). π±
- Location Tracking: Save the location where each transaction occurred.
- Upload Photos: Share trip photos with your group.
- Gallery View: Browse group photos in albums or full-screen mode. πΌοΈ
- Background Uploads: Uploads are handled reliably using WorkManager.
- Sort Memories: Sort photos and videos by the date taken.
- Download All: Download all media as a ZIP file. π¦
- Waypoints: Add, remove, and reorder trip stops.
- Geocoding: Get location suggestions and map each stop. π
- Optimal Routing: Calculate the shortest route covering all waypoints.
- Interactive Maps: Visualize your routes in an embedded WebView map.
- Redirect to Google Maps: Get directions for the finalized route and share it.
- Finalised Route: Publish finalised route to intimate to other group members.
- Live Location: Share and view real-time locations of group members. π
- Map View: Display all friends on an interactive map using HTML assets.
- Safety Alerts: Send and receive safety alerts within the group. π¨
- Background Location Service: Location tracking continues even when the app is minimized.
- End Trip: Automatically revoke location permissions at the end of a trip.
- Animated Splash & Guided Onboarding: Welcome new users and highlight key features. β¨
- Sign Up / Log In: Secure authentication via email and password using Firebase.
- Offline Support: Friendly offline messages with retry mechanisms. πΆ
| Category | Technologies / Tools |
|---|---|
| Languages & UI | Kotlin, XML, JavaScript, HTML, CSS |
| Architecture | MVVM, Single Source of Truth, ViewModel, Room (Local DB), Shared Preferences |
| Backend & Realtime | Firebase Realtime Database, Firebase Cloud Messaging, Firebase Authentication |
| Maps & Geolocation | Leaflet.js, Leaflet Routing Machine, Leaflet Control Geocoder, FusedLocationProviderClient |
| Networking & Sync | WebSocket, Node.js + Express, WorkManager, BroadcastReceiver |
| Media & UI Utils | Glide, Cloudinary, MediaPlayer, Notification Channel, Inline Reply Notification |
| Persistence | Room Database, Shared Preferences |
| WebView Features | JavaScript Interface, Geocoding & Reverse Geocoding, Regex |
| Other | DiffUtil, PostgreSQL, Foreground Services |
-
Clone the repository: π₯
git clone https://github.com/your-org/tournote.git
-
Open the project in Android Studio. π»
-
Firebase Setup: π₯
- Download your
google-services.jsonfile from Firebase Console and place it in the/appdirectory.
- Download your
-
Sync Gradle and build the project. βοΈ
-
Run the app on an emulator or Android device. π
-
Create or Join a Group: Start by creating or joining a group for your trip.
-
Group Chatting: Use the chat tab to coordinate with your group.
-
Manage Expenses: Record and split expenses effortlessly.
-
Share Memories: Upload and browse trip photos in the memories section.
-
Plan Routes: Use the route planner to visualize your travel itinerary.
-
Track Friends: Enable location sharing to view friends on the map.
We welcome contributions! Please feel free to submit a Pull Request.
MIT License. See LICENSE for details.
Built by:
π§ Parth: [email protected] β GitHub
π§ Omkar: [email protected] β GitHub
π GitHub Project: Tournote
Tournote β Making group adventures smarter and more connected! π


























