An open API service indexing awesome lists of open source software.

https://github.com/davanesh/uber_clone

A fully functional Uber clone built with React Native for the mobile interface and Node.js for the backend. Features include user authentication, ride booking, real-time tracking, driver profiles, payment integration, and push notifications. Firebase is used for authentication and real-time database management.
https://github.com/davanesh/uber_clone

android-app chat-application cross-platform expressjs google-maps-api ios-app mapbox nodejs postgresql react-native socket-io

Last synced: about 1 year ago
JSON representation

A fully functional Uber clone built with React Native for the mobile interface and Node.js for the backend. Features include user authentication, ride booking, real-time tracking, driver profiles, payment integration, and push notifications. Firebase is used for authentication and real-time database management.

Awesome Lists containing this project

README

          

# Uber Clone

An Uber Clone mobile application built with React Native, featuring PostgreSQL for database management. The app includes features such as location access, money transfers, and secure authentication.

## Features

- **Real-time Location Access**: Track user and driver locations in real-time.
- **Payment Integration**: Secure money transfer functionality for rides.
- **Authentication**: User and driver authentication with secure login.
- **Database**: PostgreSQL for data storage and management.
- **Platform**: Built using React Native for cross-platform compatibility (iOS and Android).

## Tech Stack

### Frontend
- React Native
- React Navigation

### Backend
- Node.js
- Express.js
- PostgreSQL

### Additional Tools
- Firebase (for authentication)
- Google Maps API (for location services)
- Stripe/PayPal (for payment integration)

## Installation

1. **Clone the Repository**:
```bash
git clone https://github.com/your-username/uber-clone.git
cd uber-clone
```

2. **Install Dependencies**:
```bash
npm install
```

3. **Configure Environment Variables**:
- Create a `.env` file in the root directory.
- Add the following variables:
```env
DATABASE_URL=your_postgresql_database_url
FIREBASE_API_KEY=your_firebase_api_key
FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
GOOGLE_MAPS_API_KEY=your_google_maps_api_key
PAYMENT_GATEWAY_API_KEY=your_payment_gateway_api_key
```

4. **Run the Application**:
- Start the Metro Bundler:
```bash
npm start
```
- Run the app on a device or emulator:
```bash
npm run android # For Android
npm run ios # For iOS
```

## Database Setup

1. **Install PostgreSQL**:
Follow the [PostgreSQL installation guide](https://www.postgresql.org/download/).

2. **Create a Database**:
```sql
CREATE DATABASE uber_clone;
```

3. **Run Migrations**:
Use an ORM like Sequelize or Knex.js to handle database migrations.

## Folder Structure

```
uber-clone/
├── src/
│ ├── components/ # Reusable components
│ ├── navigation/ # Navigation setup
│ ├── screens/ # Screens for the app
│ ├── services/ # API and utility functions
│ ├── styles/ # Global styles
├── assets/ # Images, icons, etc.
├── .env # Environment variables
├── App.js # Entry point
├── package.json # Dependencies
├── README.md # Project documentation
```

## Contribution

Contributions are welcome! Follow these steps:

1. Fork the repository.
2. Create a new branch:
```bash
git checkout -b feature-name
```
3. Commit your changes:
```bash
git commit -m "Add a feature"
```
4. Push to the branch:
```bash
git push origin feature-name
```
5. Open a Pull Request.

## License

This project is licensed under the MIT License. See the LICENSE file for details.

## Contact

For queries or collaborations, contact:
- **Name**: Davanesh
- **GitHub**: [your-username](https://github.com/your-username)
- **Email**: your-email@example.com