Skip to content

A smart date planning app that helps you discover and save unique date ideas based on your location, preferences, and budget. This is a reimagining of my DateRandomizer.

Notifications You must be signed in to change notification settings

michellemayes/datespark

Repository files navigation

Date Idea Generator

A smart date planning app that helps you discover and save unique date ideas based on your location, preferences, and budget.

Features

  • Location-Based Search: Find date venues near you using Google Places API with autocomplete
  • Smart Filtering: Filter by activity type (restaurants, museums, parks, etc.), budget, and duration
  • AI-Powered Suggestions: Get personalized date itineraries with multiple venues using advanced AI models
  • Save Favorites: Bookmark your favorite date ideas and manage them across sessions
  • Rating & Reviews: Add ratings and personal notes to your saved date ideas
  • Interactive Maps: View venue locations on an integrated Google Map
  • User Authentication: Secure email-based authentication to save and manage your date ideas across devices
  • Responsive Design: Beautiful, mobile-friendly interface that works on any device

Technologies

  • Frontend: React, TypeScript, Vite
  • Styling: Tailwind CSS, shadcn-ui components
  • Backend: Lovable Cloud (Supabase)
  • APIs: Google Maps & Places API
  • State Management: TanStack Query
  • Authentication: Supabase Auth

Getting Started

Prerequisites

  • Node.js & npm (install with nvm)
  • Google Maps API key
  • Lovable Cloud account (or Supabase project)

Installation

  1. Clone the repository:
git clone <YOUR_GIT_URL>
cd <YOUR_PROJECT_NAME>
  1. Install dependencies:
npm install
  1. Configure environment variables (automatically set up with Lovable Cloud)

  2. Start the development server:

npm run dev

Usage

  1. Enter Your Location: Start by entering your city or address
  2. Set Your Preferences: Choose activity type, budget range, and date duration
  3. Get Suggestions: Click "Find Date Ideas" to generate personalized recommendations
  4. Save Favorites: Click the heart icon to save ideas you like
  5. View Saved Ideas: Access your saved dates anytime from the navigation menu

Project Structure

  • /src/pages - Main application pages (Index, SavedIdeas, Auth, NotFound)
  • /src/components - Reusable UI components (DateIdeaCard, DateFilters, GoogleMap, AuthModal, ReviewModal, Footer)
  • /src/hooks - Custom React hooks (useSavedIdeas, use-mobile, use-toast)
  • /src/integrations/supabase - Backend integration and types
  • /supabase/functions - Edge functions:
    • autocomplete-places - Location autocomplete
    • search-places - Venue search
    • geocode-location - Location geocoding
    • filter-venues - AI-powered venue filtering
    • generate-date-content - AI-generated date descriptions
    • get-maps-key - Secure Maps API key retrieval

Deployment

Deploy your app via Lovable:

  1. Open your Lovable project
  2. Click Share → Publish

Custom Domain

Connect a custom domain via Project > Settings > Domains in Lovable.

Learn more: Setting up a custom domain

License

Built with Lovable

About

A smart date planning app that helps you discover and save unique date ideas based on your location, preferences, and budget. This is a reimagining of my DateRandomizer.

Topics

Resources

Stars

Watchers

Forks

Languages