Senders
Request pickup from the dorm lobby.
Capture item details, pickup location, destination store, and status in a single request record ready for assignment.
Dorm pickup, store drop-off, driver payouts
ReturnMate pairs student senders with nearby student drivers, tracks request state in Postgres, and routes checkout through Stripe-hosted payments for a thin-launch marketplace MVP.
Database
Schema live on Neon
3 required tables discovered
Checkout
Stripe link configured
Hosted payment link keeps the MVP launch path thin.
Runtime
App Router on Vercel
The landing page reads backend readiness at request time.
Launch metrics
3
Launch tables ready for matching and payouts
1
Hosted Stripe checkout path for initial demand
14.x
Next.js major version pinned for the MVP
Launch checklist
Senders
Capture item details, pickup location, destination store, and status in a single request record ready for assignment.
Drivers
Driver assignment is modeled directly in the core request flow, with a dedicated payouts table for eventual transfer reconciliation.
Operations
The initial stack focuses on delivery basics: one landing page, one migration, one checkout path, and one deploy target.
Database blueprint
The landing page is backed by a reproducible SQL migration and a lightweight Neon serverless client. Each table is ready for the sender request flow, driver assignment, and payout tracking.
id
uuid primary key
text unique not null
role
sender | driver
dorm
text not null
created_at
timestamptz default now()
id
uuid primary key
sender_id
uuid fk -> users.id
driver_id
uuid fk -> users.id nullable
item_description
text not null
pickup_address
text not null
dropoff_store
text not null
status
pending | matched | picked_up | completed | cancelled
price
numeric(10,2)
created_at
timestamptz default now()
id
uuid primary key
driver_id
uuid fk -> users.id
amount
numeric(10,2) not null
stripe_transfer_id
text nullable
created_at
timestamptz default now()