Skip to content

A comprehensive Salesforce travel management application with trip planning, expense tracking, interactive maps, flight price alerts, and travel analytics.

License

Notifications You must be signed in to change notification settings

Tiobold/TravelApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

37 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Salesforce Travel Management App

A comprehensive travel management application built on the Salesforce platform that helps users plan trips, track expenses, manage itineraries, and analyze travel statistics with integrated external APIs and advanced visualizations.

🌟 Features

Core Travel Management

  • Enhanced Trip Dashboard: Visualize all trips with advanced filtering, budget statistics, and animated progress indicators
  • Interactive Trip Mapping: Display trip locations on Google Maps with custom markers, detailed itineraries, and location search
  • Intelligent Itinerary Planning: Create and manage detailed itineraries with drag-and-drop functionality and duration tracking
  • Comprehensive Expense Tracking: Track expenses by category with real-time budget visualization and multi-currency support
  • Travel Companion Management: Invite contacts, track RSVP status, and manage group travel dynamics

Advanced Features

  • Flight Price Alerts: Set up automated price monitoring with email/in-app notifications via Amadeus API
  • Flight & Hotel Search: Real-time search and booking integration with Amadeus API
  • Travel Statistics Dashboard: Advanced analytics with animated counters, achievement badges, and eco-ratings
  • Destination Content: TripAdvisor integration for activities, attractions, and travel guides
  • World Map Visualization: Interactive world map showing visited countries with flag emojis
  • Splitwise Integration: Automatic expense sharing and sync with Splitwise for group expenses

Technical Capabilities

  • Google Location Services: Places API integration for location search and geocoding
  • Responsive Design: Optimized for desktop, tablet, and mobile devices
  • Real-time Data Sync: Live updates across all components with proper error handling
  • Advanced Animations: Smooth transitions and progressive loading for enhanced UX
  • Multi-currency Support: Handle expenses in different currencies with conversion
  • Import/Export Features: Google Timeline import for visited places

πŸ—οΈ Architecture

Technology Stack

  • Frontend: Lightning Web Components (LWC) with modern CSS animations
  • Backend: Apex controllers with secure server-side processing
  • Database: Salesforce custom objects with relationships and roll-up summaries
  • External APIs:
  • Google Maps/Places API for location services
  • Amadeus API for flight/hotel search and price monitoring
  • TripAdvisor API for destination content
  • Splitwise API for expense sharing (optional)

Data Model

The application uses a sophisticated data model with the following key objects:

  • Trip__c: Core trip information (dates, budget, destination, status)
  • Itinerary_Item__c: Detailed trip activities with location, timing, and duration
  • Expense__c: Trip-related expenses with categories and sharing capabilities
  • Travel_Companion__c: Junction object managing trip participants and invitations
  • Visited_Place__c: Historical record of places visited (Google Timeline integration)
  • Flight_Price_Alert__c: Automated flight monitoring configurations
  • Flight_Price_Notification__c: Price alert history and notifications

πŸš€ Components Overview

Dashboard Components

  • enhancedHomepage: Main landing page with trip overview and quick stats
  • tripDashboard: Comprehensive trip management with filtering and search
  • travelStats: Advanced travel analytics with animated visualizations
  • expenseOverview: Monthly expense breakdown with category insights

Trip Management

  • tripMap: Interactive map with itinerary visualization and location management
  • expenseTracker: Complete expense management with budget monitoring
  • tripPlanner: Guided trip creation wizard with companion invitations
  • tripCompanions: Social features for group travel coordination

Discovery & Search

  • tripArticles: Destination guides and activities from TripAdvisor
  • flightHotelSearch: Real-time flight and hotel search with booking
  • flightPriceAlerts: Automated price monitoring and notifications
  • tripMapView: World map showing all visited countries

πŸ”§ Installation

Prerequisites

  • Salesforce org with Lightning Experience enabled
  • API access for external services (Google Maps, Amadeus, TripAdvisor)
  • Salesforce CLI for deployment

Quick Start

  1. Clone the repository
git clone https://github.com/your-username/salesforce-travel-app.git
cd salesforce-travel-app
  1. Authorize your Salesforce org
sfdx auth:web:login -a YourOrgAlias
  1. Deploy the application
sfdx force:source:deploy -p force-app --wait 10
  1. Configure API Settings

    • Navigate to Setup β†’ Custom Settings
    • Configure Google Maps API Settings with your API key
    • Configure Amadeus API Settings with client credentials
    • Set up TripAdvisor API key (if available)
  2. Assign Permissions

 sfdx force:user:permset:assign -n Travel_App_User
  1. Import Sample Data (optional)
 sfdx force:data:tree:import -p data/sample-data-plan.json

πŸ”‘ API Configuration

Google Maps API

Required for location search and mapping features:

  • Places API (location search)
  • Maps JavaScript API (map visualization)
  • Geocoding API (address conversion)

Amadeus API

Required for flight/hotel search and price monitoring:

  • Flight Offers Search
  • Hotel Search
  • Flight Price Alerts
  • Location suggestions

TripAdvisor API (Optional)

For destination content and travel recommendations:

  • Attractions API
  • Restaurant data
  • Travel articles

πŸ§ͺ Development

Setting Up Development Environment

  1. Create a scratch org
 sfdx force:org:create -f config/project-scratch-def.json -a TravelAppDev
  1. Push source to scratch org
    sfdx force:source:push
  2. Run tests
    sfdx force:apex:test:run --testlevel RunLocalTests

Development Workflow

  • Use Visual Studio Code with Salesforce Extension Pack
  • Follow Salesforce best practices for LWC development
  • Implement proper error handling and loading states
  • Use @wire adapters for reactive data binding
  • Follow the component design patterns established in the codebase

πŸ“Š Features Deep Dive

Trip Dashboard

  • Advanced filtering (upcoming, in progress, completed, yearly view)
  • Real-time budget tracking with visual indicators
  • Companion avatars and trip statistics
  • Quick action buttons for common tasks

Interactive Maps

  • Custom category-based markers with SVG icons
  • Dynamic zoom levels with responsive marker sizing
  • Drag-and-drop itinerary management
  • Google Places integration for location search
  • Support for both planned and visited places

Expense Management

  • Multi-category expense tracking
  • Automatic budget calculation and alerts
  • Splitwise integration for group expense sharing
  • Visual budget consumption with progress bars
  • Export capabilities for expense reports

Travel Analytics

  • Animated statistics with smooth transitions
  • Achievement badges and milestones
  • Carbon footprint tracking and eco-ratings
  • Monthly/seasonal travel patterns
  • Favorite destinations analysis

πŸ” Security Considerations

  • All external API calls are server-side through Apex
  • Custom settings protect API keys from exposure
  • with sharing enforced on all controllers
  • Input validation and error handling throughout
  • Secure handling of user location data

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ› Known Issues & Roadmap

Current Limitations

  • TripAdvisor API has limited free tier
  • Google Maps API requires billing account for production
  • Splitwise integration requires webhook configuration

Planned Features

  • Offline mode with sync capabilities
  • Advanced travel recommendations using AI
  • Calendar integration for automatic trip creation
  • Travel document management
  • Weather integration for trip planning

πŸ†˜ Support

For support and questions:

πŸ™ Acknowledgments

  • Salesforce Lightning Design System for UI components
  • Google Maps Platform for location services
  • Amadeus for travel API integration
  • TripAdvisor for destination content
  • Open source community for inspiration and best practices

Built with ❀️ on the Salesforce Platform

About

A comprehensive Salesforce travel management application with trip planning, expense tracking, interactive maps, flight price alerts, and travel analytics.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors