NextAuth + Turso ready role architecture

Join RoamPK as anyone in the travel ecosystem.

Tourists, local users, hotels, hostels, cafés, SIM partners, guides, food experts, emergency teams, and admins all share one extensible role model.

Active role preview

Tourist / Traveler

Book hotels, follow routes, save destinations, request guides, and manage travel plans.

booking:create
follow:create
review:create
trip:manage

Pick a Role

Adding another role later is one new object in src/lib/roles.ts — tiny door, huge hallway.

Traveler

Partner

Community

Operations

Role-Aware Onboarding Form

NextAuth owns identity, Turso owns roles and partner profiles.

Implementation Notes

NextAuth (Auth.js) stores identity, session, credentials, and OAuth providers.

Turso stores app truth: roles, partner verification, follows, and role-specific metadata.

Credentials provider (email/password) + Google OAuth for authentication.

NextAuth + Turso stack
users
- id, name, email, password
- active_role, onboarding_complete

user_roles
- id, user_id, role, status

partner_profiles
- id, user_id, role, business_name
- designation, proof_image_url
- city, province, about, verification_status

Follow Anything

Users can follow people, partners, places, routes, and future objects without redesigning the database.

touristlocal_userhotelhostelcaferestaurantsim_outlettour_guidefood_expertdestinationroutetour_packagetourist_profileAdd more later