Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iamfitsum/ryde
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
https://github.com/iamfitsum/ryde
clerk expo google-maps-api nativewind neondb postgresql reactnative stripe tailwindcss zustand
Last synced: about 1 month ago
JSON representation
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
- Host: GitHub
- URL: https://github.com/iamfitsum/ryde
- Owner: iamfitsum
- License: mit
- Created: 2024-12-01T19:19:29.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-01-04T16:32:04.000Z (about 1 month ago)
- Last Synced: 2025-01-04T17:27:52.228Z (about 1 month ago)
- Topics: clerk, expo, google-maps-api, nativewind, neondb, postgresql, reactnative, stripe, tailwindcss, zustand
- Language: TypeScript
- Homepage:
- Size: 5.38 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Ryde: An Uber Clone
**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.
---
## 📋 Table of Contents
1. [Features](#-features)
2. [Technologies Used](#%EF%B8%8F-technologies-used)
3. [Important Links](#-important-links)
4. [File Structure](#-file-structure)
5. [Getting Started](#-getting-started)
6. [Configuration](#%EF%B8%8F-configuration)
7. [Acknowledgements](#-acknowledgements)
8. [License](#-license)---
## 🚀 Features
### User Experience
- **Onboarding Flow**: Seamless user registration and setup process.
- **Email Password Authentication with Verification**: Secure login with email verification.
- **OAuth Using Google**: Easy login with Google credentials.### Rides
- **Home Screen with Live Location & Google Map**: Real-time location tracking with markers on a map.
- **Recent Rides**: View a list of recent rides at a glance.
- **Google Places Autocomplete**: Search any place on Earth with autocomplete suggestions.
- **Find Rides**: Search for rides by entering 'From' and 'To' locations.
- **Select Rides from Map**: Choose available cars near your location from the map.
- **Confirm Ride with Detailed Information**: View complete ride details, including time and fare price.
- **Create Rides After Successful Payment**: Book a ride after confirming payment.### Payments
- **Pay for Ride Using Stripe**: Secure payments via multiple methods like cards.### User Profile
- **Profile Management**: Manage account details in the profile screen.
- **Ride History**: Review all rides booked so far.### Compatibility
- **Responsive on Android and iOS**: Optimized for both Android and iOS devices.---
## 🛠️ Technologies Used
- **[React Native](https://reactnative.dev/)**
- **[Expo](https://expo.dev/)**
- **[Stripe](https://stripe.com/)**
- **[PostgreSQL](https://www.postgresql.org/) ([neon](https://neon.tech/))**
- **[Google Maps](https://console.cloud.google.com/)**
- **[Zustand](https://zustand-demo.pmnd.rs/)**
- **[Clerk](https://clerk.com/)**
- **[Tailwind CSS](https://tailwindcss.com/)**---
## 🔗 Important Links
- Eslint and Prettier Setup
- Expo NativeWind Setup
- TypeScript Support for NativeWind
- Serverless NeonDB
- Clerk Auth
- Clerk Expo Quickstart
- Clerk Expo OAuth
- Geoapify Map
- Stripe React Native SDK
- Stripe---
## 📂 File Structure
```bash
.
├── app
│ ├── (api)
│ │ ├── driver+api.ts
│ │ ├── ride
│ │ │ ├── create+api.ts
│ │ │ └── [id]+api.ts
│ │ ├── (stripe)
│ │ │ ├── create+api.ts
│ │ │ └── pay+api.ts
│ │ └── user+api.ts
│ ├── (auth)
│ │ ├── _layout.tsx
│ │ ├── sign-in.tsx
│ │ ├── sign-up.tsx
│ │ └── welcome.tsx
│ ├── index.tsx
│ ├── _layout.tsx
│ ├── +not-found.tsx
│ └── (root)
│ ├── book-ride.tsx
│ ├── confirm-ride.tsx
│ ├── find-ride.tsx
│ ├── _layout.tsx
│ └── (tabs)
│ ├── chat.tsx
│ ├── home.tsx
│ ├── _layout.tsx
│ ├── profile.tsx
│ └── rides.tsx
├── assets
│ ├── fonts
│ ├── icons
│ └── images
├── components
├── constants
├── lib
├── store
├── scripts
├── types
├── babel.config.js
├── package.json
├── .env
├── tailwind.config.js
└── tsconfig.json
```---
## 🚀 Getting Started
### Prerequisites
- [Node.js](https://nodejs.org/)
- [npm](https://www.npmjs.com/) (or [pnpm](https://pnpm.io/) / [yarn](https://yarnpkg.com/))
- [Git](https://git-scm.com/)
- [Expo CLI](https://expo.dev/)### Installation
1. Clone the repository:
```bash
git clone https://github.com/iamfitsum/ryde.git
```2. Navigate to the project directory:
```bash
cd ryde
```3. Install dependencies:
```bash
npm install
```4. Start the Expo development server:
```bash
expo start
```5. Run the app on your device or simulator:
- Press `a` for Android
- Press `i` for iOS---
## 🧩 Configuration
1. Create a `.env` file in the project root and add the following environment variables:
```env
EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=EXPO_PUBLIC_PLACES_API_KEY=
EXPO_PUBLIC_DIRECTIONS_API_KEY=DATABASE_URL=
EXPO_PUBLIC_SERVER_URL=https://ryde.com/
EXPO_PUBLIC_GEOAPIFY_API_KEY=
EXPO_PUBLIC_STRIPE_PUBLISHABLE_KEY=
STRIPE_SECRET_KEY=
```---
## 🙏 Acknowledgements
- [Adrian (JSMastery)](https://www.youtube.com/watch?v=kmy_YNhl0mw)
---
## 📜 License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.