# Travel Planner

Plan family trips and summer camps in one place, then share schedules through a dedicated family calendar.

Status: active

Family plans span trips, camps, venues, and the people who need to know where to be. Travel Planner brings those details into one schedule. Parents can organize a trip, track each child's camps, see locations on a map, and share the plan.

## Each camp connects a child, place, and schedule

The camp flow stores children and venues separately. Google Places helps select a venue and retains its place ID, while color-coded map pins show each child's locations. Recurring dates and pickup details stay attached to the camp rather than living in separate calendar notes.

## Calendar sharing uses a dedicated family calendar

The app pushes camp schedules to a Google Calendar it creates for the family. Recurrence rules preserve daily, weekly, and weekday schedules. The integration requests access to app-created calendars, so it does not need access to every event on a parent's primary calendar.

## User-scoped data access is the default

Next.js serves the interface and API. Neon Postgres stores trip and camp data; Drizzle provides typed queries. Application routes use a user-scoped database wrapper for ordinary reads and writes, while system jobs and authentication use explicit service paths. Better Auth handles sign-in, and Cloudflare R2 stores uploaded files.

## Links

- [HTML project page](https://rosslabs.ai/projects/travel-planner/)
