No updates detected yet. GitHub releases will appear here.
A open source volunteer run ride booking/offering site
翻訳待ち
Loading the full README. The saved excerpt is shown below.
A free, open-source ride-coordination board for the Youngstown, Ohio area — post a ride
request or offer (now or scheduled ahead of time), and let another person propose to fill it.
No payments are handled anywhere in this app; it's purely a convenience tool.
The name is a tongue-in-cheek nod to Pathao, the ride-sharing app in
Nepal — "sasta" means "cheap" in Nepali/Hindi. This is an unaffiliated, unofficial parody/hobby
project, not a Pathao product.Read the full README ↗A free, open-source ride-coordination board for the Youngstown, Ohio area — post a ride request or offer (now or scheduled ahead of time), and let another person propose to fill it. No payments are handled anywhere in this app; it's purely a convenience tool.
The name is a tongue-in-cheek nod to Pathao, the ride-sharing app in Nepal — "sasta" means "cheap" in Nepali/Hindi. This is an unaffiliated, unofficial parody/hobby project, not a Pathao product.
google-maps branch only (not on main): Google Maps
for address search/autocomplete, reverse geocoding, an interactive map, and a drawn driving
route — needs a real, billing-enabled API key, unlike everything else on this list. See
CLAUDE.md for the two-separate-keys setup.Install dependencies
npm install
Create a Neon Postgres database — sign up free at neon.tech, create a project, and copy the pooled connection string.
Create a Resend account (for magic-link sign-in and match notification emails) — sign up free at resend.com and grab an API key. Without this set, the app still runs: sign-in links and notifications are logged to the server console instead of emailed.
(Optional) Create a Vercel Blob store — for profile picture uploads. In your Vercel
project's Storage tab, create a free Blob store; it injects BLOB_READ_WRITE_TOKEN
automatically once deployed. For local dev, copy the token it shows you, or run
vercel env pull .env.local once the project's linked. Without it, uploading a photo just
errors — everything else in the app still works.
google-maps branch only: set up Google Maps Platform — needs a real, billing-enabled
project (no free-tier fallback on this branch). In Google Cloud Console: enable Places API
(New), Geocoding API, Directions API, and Maps JavaScript API; enable billing;
set a budget alert; then create two separate API keys (see CLAUDE.md for exactly how each
should be restricted) for GOOGLE_MAPS_API_KEY and NEXT_PUBLIC_GOOGLE_MAPS_API_KEY below.
Without these, every map on the site shows Google's own "can't load Google Maps" placeholder
instead of crashing — fine for working on anything else in the meantime.
Configure environment variables
cp .env.example .env.local
Fill in DATABASE_URL (from Neon), RESEND_API_KEY and EMAIL_FROM (from Resend),
BLOB_READ_WRITE_TOKEN (from the Blob store above), GOOGLE_MAPS_API_KEY and
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY (from step 5), and generate an AUTH_SECRET:
npx auth secret
Run the database migration
npm run db:migrate
(Optional) Seed sample data for local testing:
| Command | What it does |
|---|---|
npm run dev | Start the dev server |
npm run build | Production build |
npm start | Run a production build |
npm run lint | ESLint |
npm run db:generate | Generate a new SQL migration from lib/db/schema.ts |
npm run db:migrate | Apply pending migrations to DATABASE_URL |
npm run db:studio | Open Drizzle Studio (visual browser for the database) |
npm run db:seed | Insert a couple of sample users/posts for local testing |
npm run db:ban -- <email> [reason] | Ban a user by email: blocks future sign-in, revokes any active session, cancels their open posts and declines their pending claims |
npm run db:unban -- <email> | Lift a ban |
This is the beginning of the README. Read the rest at the original. Read the full README ↗
npm run db:seed
Start the dev server
npm run dev
Visit http://localhost:3000.