/plan-together

An app for planning outtings for groups of friends

Primary LanguageTypeScript

PlanTogether

An app for planning outtings for groups of friends

Develop Locally

  1. Copy example.env and populate with secrets from the following services
    1. OpenAI
    2. Auth0
    3. Supabase
    4. Google Maps API
    5. fly.io Hosted Redis
    6. Mixpanel
  2. yarn install
  3. yarn dev

Deploy

  1. Set up fly.io account https://fly.io/docs/getting-started/
  2. fly deploy

TODO

  • Add Auth0 integration
  • Add download event
  • Implement dark/light mode toggle
  • Add save event to database
  • Parse timestamps returned by database to human readable strings
  • Add share event with public link
  • on /saved page, pull down existing share links and replace Share button with an Open button
  • Add social media links to share link page
  • Improve GPT prompt and format to support multiple events in a single itinerary
  • Export to Google Calendar
  • Cache responses
    • Especially Supabase results on pub share page
  • Integrate with a database
  • Add additional + optional fields
    • location radius on how far to search
    • time window on how long/much time user wants to spend
  • Improve the rendering of the itinerary/standardize format
  • Support Setting an event date
  • Improve timezone logic
  • Look for a location services API, that can render image and metadata about a location
    • Location websites
    • Location images
  • If form gets too long, add pagination
  • Allow for revisions to events
    • Manual
    • Follow-up prompts to GPT
  • Add a delete Saved event button
  • Hide the navbar under the /share/<share_slug> path
  • Add social media preview metadata to /share/<share_slug> path
  • Add a button to sign in and create events on /share/<share_slug> path
  • Save input configurations to regenerate further ideas
  • Integrate with react-add-to-calendar https://www.npmjs.com/package/add-to-calendar-button-react
  • Edit ChatGPT response for locations that are permanently clsoed
  • Add copy button to address in event details
  • Consider supporting multiday events
  • Add MixPanel analytics
  • Remember last input to prompt (on navigate away or switch tabs)
  • Improve the social media metadata (OpenGraph) logic on share pages
    • DRY up code between page render and metadata gen
    • Strip markdown links out of messages
  • Add a fuzzy string match check to see if Google Maps result is correct
  • Create about page
  • After event has been saved on Create page, disable Save button on future reloads of page
  • Solve bug where user sets values on form, reloads page, Clear form button doesn't work