A comprehensive full-stack travel booking application built with Next.js 14, featuring innovative VS Code browser compatibility, AI-powered itinerary generation, and seamless integration with the Amadeus travel API.
- Dual Authentication: HTTP cookies + Authorization headers for maximum compatibility
- VS Code Browser Support: Pioneering solution for authentication in VS Code's integrated browser
- Secure Session Management: JWT tokens with proper fallback mechanisms
- Flight Search & Booking: Real-time flight data via Amadeus API
- Hotel Reservations: Comprehensive hotel search and booking system
- Multi-destination Support: Complex itinerary planning capabilities
- OpenAI Integration: Intelligent itinerary suggestions
- Personalized Recommendations: AI-driven travel planning
- Smart Budget Analysis: Automated cost optimization
- Responsive Design: Mobile-first approach with Tailwind CSS
- Dark/Light Theme: Dynamic theme switching
- Interactive Components: Rich user interface with shadcn/ui
why_not/
βββ π app/ # Next.js App Router
β βββ api/ # API routes
β βββ auth-test/ # Authentication testing
β βββ booking/ # Booking flow pages
β βββ dashboard/ # User dashboard
β βββ search/ # Search functionality
βββ π components/ # Reusable React components
βββ π docs/ # π Documentation
β βββ AMADEUS-API.md
β βββ AUTHENTICATION-COMPLETE-FINAL.md
β βββ VSCODE-AUTH-COMPLETE-SOLUTION.md
β βββ README.md
βββ π scripts/ # π§ Utility scripts
β βββ create-mock-hotel-data.js
β βββ validate-booking-flow.js
β βββ hotel-ui-fix.js
βββ π tests/ # π§ͺ Organized test suite
β βββ amadeus/ # Amadeus API tests
β βββ api/ # API endpoint tests
β βββ auth/ # Authentication tests
β βββ booking/ # Booking flow tests
β βββ utils/ # Utility function tests
βββ π services/ # External service integrations
βββ π modules/ # Business logic modules
βββ π prisma/ # Database schema & migrations
βββ π public/ # Static assets
- Node.js 18+
- npm or yarn
- PostgreSQL database
- Amadeus API credentials
- OpenAI API key
- Clone the repository
git clone <repository-url>
cd why_not- Install dependencies
npm install
# or
yarn install- Environment Setup
cp .env.example .env.localConfigure your .env.local with:
DATABASE_URL="postgresql://..."
AMADEUS_CLIENT_ID="your_amadeus_client_id"
AMADEUS_CLIENT_SECRET="your_amadeus_client_secret"
OPENAI_API_KEY="your_openai_api_key"
NEXTAUTH_SECRET="your_nextauth_secret"- Database Setup
npx prisma migrate dev
npx prisma generate- Run the development server
npm run dev
# or
yarn devVisit http://localhost:3000 to see your application.
# Authentication tests
node tests/auth/test-vscode-complete-auth.js
# API endpoint tests
node tests/api/test-api-routes.js
# Booking flow tests
node tests/booking/test-booking-flow.js
# Amadeus API tests
node tests/amadeus/test-amadeus-final.js# Validate booking flow
node scripts/validate-booking-flow.js
# Create mock hotel data
node scripts/create-mock-hotel-data.jsComprehensive documentation is available in the /docs directory:
- Authentication Guide - Complete auth implementation
- VS Code Integration - Browser compatibility solution
- Amadeus API - Travel API integration
- Flight Search - Flight booking system
- Hotel Booking - Hotel reservation system
- First-of-its-kind authentication solution for VS Code's integrated browser
- Dual authentication strategy ensuring seamless user experience
- Fallback mechanisms for various browser environments
- Amadeus API for real-time flight and hotel data
- Complex search algorithms with filtering capabilities
- Multi-step booking process with payment integration
- OpenAI integration for personalized travel recommendations
- Smart itinerary generation based on user preferences
- Automated budget optimization and suggestions
- Frontend: Next.js 14, React 18, TypeScript
- Styling: Tailwind CSS, shadcn/ui components
- Authentication: NextAuth.js with custom JWT strategy
- Database: PostgreSQL with Prisma ORM
- APIs: Amadeus Travel API, OpenAI API
- Deployment: Vercel-ready configuration
Overall Score: 9/10
- Innovative VS Code browser authentication solution
- Comprehensive travel industry API integration
- Advanced AI-powered features
- Clean, organized project structure
- Robust authentication system
- Modern UI/UX design
- Comprehensive test coverage expansion
- Production monitoring and analytics
- Performance optimization
- Error handling improvements
- Documentation refinement
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Check the documentation
- Run the test suite in
/tests - Review the validation scripts in
/scripts