Skip to content

A full-stack Uber Clone Application with Expo’s latest features and lightning-fast edge-ready Postgres database in React Native.

Notifications You must be signed in to change notification settings

arushsingh03/uber-clone

Repository files navigation


Ryde

Description

The Ryde or Uber-clone is a React Native-based mobile application that mimics the core functionalities of ride-hailing services like Uber. The project focuses on building a robust and user-friendly platform that allows users to book rides, view ride details, and make payments seamlessly. The application integrates multiple technologies and services such as Clerk for authentication, Google Maps APIs for location and routing, Stripe for payment processing, NeonDB for database management, and TailwindCSS for styling.

Features

User Authentication (Clerk):

  • Secure and scalable user authentication with Clerk.
  • Support for multiple authentication methods including email, password, and social logins (Google, Facebook, etc.).
  • Account management features such as profile updates, password resets, and two-factor authentication.

Location and Navigation (Google Maps APIs):

  • Real-time location tracking using Google Maps.
  • Display of available drivers and user location on the map.
  • Route suggestions, distance calculations, and estimated time of arrival (ETA).
  • Integration of location-based features like pickup and drop-off point selection.

Payment Processing (Stripe):

  • Seamless and secure payments with Stripe.
  • Support for multiple payment methods including credit/debit cards, digital wallets, etc.
  • Automated fare calculation based on distance and time.
  • Invoice generation and transaction history tracking.

Database Management (NeonDB):

  • Cloud-based database with NeonDB for managing user, driver, and ride data.
  • Real-time data synchronization and offline support.
  • Efficient data handling with support for complex queries and relationships.

Styling and UI (TailwindCSS):

  • Modern and responsive UI with TailwindCSS.
  • Predefined and custom styles for a consistent and visually appealing design.
  • Mobile-first approach to ensure smooth performance on all devices.

Screenshots

Landing Page


Sing-Up & Home Screen Page


Book Ride & Confirm Ride Page


Profile Page


Tech Used

React Native Postgres Expo TailwindCSS NPM JavaScript HTML5 TypeScript

Set up the project locally on your machine.:

Prerequisites

Make sure you have the following installed on your machine:

  • git
  • Node js

Clone the Respsitory:

git clone https://github.com/arushsingh03/uber-clone

Installation

Install the project dependencies using npm: npm install

API references

Syntax Description
CLERK_SECRET_KEY Clerk is used for auth and user management, get keys from here
PLACES_API_KEY This API provides data about geographical locations such as businesses, landmarks, and other points of interest
DIRECTION_API_KEY This API is particularly valuable for apps that involve location-based services, such as maps, navigation, logistics, and travel planning.
DATABASE_URL Connection url for any MySQL database, or use neon
GEOAPIFY_API_KEY The Geoapify API Key is used to access Geoapify's suite of geolocation and mapping APIs, which provide a variety of location-based services.
STRIPE_SECRET_KEY Stripe used to securely manage all server-side operations involving payments, transactions, and sensitive customer data.

Running Project

npx expo start

If everything goes well, the app will be running at:

Expo Go mobile app after configuring

About

A full-stack Uber Clone Application with Expo’s latest features and lightning-fast edge-ready Postgres database in React Native.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published