How khusshhhhh/redrive works
Redrive is an Australian peer-to-peer vehicle marketplace with web and mobile clients. The main journey runs from account creation and licence readiness, through vehicle discovery and listing, to reservation approval, payment, trip operations and reviews. Messaging, notifications and administration support that journey. The README documents broader integrations and capabilities; sampled routes confirm selected reservation, listing, registration, licence-verification and review behavior, so unsampled connections are shown only where the README explicitly describes them.
Main entry points: page.tsx Web experience · prismadb.ts MongoDB via Prisma · _layout.tsx Mobile experience · dispatch.ts Notifications
Components 25
Marketplace clients
- Web experience
app/page.tsx - Mobile experience
apps/mobile/src/app/_layout.tsx - Shared API contracts
packages/contracts/src/index.ts
Accounts and trust
- Signup and verification
app/api/register/route.ts - Licence verification
app/api/license-verification/route.ts - Profile management
app/api/profile/route.ts
Discovery and listings
- Listing and search API
app/api/listings/route.ts - Recommendations
app/api/recommendations/route.ts - Saved searches
app/api/saved-searches/route.ts - Listing experience
app/listings/[listingId]/page.tsx
Bookings and trips
- Reservation API
app/api/reservations/route.ts - Reservation operations
app/api/reservations/[reservationId]/route.ts - Payments and payouts
app/libs/payments.ts - Trip reviews
app/api/reviews/route.ts
Communication and operations
- Participant messaging
app/api/chats/route.ts - Notifications
app/libs/notifications/dispatch.ts - Marketplace administration
app/admin/(dashboard)/page.tsx - MongoDB via Prisma
app/libs/prismadb.ts
Other components
- Guest or owner
- Cloudinary
- Google Maps and Places
- Stripe
- SMTP email
- Pusher or SSE
- Scheduled jobs
Connections 45
- Guest or owner → Web experience: uses
- Guest or owner → Mobile experience: uses
- Mobile experience → Shared API contracts: shares types
- Web experience → Signup and verification: submits signup
- Mobile experience → Signup and verification: submits signup
- Signup and verification → MongoDB via Prisma: stores account
- Signup and verification → SMTP email: sends verification
- Web experience → Profile management: updates profile
- Profile management → MongoDB via Prisma: reads and writes
- Web experience → Licence verification: submits licence
- Licence verification → MongoDB via Prisma: stores verification
- Licence verification → Cloudinary: uploads documents
- Web experience → Listing and search API: searches and lists
- Mobile experience → Listing and search API: searches listings
- Listing and search API → MongoDB via Prisma: reads and writes
- Web experience → Google Maps and Places: assisted location search
- Web experience → Recommendations: requests recommendations
- Recommendations → MongoDB via Prisma: scores listings
- Web experience → Saved searches: manages saved searches
- Saved searches → MongoDB via Prisma: persists searches
- Web experience → Listing experience: views vehicle
- Listing experience → Reservation API: requests booking
- Mobile experience → Reservation API: requests booking
- Reservation API → MongoDB via Prisma: checks and creates
- Reservation API → Payments and payouts: initiates payment flow
- Payments and payouts → Stripe: collects payment
- Reservation operations → MongoDB via Prisma: updates trip state
- Reservation operations → Stripe: refunds or expires checkout
- Reservation operations → Notifications: notifies participants
- Web experience → Reservation operations: manages trip
- Mobile experience → Reservation operations: manages trip
- Web experience → Trip reviews: submits review
- Trip reviews → MongoDB via Prisma: checks booking and stores review
- Trip reviews → Notifications: notifies host
- Web experience → Participant messaging: starts conversations
- Mobile experience → Participant messaging: sends messages
- Participant messaging → MongoDB via Prisma: stores messages
- Participant messaging → Pusher or SSE: publishes updates
- Notifications → MongoDB via Prisma: records notifications
- Notifications → SMTP email: sends email
- Notifications → Pusher or SSE: pushes live updates
- Scheduled jobs → Notifications: dispatches reminders
- Scheduled jobs → Payments and payouts: releases payouts
- Guest or owner → Marketplace administration: administers marketplace
- Marketplace administration → MongoDB via Prisma: reads marketplace data