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.
- 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.
- 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.
- 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.
- 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.
- 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.
Make sure you have the following installed on your machine:
- git
- Node js
git clone https://github.com/arushsingh03/uber-clone
Install the project dependencies using npm:
npm install
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. |
npx expo start
Expo Go mobile app after configuring