This project is a Personalized Travel Itinerary Generator, where users can log in with their credentials (or using Google OAuth), and generate personalized travel itineraries based on their preferences. The application is built using Next.js, Tailwind CSS, Supabase, Prisma, and supports NextAuth for authentication.
- Email/Password & Google OAuth Authentication via NextAuth.
- Users can generate personalized travel itineraries based on their preferences.
- Tailwind CSS for responsive and modern UI.
- Supabase as the backend for data storage and user management.
- Prisma ORM for database interactions.
- Frontend: Next.js, Tailwind CSS
- Backend: Supabase, Prisma
- Authentication: NextAuth (with Email/Password and Google OAuth)
- Database: PostgreSQL (via Supabase)
Make sure you have the following installed:
-
- git clone https://github.com/your-username/travel-itinerary-generator.git
- cd travel-itinerary-generator
- npm install
- or
- yarn install
-
Create a .env.local file at the root of the project and add your environment variables:
-
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
-
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key
-
NEXTAUTH_URL=http://localhost:3000
-
NEXTAUTH_SECRET=your-nextauth-secret
-
GOOGLE_CLIENT_ID=your-google-client-id
-
GOOGLE_CLIENT_SECRET=your-google-client-secret
-
Make sure you have a Supabase project with PostgreSQL as your database. Then, set up Prisma:
-
npx prisma generate
-
npx prisma migrate dev
- npm run dev
- or
- yarn dev
The app will be available at http://localhost:3000.
You can sign in using email/password or via Google OAuth.
After signing in, you'll be redirected to the travel itinerary dashboard, where you can generate personalized itineraries based on your input.
The "Explore Now" button sticks to the bottom of the itinerary card, allowing users to easily start exploring their itinerary. Deployment
Feel free to open an issue or submit a pull request if you'd like to contribute to this project.
This project is licensed under the MIT License.