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.
- Host: GitHub
- URL: https://github.com/davanesh/uber_clone
- Owner: Davanesh
- Created: 2025-01-12T16:11:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-12T16:18:39.000Z (over 1 year ago)
- Last Synced: 2025-02-02T18:56:53.121Z (over 1 year ago)
- Topics: android-app, chat-application, cross-platform, expressjs, google-maps-api, ios-app, mapbox, nodejs, postgresql, react-native, socket-io
- Language: TypeScript
- Homepage:
- Size: 267 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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