{"id":23917954,"url":"https://github.com/iamfitsum/ryde","last_synced_at":"2026-04-06T01:35:02.565Z","repository":{"id":270997670,"uuid":"896982277","full_name":"iamfitsum/ryde","owner":"iamfitsum","description":"Ryde is a ride-hailing app that combines real-time location tracking, secure payment processing, and a responsive design for a seamless user experience on both Android and iOS","archived":false,"fork":false,"pushed_at":"2025-01-04T16:32:04.000Z","size":5646,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T14:38:00.074Z","etag":null,"topics":["clerk","expo","google-maps-api","nativewind","neondb","postgresql","reactnative","stripe","tailwindcss","zustand"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iamfitsum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-01T19:19:29.000Z","updated_at":"2025-01-04T16:32:07.000Z","dependencies_parsed_at":"2025-01-04T17:39:27.285Z","dependency_job_id":null,"html_url":"https://github.com/iamfitsum/ryde","commit_stats":null,"previous_names":["iamfitsum/ryde"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iamfitsum/ryde","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamfitsum%2Fryde","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamfitsum%2Fryde/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamfitsum%2Fryde/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamfitsum%2Fryde/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamfitsum","download_url":"https://codeload.github.com/iamfitsum/ryde/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamfitsum%2Fryde/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31456662,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"ssl_error","status_checked_at":"2026-04-05T21:22:51.943Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clerk","expo","google-maps-api","nativewind","neondb","postgresql","reactnative","stripe","tailwindcss","zustand"],"created_at":"2025-01-05T13:11:31.136Z","updated_at":"2026-04-06T01:35:02.549Z","avatar_url":"https://github.com/iamfitsum.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eRyde: An Uber Clone\u003c/h1\u003e\n  \u003cimg src=\"assets/images/banner.png\" alt=\"Ryde Banner\" /\u003e\n\u003c/div\u003e\n\n**Ryde** is a feature-rich ride-hailing app built with modern web and mobile technologies. Designed to provide a seamless user experience, Ryde integrates real-time location tracking, secure payments, and responsive design to deliver a platform optimized for both Android and iOS devices.\n\n---\n\n## 📋 Table of Contents\n1. [Features](#-features)\n2. [Technologies Used](#%EF%B8%8F-technologies-used)\n3. [Important Links](#-important-links)\n4. [File Structure](#-file-structure)\n5. [Getting Started](#-getting-started)\n6. [Configuration](#%EF%B8%8F-configuration)\n7. [Acknowledgements](#-acknowledgements)\n8. [License](#-license)\n\n---\n\n## 🚀 Features\n\n### User Experience\n- **Onboarding Flow**: Seamless user registration and setup process.\n- **Email Password Authentication with Verification**: Secure login with email verification.\n- **OAuth Using Google**: Easy login with Google credentials.\n\n### Rides\n- **Home Screen with Live Location \u0026 Google Map**: Real-time location tracking with markers on a map.\n- **Recent Rides**: View a list of recent rides at a glance.\n- **Google Places Autocomplete**: Search any place on Earth with autocomplete suggestions.\n- **Find Rides**: Search for rides by entering 'From' and 'To' locations.\n- **Select Rides from Map**: Choose available cars near your location from the map.\n- **Confirm Ride with Detailed Information**: View complete ride details, including time and fare price.\n- **Create Rides After Successful Payment**: Book a ride after confirming payment.\n\n### Payments\n- **Pay for Ride Using Stripe**: Secure payments via multiple methods like cards.\n\n### User Profile\n- **Profile Management**: Manage account details in the profile screen.\n- **Ride History**: Review all rides booked so far.\n\n### Compatibility\n- **Responsive on Android and iOS**: Optimized for both Android and iOS devices.\n\n---\n\n## 🛠️ Technologies Used\n\n- **[React Native](https://reactnative.dev/)**\n- **[Expo](https://expo.dev/)**\n- **[Stripe](https://stripe.com/)**\n- **[PostgreSQL](https://www.postgresql.org/) ([neon](https://neon.tech/))**\n- **[Google Maps](https://console.cloud.google.com/)**\n- **[Zustand](https://zustand-demo.pmnd.rs/)**\n- **[Clerk](https://clerk.com/)**\n- **[Tailwind CSS](https://tailwindcss.com/)**\n\n---\n\n## 🔗 Important Links\n\n- \u003ca href=\"https://docs.expo.dev/guides/using-eslint/\" target=\"_blank\"\u003eEslint and Prettier Setup\u003c/a\u003e\n- \u003ca href=\"https://www.nativewind.dev/quick-starts/expo\" target=\"_blank\"\u003eExpo NativeWind Setup\u003c/a\u003e\n- \u003ca href=\"https://www.nativewind.dev/v4/getting-started/typescript\" target=\"_blank\"\u003eTypeScript Support for NativeWind\u003c/a\u003e\n- \u003ca href=\"https://neon.tech/\" target=\"_blank\"\u003eServerless NeonDB\u003c/a\u003e\n- \u003ca href=\"https://go.clerk.com/DtiSBEI\" target=\"_blank\"\u003eClerk Auth\u003c/a\u003e\n- \u003ca href=\"https://clerk.com/docs/quickstarts/expo\" target=\"_blank\"\u003eClerk Expo Quickstart\u003c/a\u003e\n- \u003ca href=\"https://clerk.com/docs/custom-flows/oauth-connections\" target=\"_blank\"\u003eClerk Expo OAuth\u003c/a\u003e\n- \u003ca href=\"https://www.geoapify.com/\" target=\"_blank\"\u003eGeoapify Map\u003c/a\u003e\n- \u003ca href=\"https://docs.stripe.com/payments/accept-a-payment?platform=react-native\u0026ui=payment-sheet\" target=\"_blank\"\u003eStripe React Native SDK\u003c/a\u003e\n- \u003ca href=\"https://docs.stripe.com/payments/accept-a-payment-deferred\" target=\"_blank\"\u003eStripe\u003c/a\u003e\n\n---\n\n## 📂 File Structure\n\n```bash\n.\n├── app\n│   ├── (api)\n│   │   ├── driver+api.ts\n│   │   ├── ride\n│   │   │   ├── create+api.ts\n│   │   │   └── [id]+api.ts\n│   │   ├── (stripe)\n│   │   │   ├── create+api.ts\n│   │   │   └── pay+api.ts\n│   │   └── user+api.ts\n│   ├── (auth)\n│   │   ├── _layout.tsx\n│   │   ├── sign-in.tsx\n│   │   ├── sign-up.tsx\n│   │   └── welcome.tsx\n│   ├── index.tsx\n│   ├── _layout.tsx\n│   ├── +not-found.tsx\n│   └── (root)\n│       ├── book-ride.tsx\n│       ├── confirm-ride.tsx\n│       ├── find-ride.tsx\n│       ├── _layout.tsx\n│       └── (tabs)\n│           ├── chat.tsx\n│           ├── home.tsx\n│           ├── _layout.tsx\n│           ├── profile.tsx\n│           └── rides.tsx\n├── assets\n│   ├── fonts\n│   ├── icons\n│   └── images\n├── components\n├── constants\n├── lib\n├── store\n├── scripts\n├── types\n├── babel.config.js\n├── package.json\n├── .env\n├── tailwind.config.js\n└── tsconfig.json\n```\n\n---\n\n## 🚀 Getting Started\n\n### Prerequisites\n- [Node.js](https://nodejs.org/)\n- [npm](https://www.npmjs.com/) (or [pnpm](https://pnpm.io/) / [yarn](https://yarnpkg.com/))\n- [Git](https://git-scm.com/)\n- [Expo CLI](https://expo.dev/)\n\n### Installation\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/iamfitsum/ryde.git\n   ```\n\n2. Navigate to the project directory:\n   ```bash\n   cd ryde\n   ```\n\n3. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n4. Start the Expo development server:\n   ```bash\n   expo start\n   ```\n\n5. Run the app on your device or simulator:\n   - Press `a` for Android\n   - Press `i` for iOS\n\n---\n\n## 🧩 Configuration\n\n1. Create a `.env` file in the project root and add the following environment variables:\n   ```env\n   EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=\n\n   EXPO_PUBLIC_PLACES_API_KEY=\n   EXPO_PUBLIC_DIRECTIONS_API_KEY=\n\n   DATABASE_URL=\n\n   EXPO_PUBLIC_SERVER_URL=https://ryde.com/\n\n   EXPO_PUBLIC_GEOAPIFY_API_KEY=\n\n   EXPO_PUBLIC_STRIPE_PUBLISHABLE_KEY=\n   STRIPE_SECRET_KEY=\n   ```\n\n---\n\n## 🙏 Acknowledgements\n\n- [Adrian (JSMastery)](https://www.youtube.com/watch?v=kmy_YNhl0mw)\n\n---\n\n## 📜 License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamfitsum%2Fryde","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamfitsum%2Fryde","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamfitsum%2Fryde/lists"}