Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/trivedijeet/expo-uber-clone
A full-stack Uber clone built with React Native, showcasing real-time location tracking, seamless booking, and secure payments.
https://github.com/trivedijeet/expo-uber-clone
clerk expo nativewind neon postgresql react-native reactjs tailwindcss
Last synced: about 2 months ago
JSON representation
A full-stack Uber clone built with React Native, showcasing real-time location tracking, seamless booking, and secure payments.
- Host: GitHub
- URL: https://github.com/trivedijeet/expo-uber-clone
- Owner: TrivediJeet
- Created: 2024-08-29T15:47:48.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2024-09-06T23:20:17.000Z (4 months ago)
- Last Synced: 2024-10-12T05:41:21.045Z (3 months ago)
- Topics: clerk, expo, nativewind, neon, postgresql, react-native, reactjs, tailwindcss
- Language: TypeScript
- Homepage:
- Size: 2.79 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
1. [Introduction](#introduction)
2. [Tech Stack](#tech-stack)
3. [Features](#features)
4. [Quick Start](#quick-start)
6. [Links](#links)
7. [Assets](#assets)## Introduction
Built with React Native, Google Maps for rendering maps with directions, stripe for
handling payments, serverless Postgres for managing databases, and styled with TailwindCSS.## Tech Stack
- React Native
- Expo
- Stripe
- PostgreSQL
- Google Maps
- zustand
- Clerk
- Tailwind CSS## Features
- **Onboarding Flow**: Seamless user registration and setup process.
- **Email Password Authentication with Verification**: Secure login with email verification.
- **oAuth Using Google**: Easy login using Google credentials.
- **Authorization**: Secure access control for different user roles.
- **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.
- **Pay for Ride Using Stripe**: Make payments using multiple methods like cards and others.
- **Create Rides After Successful Payment**: Book a ride after confirming payment.
- **Profile**: Manage account details in the profile screen.
- **History**: Review all rides booked so far.
- **Responsive on Android and iOS**: Optimized for both Android and iOS devices.
and many more, including code architecture and reusability
## Quick Start
Follow these steps to set up the project locally on your machine.
**Prerequisites**
Make sure you have the following installed on your machine:
- [Git](https://git-scm.com/)
- [Node.js](https://nodejs.org/en)
- [npm](https://www.npmjs.com/) (Node Package Manager)**Cloning the Repository**
```bash
git clone https://github.com/TrivediJeet/expo-uber-clone.git
cd expo-uber-clone
```**Installation**
Install the project dependencies using npm:
```bash
npm install
```**Set Up Environment Variables**
Create a new file named `.env` in the root of your project and add the following content:
```env
EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=EXPO_PUBLIC_PLACES_API_KEY=
EXPO_PUBLIC_DIRECTIONS_API_KEY=DATABASE_URL=
EXPO_PUBLIC_SERVER_URL=https://expo-uber-clone.dev/
EXPO_PUBLIC_GEOAPIFY_API_KEY=
EXPO_PUBLIC_STRIPE_PUBLISHABLE_KEY=
STRIPE_SECRET_KEY=
```Replace the placeholder values with your actual Clerk, Stripe, NeonDB, Google Maps, andgeoapify credentials. You can
obtain these credentials by signing up on
the [Clerk](https://clerk.com/), [Stripe](https://stripe.com/in), [NeonDB](https://neon.tech/), [Google Maps](https://console.cloud.google.com/)
and [geoapify](https://www.geoapify.com/) websites respectively.**Running the Project**
```bash
npx expo start
```Download the [Expo Go](https://expo.dev/go) app and Scan the QR code on your respective device to view the project.
## Links
- Expo NativeWind Setup
- TypeScript Support for
NativeWind
- Eslint and Prettier Setup
- Serverless NeonDB
- Clerk Auth
- Clerk Expo Quickstart
- Clerk Expo OAuth
- Geoapify Map
-
Stripe React Native SDK
- Stripe## Assets
Assets used in the project can be
found [here](https://drive.google.com/file/d/1ekttG-aCyy4g0SKqLSrEn_uHf2MJMRJ4/view?usp=sharing)