rtrips-online/MODULE_SPEC.md

1.5 KiB

rTrips — Trip Planning

Module ID: rtrips Domain: rtrips.online Version: 0.1.0 Framework: Next.js 14 / React 18 / Prisma / PostgreSQL Status: Active

Purpose

Collaborative trip planning with itineraries, packing lists, shared expenses, and location-based scheduling. Integrates with rMaps for destination visualization and rFunds for expense splitting.

Data Model

Prisma schema (PostgreSQL). Trips, itineraries, destinations, packing lists, expenses.

Permission Model

Capability Required SpaceRole Description
view_trips VIEWER See trip details and itineraries
create_trip PARTICIPANT Create new trips
edit_own_trips PARTICIPANT Modify trips you created
moderate_trips MODERATOR Edit/manage any trip
configure_trips ADMIN Space-level trip settings

Current Auth: EncryptID via SDK.

Canvas Integration

Shape types:

  • folk-itinerary: Trip timeline with dates and destinations
  • folk-packing-list: Checklist widget
  • folk-destination: Location card linked to rMaps

Cross-Module Dependencies

Module Integration
rMaps Destination markers on map
rFunds Expense splitting and budget tracking
rSpace Canvas shape embedding

Migration Plan

  1. Already has EncryptID auth
  2. Add space-level role resolution
  3. Import resolveSpaceRole() + capability checks