Skip to content

edyehoshua/car

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

264 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Car

Argentina-first peer-to-peer ride sharing, built as a low-cost monorepo for mobile, web, and API work.

What is here

  • app: Expo app for iOS, Android, and web.
  • api: Elysia backend with Drizzle, PostgreSQL/PostGIS, auth, payments, support, and realtime modules.
  • web: Vite marketing and waitlist site.
  • packages/shared: shared Zod schemas, contracts, fixtures, and TypeScript types.
  • packages/ui: shared cross-platform UI primitives.
  • packages/integrations: provider adapters for Argentina-first flows and future country expansion.
  • learning: full-stack learning hub added by this branch.

Product direction

Car focuses on long-distance carpooling in Argentina first. The architecture keeps country-specific provider logic in packages/integrations, keeps API domains explicit, and favors shared contracts over duplicated app/API types.

Current defaults:

  • dLocal for payins and payouts.
  • Better Auth for sessions and auth provider integration.
  • Explicit, auditable verification workflows for DNI, selfie, vehicle, plate, and driver trust checks.
  • es-AR as the default language, with en-US, pt-BR, and ru also supported in the Expo app.

Quick start

Prerequisites:

  • Bun 1.2.15
  • mise
  • PostgreSQL 17 with PostGIS
  • Redis 7

Install tools and dependencies:

mise install
bun install
cp .env.example .env

Validate local services and run migrations:

bun run stack:check
bun run dev:bootstrap

Start the main development services:

bun run dev

Useful focused commands:

bun run dev:app:web
bun run dev:ios
bun run dev:android
bun run dev:api
bun run dev:demo
bun run dev:waitlist

Quality gates

Before merging meaningful code changes, run the relevant subset:

bun run lint
bun run typecheck
bun run build

Additional test commands are available through:

bun run test:unit
bun run test:api
bun run test:app
bun run test:e2e:web

Production-like and infrastructure-specific test details live in testing/README.md.

Documentation

Deployment

Railway is the primary API deployment path today. Render is kept as a ready backup through render.yaml, with preview environments intentionally manual to control cost.

The static demo is built from the Expo app and can be deployed to Cloudflare Pages:

bun run build:demo

The Vite waitlist site remains separate from the logged-in Expo web app so marketing can deploy independently from the product surface.

Demo accounts

Local demo accounts are seeded from packages/shared/src/demo-data.ts and backend seed modules under api/src/modules/*/demo-seed.ts. Use the shared fixture as the source of truth when updating demo personas or credentials.

Donations

If this project helps you, sponsorship is configured through GitHub Sponsors and Ko-fi in .github/FUNDING.yml.

Contributing notes

  • Keep TypeScript strict and avoid any unless the reason is explicit.
  • Validate API boundary input with Zod.
  • Keep user-facing Expo strings behind useTranslation() and update all locale files when adding app copy.
  • Keep provider-specific side effects in packages/integrations.
  • Never commit secrets or real credentials.

About

carpooling app

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors

Languages