An intelligent AI-powered travel assistant that provides instant answers about visa requirements, travel documents, and journey planning advice.
- Smart Q&A Interface: Ask questions about travel visas, requirements, and tips
- Real-time Responses: Get formatted, structured answers powered by DeepSeek R1 AI
- Query History: View and revisit previous questions and responses
- Responsive Design: Clean, modern interface that works on all devices
- Dark Theme: Inspired by Claude.ai with purple accents
- Loading States: Visual feedback during AI processing
- Error Handling: Graceful error messages and retry options
- FastAPI - Modern Python web framework
- DeepSeek R1 - AI model via OpenRouter API
- Pydantic - Data validation
- Uvicorn - ASGI server
- Next.js 14 - React framework with App Router
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- React Markdown - Markdown rendering
- Python 3.8+
- Node.js 18+
- OpenRouter API key (for DeepSeek R1 access)
-
Navigate to backend directory:
cd backend -
Create virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Environment variables:
cp .env.example .env
Edit
.envand add your OpenRouter API key:OPENROUTER_API_KEY=your_api_key_here -
Run the backend:
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
-
Verify API documentation: Open http://localhost:8000/docs for Swagger UI
-
Navigate to frontend directory:
cd frontend -
Install dependencies:
npm install
-
Environment variables:
cp .env.local.example .env.local
The default configuration should work for local development.
-
Run the frontend:
npm run dev
-
Access the application: Open http://localhost:3000
GET /api/health- Health checkPOST /api/query- Submit a travel question
Request:
{
"query": "What visa do I need to travel from USA to Japan?",
"user_id": "optional_user_identifier"
}Response:
{
"query": "What visa do I need to travel from USA to Japan?",
"response": "For US citizens traveling to Japan...",
"timestamp": "2024-01-07T12:00:00Z"
}The application uses DeepSeek R1 model via OpenRouter API for intelligent travel advice. The AI is specifically trained to provide:
- Visa requirements and processing times
- Passport validity requirements
- Additional documentation needed
- Travel advisories and safety information
- Cost estimates where applicable
- Mobile: Optimized for phones with collapsible sidebar
- Tablet: Balanced layout with appropriate spacing
- Desktop: Full-featured interface with persistent sidebar
- Colors: Dark theme with purple (#7c3aed) accents
- Typography: Inter font family
- Components: Glassmorphism effects and smooth animations
- Icons: Heroicons for consistent iconography
OPENROUTER_API_KEY=your_openrouter_api_key
NEXT_PUBLIC_API_URL=http://localhost:8000
- Choose a platform (Railway, Render, Heroku)
- Set environment variables
- Deploy from the
backend/directory - Verify
/api/healthendpoint
- Use Vercel for Next.js deployment
- Set
NEXT_PUBLIC_API_URLto your backend URL - Deploy from the
frontend/directory
- User authentication and personalized history
- Multi-language support
- Advanced filtering and search in history
- Integration with real-time travel APIs
- Voice input for queries
- Offline capability with cached responses
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
For questions or issues, please open an issue on GitHub.