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.
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.
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.