Traveloop is an intelligent, end-to-end travel planning platform β empowering users to dream, design, organize, and share multi-city journeys, all in one seamless experience.
π Vision Β· π― Mission Β· β Problem Β· π± Platform Β· β¨ Features Β· ποΈ Database Β· π οΈ Stack Β· π¨ Design Β· βοΈ Setup Β· πΊοΈ Mockup Β· π₯ Team
The overarching vision for Traveloop is to become a personalized, intelligent, and collaborative travel platform β transforming the way individuals plan and experience the world.
We envision a place where users can:
- πΊοΈ Explore global destinations with rich, curated information
- π Visualize complete journeys through structured, interactive itineraries
- π‘ Make cost-effective decisions backed by real-time budget intelligence
- π€ Share travel plans within a growing, inspired community of explorers
Traveloop is built on one belief β travel planning should be as exciting as the trip itself.
Our mission for the Odoo Γ KAHE Hackathon '26 is to build a user-centric, fully responsive application that simplifies multi-city travel planning by providing travelers with powerful yet intuitive tools:
| Β | Goal | What It Delivers |
|---|---|---|
| β | Add & Manage Stops | Create, reorder, and remove travel stops and durations effortlessly |
| π | Explore Cities & Activities | Discover destinations and experiences tailored to your interests |
| π° | Estimate Budgets Automatically | Smart cost estimates across transport, stay, meals, and activities |
| π | Visualize Timelines | See your full journey in an interactive, day-wise calendar |
| π | Share Trip Plans | Publish publicly or send private links to friends and family |
Planning multi-city travel is historically complex, fragmented, and stressful. Travelers juggle disconnected tools β spreadsheets for budgets, browser tabs for research, calendar apps for dates, and note apps for reminders. No single platform unifies it all.
The Challenge: Build a complete travel planning application where users can:
β
Create β Customized multi-city itineraries
β
Assign β Travel dates, activities, and budgets per stop
β
Discover β Activities and destinations via intelligent search
β
Receive β Cost breakdowns and visual calendars for full trip visibility
β
Share β Plans publicly or privately with friends and family
The application must use a relational database to store complex travel data β itineraries, stops, activities, and expenses β while supporting dynamic interfaces that adapt to each user's trip flow.
Traveloop is fully responsive β a seamless experience on both desktop and mobile.
| π» Desktop Experience | π± Mobile Experience |
|---|---|
| Full planning workspace with expanded layouts | Touch-friendly interface for on-the-go access |
| Side-by-side activity browsing and itinerary editing | Collapsible panels and mobile-first navigation |
| Rich chart visualizations for budget analysis | Compact card views for trips and activities |
| Drag-and-drop itinerary reordering | Swipe-friendly interactions and gesture support |
Traveloop is built across 14 purpose-built screens, each covering a specific stage of the travel planning journey.
The secure entry point β allows users to create a new account or access their existing one.
Purpose: Authenticate users so that all trip data, preferences, and history remain private and personalized.
| Component | Description |
|---|---|
| π§ Email & Password Fields | Input fields with real-time inline validation |
| π Login Button | Authenticates the user and redirects to the Dashboard |
| π Signup Link | Navigates new users to the account registration form |
| π Forgot Password | Initiates a secure account recovery flow via email |
| Clear, friendly error messages for invalid inputs | |
| π± Responsive Layout | Adapts cleanly across all screen sizes and orientations |
The central hub β the first screen after login, giving a complete overview of travel activity at a glance.
Purpose: Enable users to quickly navigate to existing trips, discover destinations, and take immediate action.
| Component | Description |
|---|---|
| π Welcome Message | Personalized greeting with the user's name |
| ποΈ Recent Trips | Summary cards of recent and upcoming trips |
| β Plan New Trip | Prominent CTA directing users to the Create Trip screen |
| π Recommended Destinations | Curated city suggestions and travel inspiration |
| π° Budget Highlights | Quick snapshot of spending across active trips |
| π Notifications | Upcoming trip reminders and over-budget alerts |
The starting point for every journey β an intuitive form that captures all essential details to kick off a new trip.
Purpose: Begin building a personalized travel plan by collecting core trip metadata before entering the Itinerary Builder.
| Component | Description |
|---|---|
| π·οΈ Trip Name | A descriptive title for the journey |
| π Start & End Dates | Interactive date picker to define the trip duration |
| π Trip Description | Free-text field for travel goals, themes, or personal notes |
| πΌοΈ Cover Photo Upload (Optional) | Dropzone to personalize the trip card with a custom image |
| πΎ Save Button | Creates the trip and redirects to the Itinerary Builder |
| β Field Validation | Ensures all required fields are complete before saving |
Personal trip management hub β a complete list of all trips created by the user, past and upcoming.
Purpose: Give users a single, organized place to access and manage all their travel plans without friction.
| Component | Description |
|---|---|
| π Trip Cards | Show name, cover photo, date range, destination count, and status |
| βοΈ Edit | Opens the trip in the Itinerary Builder for modification |
| ποΈ View | Opens the read-only Itinerary View |
| ποΈ Delete | Removes the trip after a confirmation prompt |
| π Search & Filter | Sort and filter trips by date, destination, or current status |
The core planning workspace β an interactive interface where users build their full trip, stop by stop, day by day.
Purpose: Allow users to construct a complete, day-wise travel plan by adding cities, assigning dates, and attaching activities to each stop.
| Component | Description |
|---|---|
| β Add Stop | Adds a new city or destination to the itinerary |
| ποΈ City Selector | Search and select cities to assign to each stop |
| π Date Assignment | Define arrival and departure dates per stop |
| π― Activity Assignment | Browse and attach activities to specific days at each stop |
| π Reorder Stops | Drag and drop to rearrange the order of the journey |
| π Stop Summary | Collapsible view of days, activities, and estimated cost per stop |
| πΎ Auto-Save | Continuous saving to prevent data loss during planning |
The read-only trip overview β a polished visual representation of the completed plan, built for reviewing and sharing.
Purpose: Let users and invited guests review the full trip in a structured, clean format without the risk of accidental edits.
| Component | Description |
|---|---|
| ποΈ Day-Wise Layout | Each day is a distinct section with its own timeline |
| ποΈ City Headers | Clear labels indicating which city each day belongs to |
| π― Activity Blocks | Cards showing activity name, scheduled time, and estimated cost |
| π View Mode Toggle | Switch between Calendar View and List View |
| π¨οΈ Print / Export | Print-friendly layout for offline reference |
Destination discovery tool β helps users find and research cities to add to their travel plans.
Purpose: Enable users to discover cities with key travel metadata and seamlessly add them as stops in the itinerary.
| Component | Description |
|---|---|
| π Search Bar | Real-time city search with instant auto-suggestions |
| π City Result Cards | Show name, country, region, popularity, and cost index |
| π Add to Trip | Instantly adds the city as a new stop in the active itinerary |
| ποΈ Filters | Narrow results by country, region, or estimated cost range |
| π City Detail Panel | Expandable view with city description and top activity previews |
Experience discovery engine β helps users browse and select activities for each destination on their trip.
Purpose: Enrich trips with curated local experiences β sightseeing, food tours, cultural events, adventure activities, and more.
| Component | Description |
|---|---|
| π·οΈ Activity Filters | Filter by type (sightseeing, food, culture, adventure), cost, and duration |
| π Activity Cards | Show name, category, cost estimate, and duration at a glance |
| πΌοΈ Quick View Panel | Detailed description and images on tap or click |
| β Add Button | Adds the activity directly to a selected stop in the itinerary |
| β Remove Button | Removes a previously added activity from the plan |
| π Keyword Search | Find specific activities by name or interest category |
Financial intelligence dashboard β a comprehensive view of the estimated costs across the entire trip.
Purpose: Help travelers stay informed about spending, plan effectively, and avoid budget overruns before they happen.
| Component | Description |
|---|---|
| π₯§ Donut / Pie Chart | Visual cost breakdown: Transport Β· Stay Β· Activities Β· Meals |
| π Bar Chart | Daily cost comparison across the full trip duration |
| π Average Cost Per Day | Automatically calculated and prominently displayed |
| π΄ Over-Budget Alerts | Highlighted warnings for days or categories exceeding the limit |
| π΅ Total Estimated Cost | Sum of all planned expenses across every stop |
| βοΈ Budget Input | Set an overall trip budget to track against estimated spending |
Smart packing assistant β a per-trip checklist that keeps travelers organized so nothing important is left behind.
Purpose: Help travelers manage what needs to be packed, track progress, and reuse the checklist for future trips.
| Component | Description |
|---|---|
| β Add Items | Type in custom items to add to the packing list |
| β Mark as Packed | Check off items with a visual progress indicator |
| ποΈ Remove Items | Delete items that are no longer needed |
| ποΈ Category Groups | Clothing Β· Documents Β· Electronics Β· Toiletries Β· Medications Β· Misc |
| π Progress Bar | Shows the percentage of items already packed at a glance |
| π Reset Checklist | Clear all checked items to reuse the list for another trip |
Social sharing and inspiration hub β a publicly accessible version of an itinerary that can be shared with anyone.
Purpose: Allow users to share travel plans for inspiration, and let others copy and adapt the trip for their own use.
| Component | Description |
|---|---|
| π Unique Public URL | A shareable link accessible to anyone, no login required |
| π Itinerary Summary | Full trip displayed in a clean, read-only format |
| π Copy Trip | Logged-in users can clone the itinerary into their own account |
| π£ Social Media Sharing | Quick-share for WhatsApp, Twitter/X, Facebook, and clipboard copy |
| π Read-Only View | Visitors can browse but cannot edit or modify the itinerary |
| ποΈ View Count | Shows how many people have visited the shared link |
Account management center β where users control personal information, preferences, and account security.
Purpose: Enable users to keep their profile accurate, personalize their experience, and manage privacy settings.
| Component | Description |
|---|---|
| βοΈ Editable Profile Fields | Update full name, profile photo, and email address |
| π Language Preference | Select the preferred display language for the app |
| π Saved Destinations | View and manage bookmarked cities for future trips |
| π Change Password | Secure password update with current password confirmation |
| π Notification Preferences | Control trip reminders and budget alert settings |
| ποΈ Delete Account | Permanently remove the account with a data warning and confirmation |
In-app travel journal β a lightweight note-taking tool tied directly to trips and individual stops.
Purpose: Let travelers capture important details β hotel check-in info, confirmation numbers, local contacts, or daily reminders β without ever leaving the app.
| Component | Description |
|---|---|
| β Add Note | Create a new note linked to a specific trip or stop |
| βοΈ Edit Note | Update any existing note at any time |
| ποΈ Delete Note | Remove notes that are no longer needed |
| π Timestamp Display | Each note shows when it was created or last edited |
| π Notes List View | All notes sorted by date, most recent at the top |
| π Search Notes | Quickly find specific notes by keyword |
Platform command center β an admin-only interface for monitoring the health, usage trends, and growth of Traveloop.
Purpose: Give administrators the data and tools needed to track user behavior, identify popular content, and make informed product decisions.
| Component | Description |
|---|---|
| π Platform Overview | Total trips, active users, public shares, and new signups |
| ποΈ Top Destinations Chart | Most frequently added cities across all user trips |
| π Top Activities Chart | Most popular activities added by users platform-wide |
| π₯ User Management Table | List of registered users with account details and status |
| π Engagement Stats | Session frequency, feature usage rates, and retention metrics |
| π‘οΈ Admin Controls | Tools to suspend or remove user accounts when necessary |
Traveloop uses a relational database engineered to handle complex, interconnected travel data with integrity and efficiency.
ββββββββββββββββββββ
β π€ Users β
ββββββββββ¬ββββββββββ
β owns
ββββββββββΌββββββββββ
β βοΈ Trips β
ββββββββββ¬ββββββββββ
β contains
βββββββββββββΌββββββββββββ
β π Stops β
ββββ¬βββββββββββββββ¬ββββββ
β β
ββββββββββββΌββββ ββββββββΌβββββββββββ
β π Activitiesβ β π° Expenses β
ββββββββββββββββ βββββββββββββββββββ
β
ββββββββΌββββββββββ
β π Notes β
ββββββββββββββββββ
| Table | Role |
|---|---|
π€ Users |
Account credentials, profile info, and preferences |
Trips |
Each trip β name, dates, description, and total budget |
π Stops |
Individual city stops β ordered, date-ranged, linked to a trip |
π Activities |
Activities per stop β cost, duration, type, and description |
π° Expenses |
Financial entries per stop (transport, stay, meals, activities) |
π Notes |
User-written notes tied to a specific trip or stop |
| Technology | Role |
|---|---|
| βοΈ React.js + Vite | Component-based UI with fast hot-reload development builds |
| π¨ Tailwind CSS | Utility-first responsive design system for consistent styling |
| π§© shadcn/ui + Radix UI | Accessible, composable, and fully customizable UI primitives |
| πΌοΈ Lucide React | Clean, consistent icon set used throughout the application |
| π Recharts | Interactive pie, donut, and bar chart visualizations for the budget screen |
| π React Context API | Global state management using useState and useEffect |
| Technology | Role |
|---|---|
| ποΈ Odoo Integration | Backend business logic, data management, and user administration |
| π RESTful API | Structured HTTP endpoints for all frontend β backend communication |
| ποΈ Relational Database | Stores users, trips, stops, activities, expenses, and notes |
| Swatch | Name | Hex | Usage |
|---|---|---|---|
| π΅ | Ocean Blue | #2563eb |
Primary buttons, links, and interactive elements |
| π | Warm Coral | #f97316 |
Call-to-action highlights and energetic accents |
| βͺ | Crisp Slate | #f8fafc |
Page backgrounds β light and breathable feel |
| β« | Deep Charcoal | #1e293b |
Body text and high-contrast headings |
| π’ | Success Green | #22c55e |
Packed items, within-budget states, confirmations |
| π΄ | Alert Red | #ef4444 |
Over-budget warnings, validation errors, destructive actions |
| Principle | Application |
|---|---|
| π 8px Grid System | Consistent spacing across all components and layouts |
| π Card-Based Layouts | Related information grouped cleanly without visual clutter |
| π’ Tabular Numerals | Monospaced numbers used in all budget screens for clean decimal alignment |
| π¦ Progressive Disclosure | Complex data hidden behind expandable sections to reduce cognitive load |
| π± Mobile-First | Every screen is designed for mobile first, then scaled up for desktop |
Prerequisites: Node.js v18+, npm
# 1οΈβ£ Clone the repository
git clone https://github.com/Vector3451/ODOOXKAHE.git
# 2οΈβ£ Move into the project directory
cd ODOOXKAHE
# 3οΈβ£ Install all dependencies
npm install
# 4οΈβ£ Start the development server
npm run devOpen your browser at http://localhost:5173
π‘ If you hit dependency conflicts:
npm install --force
View the full interactive UI mockup covering all 14 screens β layout, navigation flow, and component placement across desktop and mobile:
π Built with dedication for the Odoo Γ KAHE Coimbatore Hackathon '26
| Role | Responsibility |
|---|---|
| π§βπ» Frontend Developer | React UI, component architecture, responsive layouts |
| π§βπ» Backend Developer | API design, database schema, Odoo integration |
| π¨ UI/UX Designer | Design system, wireframes, user experience flows |
| π Data Analyst | Budget logic, analytics dashboard, and cost modelling |