π Table of Contents
- π€ Introduction
- βοΈ Tech Stack
- π Features
- π€Έ Quick Start
- ποΈ Links
- π More
Built with React Native for handling the user interface, Google Maps for rendering maps with directions, stripe for handling payments, serverless Postgres for managing databases, and styled with TailwindCSS, Uber Clone is a perfect mobile app. The primary goal is to demonstrate how to develop full-stack mobile applications to showcase the developer's skills in a unique manner that creates a lasting impact.
- React Native (with Expo)
- PostgreSQL (via NeonDB)
- Stripe β Secure payments
- Google Maps & Places API β Location & Directions
- Geoapify β Map rendering
- Clerk β Authentication (Email/Google)
- Zustand β Lightweight state management
- Tailwind CSS β UI styling with NativeWind
The entire interface of Rdye was meticulously crafted using Figma, focusing on a smooth and intuitive ride-booking experience. Every screenβfrom onboarding to paymentβfollows a clean, modern, and user-friendly design system.
β¨ Built with attention to detail for a seamless user journey on both Android and iOS platforms.
π 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
Follow these steps to set up the project locally on your machine.
Prerequisites
Make sure you have the following installed on your machine:
Cloning the Repository
git clone https://github.com/Itssanthoshhere/Ryde.git
cd RydeInstallation
Install the project dependencies using npm:
npm installSet Up Environment Variables
Create a new file named .env in the root of your project and add the following content:
EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=
EXPO_PUBLIC_PLACES_API_KEY=
EXPO_PUBLIC_DIRECTIONS_API_KEY=
DATABASE_URL=
EXPO_PUBLIC_SERVER_URL=https://uber.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, Stripe, NeonDB, Google Maps and geoapify websites respectively.
Running the Project
npx expo startDownload the Expo Go app and Scan the QR code on your respective device to view the project.
You can find important links mentioned in the YouTube video below:
- Expo NativeWind Setup
- TypeScript Support for NativeWind
- Eslint and Prettier Setup
- Download FREE WebStorm
- Serverless NeonDB
- Clerk Auth
- Database Mastery Course
- Clerk Expo Quickstart
- Clerk Expo OAuth
- Geoapify Map
- Stripe React Native SDK
- Stripe
This app was originally inspired by JavaScript Mastery's Uber Clone, but built and customized independently with additional improvements, UI changes, and debugging**.
Feel free to connect with me:
- GitHub: Itssanthoshhere
- LinkedIn: Santhosh VS
If you liked this project, drop a β on the repo and share it with others!