An intelligent AI-powered travel planning platform designed for travel agencies and individual travelers
- Intelligent Conversations: Chat with Trajecta AI for personalized travel recommendations
- Real-time Responses: Get instant travel advice and planning assistance
- Context-Aware: AI remembers your preferences throughout the conversation
- Voice Calls: Start voice conversations with the AI assistant
- Real-time Speech: Speak naturally and get voice responses
- Visual Feedback: Live audio visualization and call status indicators
- Microphone Controls: Mute/unmute functionality with visual feedback
- Trip Library: Browse and manage your travel plans
- Status Tracking: Organize trips by status (Completed, Planned, Wishlist)
- Quick Access: Click any trip to get AI assistance for that destination
- Trip Statistics: Track your travel history and savings
- Secure Login: User authentication with session management
- User Profiles: Personalized experience with user data
- Protected Routes: Secure access to dashboard features
- Responsive Design: Works seamlessly on desktop and mobile
- Beautiful Interface: Modern gradient design with smooth animations
- Dark/Light Themes: Adaptive interface design
- Accessibility: Built with accessibility best practices
- Node.js (v18 or higher) - Install with nvm
- npm or yarn package manager
-
Clone the repository
git clone <YOUR_GIT_URL> cd travel-ai-fe
-
Install dependencies
npm install # or yarn install -
Start the development server
npm run dev # or yarn dev -
Open your browser Navigate to
http://localhost:5173to see the application
- React 18 - Modern React with hooks and concurrent features
- TypeScript - Type-safe development with enhanced IDE support
- Vite - Lightning-fast build tool and development server
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - High-quality, accessible React components
- Lucide React - Beautiful, customizable icons
- CSS Animations - Smooth transitions and micro-interactions
- Vapi AI - Voice AI integration for natural conversations
- Custom Chat API - AI-powered text conversations
- Real-time Audio - Live voice processing and feedback
- React Router - Client-side routing with protected routes
- React Hooks - Modern state management with useState, useEffect
- Context API - Global state for authentication
- ESLint - Code linting and quality assurance
- PostCSS - CSS processing and optimization
- TypeScript Config - Strict type checking configuration
src/
βββ components/ # Reusable UI components
β βββ ui/ # shadcn/ui components
β βββ VoiceCall.tsx # Voice integration component
βββ pages/ # Main application pages
β βββ Dashboard.tsx # Main dashboard with chat
β βββ Login.tsx # Authentication page
β βββ Index.tsx # Landing page
βββ lib/ # Utility libraries
β βββ auth.ts # Authentication logic
β βββ vapi.ts # Voice AI integration
β βββ utils.ts # Helper functions
βββ hooks/ # Custom React hooks
βββ main.tsx # Application entry point
The platform integrates with Vapi AI to provide natural voice conversations:
- Real-time speech recognition
- AI voice responses
- Visual call interface with audio feedback
- Automatic call management
AI assistant helps with:
- Destination recommendations
- Budget planning
- Itinerary creation
- Local insights and tips
- Cultural information
- Intuitive Interface: Clean, modern design that's easy to navigate
- Responsive Layout: Optimized for all screen sizes
- Fast Performance: Optimized with Vite for quick loading
- Accessibility: WCAG compliant design
Create a .env file in the root directory:
VITE_API_URL=your_api_endpoint
VITE_VAPI_PUBLIC_KEY=your_vapi_public_keyThe application uses Vapi AI for voice integration. Make sure to:
- Configure your Vapi assistant ID
- Set up proper voice models
- Configure microphone permissions
npm run build
# or
yarn build- Open Lovable Project
- Click on Share β Publish
- Your app will be deployed automatically
To connect a custom domain:
- Navigate to Project > Settings > Domains
- Click Connect Domain
- Follow the setup instructions
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.