Skip to content

ViditJain12/Waypoint

Repository files navigation

Waypoint Travel Planner

A modern, cross-platform travel itinerary planner built with React Native and Expo. Plan multi-city trips, generate smart AI-powered day-by-day itineraries, reorder days and activities, and export your plans as text files.


Features

  • Multi-city trip planning with custom nights per destination
  • AI-powered itinerary generation (OpenAI GPT-3.5/4 via backend proxy)
  • Modern, responsive UI with dark/light theme support
  • Reorder days and activities (works on web and mobile)
  • Export itinerary as a plain text file (web and mobile)
  • Beautiful cards, hover states, and smooth UX

Folder Structure

assets/           # Images, icons, splash, etc.
components/       # Reusable UI components (Header, Logo, etc.)
context/          # React context providers (ThemeContext)
pages/            # Main screens/pages (Landing, TripPlanner, Itinerary)
utils/            # Utility/helper functions (create if needed)
App.js            # App entry point, navigation setup
server.js         # Backend proxy for OpenAI API
index.js          # Entry for Expo/React Native
babel.config.js   # Babel config
app.json          # Expo app config
package.json      # Project dependencies

Setup Instructions

1. Clone the Repository

git clone <your-repo-url>
cd Waypoint

2. Install Dependencies

npm install
# or
yarn install

3. Set Up Environment Variables

  • For the backend proxy, create a .env file in the root:
    OPENAI_API_KEY=sk-...your-openai-key...
    
  • (Frontend uses the backend proxy, so no need to expose your key in the app.)

4. Run the Backend Proxy

npm install express node-fetch dotenv
node server.js
  • The proxy will run on http://localhost:5001/api/openai by default.
  • Make sure your .env file is present and correct.

5. Run the App

npx expo start
  • Press w to open in web browser, or scan the QR code for mobile.
  • For web, the app will be at http://localhost:19006 (default Expo port).

Exporting Itineraries

  • On the Itinerary page, click the Export Itinerary button.
  • On web: downloads a .txt file.
  • On mobile: saves to device using Expo FileSystem.

Adding/Organizing Files

  • Place reusable UI in components/.
  • Place main screens in pages/.
  • Place context providers in context/.
  • Place images/icons in assets/ (create subfolders as needed).
  • Place helpers in utils/ (create if needed).
  • Place navigation logic in App.js or a navigation/ folder if it grows.

Contribution Guidelines

  • Use clear, descriptive commit messages.
  • Keep code modular and organized by feature/folder.
  • Write clean, commented code.
  • Open issues or pull requests for bugs, features, or improvements.

License

MIT (or specify your license)

About

A smart travel planning platform that generates personalized itineraries from user preferences, travel dates, and location context in real time

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors