Openfront Rideshare is a self-hostable ride-booking and fleet-operations application for independent drivers and fleets. Riders can discover services, request quotes and rides, and review trip status. Operators manage drivers, dispatch, trip transitions, support, safety records, and manual payment records.
Documentation: docs.openship.org/docs/openfront/rideshare
| Storefront | rideshare.openship.org |
| Dashboard | rideshare.openship.org/dashboard |
Every Openfront is open source and self-hostable. Try any of them on its live demo.
| Product | For | Repository | Demo | Docs |
|---|---|---|---|---|
| Openfront E-commerce | Online store: catalog, checkout, orders, fulfillment | openfront | e-commerce.openship.org | Docs |
| Openfront Restaurant | Online ordering, POS and kitchen display | openfront-restaurant | restaurant.openship.org | Docs |
| Openfront Grocery | Grocery ordering, lots, expiry and pickup | openfront-grocery | grocery.openship.org | Docs |
| Openfront Gym | Memberships, classes, check-in and billing | openfront-gym | gym.openship.org | Docs |
| Openfront Hotel | Reservations, front desk, housekeeping, folios | openfront-hotel | hotel.openship.org | Docs |
| Openfront Rental | Short-term rental bookings and calendars | openfront-rental | rental.openship.org | Docs |
| Openfront Salon | Appointments, stylists and services | openfront-salon | salon.openship.org | Docs |
| Openfront Barbershop | Bookings, walk-ins and barbers | openfront-barbershop | barbershop.openship.org | Docs |
| Openfront Coffee Shop | Café ordering and counter POS | openfront-coffeeshop | coffee-shop.openship.org | Docs |
| Openfront Real Estate | Listings, showings and transactions | openfront-realestate | real-estate.openship.org | Docs |
| Openfront Dealership | Inventory, test drives, deals and service | openfront-dealership | dealership.openship.org | Docs |
| Openfront Vape | Age-gated retail with compliance controls | openfront-vape | vape.openship.org | Docs |
| Openfront Convenience | Convenience store POS and inventory | openfront-convenience | convenience.openship.org | Docs |
| Openfront Collectibles | Graded items, consignment and provenance | openfront-collectibles | collectibles.openship.org | Docs |
| Openfront Cannabis | Dispensary menu, packages and recalls | openfront-cannabis | cannabis.openship.org | Docs |
| Openfront Pharmacy | Prescriptions, inventory lots and pickup | openfront-pharmacy | pharmacy.openship.org | Docs |
| Openfront Med Spa | Treatments, consents and memberships | openfront-medspa | medspa.openship.org | Docs |
| Openfront Construction | Projects, bids, change orders and crews | openfront-construction | construction.openship.org | Docs |
| Openfront Law Firm | Matters, intake, time and billing | openfront-law-firm | law-firm.openship.org | Docs |
| Openfront Scheduling | Booking pages for appointment businesses | openfront-scheduling | scheduling.openship.org | Docs |
| Openfront Social | Creator community and posts | openfront-social | social.openship.org | Docs |
| Openfront Rideshare (this repository) | Rides, drivers and dispatch | openfront-rideshare | rideshare.openship.org | Docs |
| Openfront Airline | Flights, booking and passenger operations | openfront-airline | airline.openship.org | Docs |
| Openfront Hospital | Appointments, patients and care teams | openfront-hospital | hospital.openship.org | Docs |
| Openfront Sportsbook | Markets, bets and results | openfront-sportsbook | sportsbook.openship.org | Docs |
| Openfront Financial | Accounts, portfolios and advisory | openfront-financial | financial.openship.org | Docs |
| Openfront Analytics | Privacy-friendly website analytics | analytics | analytics.openship.org | Docs |
| Openship | Order routing from sales channels to fulfillment | openship | os.openship.org | Docs |
| Marketplace | Shop across Openfront stores | marketplace | marketplace.openship.org | Docs |
Manage settings, drivers, dispatch, safety, my driving, finance, trips through dedicated dashboard workspaces and permission-controlled data screens.
The public service surface connects /book, ride confirmation pages at /rides/[confirmationCode], and rider accounts with request status and trip history. Private trip access uses request proofs or trip tokens rather than confirmation codes alone.
Define service areas, availability, fare rules, and ride services; create quotes and requests, offer rides to drivers, accept or decline offers, and transition trips.
Maintain fleet memberships, drivers, vehicles, compliance documents, policies, and driver workspaces.
Record cancellations, messages, reviews, support cases, safety incidents, payment observations, refunds, ledger entries, and payouts. The included payment adapter is manual; mapping and notification implementations do not establish live automated dispatch or payment-provider service.
- Frontend: Next.js 16 with App Router and React 19.
- Backend: KeystoneJS 6 with a GraphQL API.
- Database: PostgreSQL with Prisma ORM.
- Styling: Tailwind CSS 4 and shared shadcn/ui components.
- Authentication: Password-based user accounts and session-based access with role capabilities.
openfront-rideshare/
├── app/ # Public pages, dashboard routes, and HTTP endpoints
├── features/
│ ├── keystone/ # Backend models, access rules, and GraphQL workflows
│ ├── platform/ # Operator workspaces and onboarding
│ ├── storefront/ # Public application components and screens
│ └── dashboard/ # Authentication and shared dashboard shell
└── components/ # Shared UI components
The model registry and Prisma schema cover:
- Fleets, memberships, drivers, riders, vehicles, documents, and policies.
- Service areas, ride services, availability, fares, quotes, and requests.
- Offers, trips, events, location events, cancellations, messages, and safety records.
- Payment providers, payments, observations, refunds, ledger entries, payouts, and marketplace registration.
- Node.js 22, compatible with the package requirements and Next.js 16.
- A PostgreSQL database you can migrate.
- npm.
-
Clone and install dependencies:
git clone https://github.com/openshiporg/openfront-rideshare.git cd openfront-rideshare npm install -
Configure environment variables:
cp .env.example .env
Review the example configuration and replace its placeholders. Keep only the local settings you need; do not copy production-mode or infrastructure examples unchanged.
DATABASE_URL=postgresql://user:password@host/database SESSION_SECRET=replace-with-a-new-private-random-secret
Generate the session secret with
openssl rand -hex 32; use the generated value, not the placeholder. Never commit.env.Review runtime configuration for additional application settings before building or deploying. Configure enabled integrations separately; the two values above are not a complete production configuration.
-
Start development server:
npm run dev
The development script prepares the backend schema, applies checked-in migrations, and starts Next.js.
-
Access the application: Open the URL
npm run devprints, then use these paths:- Public application:
/ - Admin dashboard:
/dashboard - Customer account:
/account - GraphQL API:
/api/graphql
- Public application:
-
Create your first admin user: Visit
/dashboard/initon an empty database to create the initial administrator, then sign in to the dashboard. -
Run application onboarding: Run rideshare onboarding, configure the fleet, drivers, vehicles, service areas, availability, and pricing, then review operational policies and provider limitations before serving riders.
npm run dev- Prepare the backend schema, apply migrations, and start Next.js development.npm run build- Build the backend and Next.js for production; does not apply migrations.npm start- Start the production Next.js server.npm run migrate:gen- Prepare the schema and generate/apply development migrations.npm run migrate- Apply checked-in Prisma migrations.npm run lint- Run the repository's ESLint script.npm run typecheck- Run the configured TypeScript check.npm run test- Run the repository's configured test suite.
Use a disposable development database for migration generation. Review the script before running it against any existing data.
The registered ride commands connect quote, request, offer, trip, and support workflows. The payment registry currently registers manual payment only. Transport operations require applicable licensing, insurance, safety processes, and approved external providers.
The backend models, registered business workflows, access rules, and application routes document the implementation in this repository.
canAccessDashboard- Access dashboard.canManageFleet- Manage fleet.canDispatchRides- Dispatch rides.
- Session-based authentication for signed-in users.
- Backend list access and workflow authorization, rather than dashboard visibility alone.
- Authority checks re-read the current human actor and active fleet membership. Dispatch, driver operations, finance, safety, and fleet administration have different membership scopes; rider access is checked separately.
Review the access implementation and individual workflow checks before extending permissions.
- Settings:
/dashboard/platform/settings. - Drivers:
/dashboard/platform/drivers. - Dispatch:
/dashboard/platform/dispatch. - Safety:
/dashboard/platform/safety. - My Driving:
/dashboard/platform/my-driving. - Finance:
/dashboard/platform/finance. - Trips:
/dashboard/platform/trips.
The public service surface connects /book, ride confirmation pages at /rides/[confirmationCode], and rider accounts with request status and trip history. Private trip access uses request proofs or trip tokens rather than confirmation codes alone.
Define service areas, availability, fare rules, and ride services; create quotes and requests, offer rides to drivers, accept or decline offers, and transition trips.
The Vercel button imports this application's own repository. Provision PostgreSQL and configure the application's complete runtime requirements, storage, mail, and enabled providers before building. Importing the source does not configure these services or grant regulatory approval.
Build the application and apply checked-in migrations as a release step before starting the server. Back up existing data before migration.
npm run build
npm run migrate
npm startThe included Railway configuration defines this app's build and startup lifecycle. Provision services and secrets separately.
Preserve fleet authority and atomic trip-state transitions across dispatch processes. Add approved mapping, communication, and payment providers before promising automated external operations.
Use the development commands above when preparing changes. Keep model changes and their migrations together, and describe workflow and permission changes in pull requests.
No top-level license file or package license declaration is included in this repository.
- Documentation: Source models and workflows.
- Issues: Report bugs and feature requests.
- Product: Learn more about Openfront Rideshare.
Built with Next.js and KeystoneJS.