docs: add MODULE_SPEC.md with permission model and capabilities
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
c0c61f4f76
commit
240c2fa7f1
|
|
@ -0,0 +1,48 @@
|
|||
# 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
|
||||
Loading…
Reference in New Issue