• Install dependencies

  • flutter pub get
    1. Configure Firebase

    1. Configure API Keys

    1. Update Android Manifest

    1. Run the app

    flutter run

    Configuration

    Backend API

    Update the base URL in lib/core/constants/app_constants.dart:

    static const String baseUrl = 'http://your-api-url.com/api';

    Firebase

    1. Enable Phone Authentication in Firebase Console

    2. Add SHA-1 and SHA-256 fingerprints for Android

    Google Maps

    1. Enable Maps SDK for Android/iOS

    2. Enable Places API

    3. Add API key to constants and manifest

    Razorpay

    1. Get API keys from Razorpay Dashboard

    2. Update keys in constants file

    Building for Production

    Android

    flutter build apk --release
    # or
    flutter build appbundle --release

    iOS

    flutter build ios --release

    Features Implementation Status

    API Endpoints (Expected)

    POST   /api/auth/send-otp
    POST   /api/auth/verify-otp
    GET    /api/vehicles
    GET    /api/vehicles/:id
    POST   /api/bookings
    GET    /api/bookings/user/:userId
    POST   /api/dealer/vehicles
    PUT    /api/dealer/vehicles/:id
    DELETE /api/dealer/vehicles/:id
    GET    /api/dealer/bookings
    PUT    /api/dealer/bookings/:id/status
    

    Design Guidelines

    Contributing

    1. Fork the repository

    2. Create your feature branch

    3. Commit your changes

    4. Push to the branch

    5. Create a Pull Request

    License

    This project is licensed under the MIT License.

    Support

    For support, email support@rentify.com or create an issue in the repository.

    " />
  • Install dependencies

  • flutter pub get
    1. Configure Firebase

    1. Configure API Keys

    1. Update Android Manifest

    1. Run the app

    flutter run

    Configuration

    Backend API

    Update the base URL in lib/core/constants/app_constants.dart:

    static const String baseUrl = 'http://your-api-url.com/api';

    Firebase

    1. Enable Phone Authentication in Firebase Console

    2. Add SHA-1 and SHA-256 fingerprints for Android

    Google Maps

    1. Enable Maps SDK for Android/iOS

    2. Enable Places API

    3. Add API key to constants and manifest

    Razorpay

    1. Get API keys from Razorpay Dashboard

    2. Update keys in constants file

    Building for Production

    Android

    flutter build apk --release
    # or
    flutter build appbundle --release

    iOS

    flutter build ios --release

    Features Implementation Status

    API Endpoints (Expected)

    POST   /api/auth/send-otp
    POST   /api/auth/verify-otp
    GET    /api/vehicles
    GET    /api/vehicles/:id
    POST   /api/bookings
    GET    /api/bookings/user/:userId
    POST   /api/dealer/vehicles
    PUT    /api/dealer/vehicles/:id
    DELETE /api/dealer/vehicles/:id
    GET    /api/dealer/bookings
    PUT    /api/dealer/bookings/:id/status
    

    Design Guidelines

    Contributing

    1. Fork the repository

    2. Create your feature branch

    3. Commit your changes

    4. Push to the branch

    5. Create a Pull Request

    License

    This project is licensed under the MIT License.

    Support

    For support, email support@rentify.com or create an issue in the repository.

    " />
  • Install dependencies

  • flutter pub get
    1. Configure Firebase

    1. Configure API Keys

    1. Update Android Manifest

    1. Run the app

    flutter run

    Configuration

    Backend API

    Update the base URL in lib/core/constants/app_constants.dart:

    static const String baseUrl = 'http://your-api-url.com/api';

    Firebase

    1. Enable Phone Authentication in Firebase Console

    2. Add SHA-1 and SHA-256 fingerprints for Android

    Google Maps

    1. Enable Maps SDK for Android/iOS

    2. Enable Places API

    3. Add API key to constants and manifest

    Razorpay

    1. Get API keys from Razorpay Dashboard

    2. Update keys in constants file

    Building for Production

    Android

    flutter build apk --release
    # or
    flutter build appbundle --release

    iOS

    flutter build ios --release

    Features Implementation Status

    API Endpoints (Expected)

    POST   /api/auth/send-otp
    POST   /api/auth/verify-otp
    GET    /api/vehicles
    GET    /api/vehicles/:id
    POST   /api/bookings
    GET    /api/bookings/user/:userId
    POST   /api/dealer/vehicles
    PUT    /api/dealer/vehicles/:id
    DELETE /api/dealer/vehicles/:id
    GET    /api/dealer/bookings
    PUT    /api/dealer/bookings/:id/status
    

    Design Guidelines

    Contributing

    1. Fork the repository

    2. Create your feature branch

    3. Commit your changes

    4. Push to the branch

    5. Create a Pull Request

    License

    This project is licensed under the MIT License.

    Support

    For support, email support@rentify.com or create an issue in the repository.

    " /> Rentify Skip to Main Content

    Rentify

    Rentify - Vehicle Rental Application A production-ready Flutter application for renting Bikes, Scooties, and Cars with clean architecture and modern UI. Features User Features Phone authentication with OTP (Firebase) Location-based vehicle search Browse vehicles by category (Bike/Scooty/Car) Vehicle details with images and specifications Date and time-based booking Driving license upload Payment integration (Razorpay) Booking management User profile

    Description

    Rentify - Vehicle Rental Application

    A production-ready Flutter application for renting Bikes, Scooties, and Cars with clean architecture and modern UI.

    Features

    User Features

    • Phone authentication with OTP (Firebase)

    • Location-based vehicle search

    • Browse vehicles by category (Bike/Scooty/Car)

    • Vehicle details with images and specifications

    • Date and time-based booking

    • Driving license upload

    • Payment integration (Razorpay)

    • Booking management

    • User profile

    Dealer Features

    • Dealer dashboard with statistics

    • Vehicle management (Add/Edit/Delete)

    • Booking approval/rejection

    • Earnings tracking

    • Active bookings view

    Admin Features

    • Dashboard statistics (read-only)

    • Reports view

    Tech Stack

    • Framework: Flutter (latest stable)

    • State Management: Riverpod

    • Navigation: GoRouter

    • Backend: Node.js + MongoDB (REST APIs)

    • Authentication: Firebase Phone Auth

    • Maps: Google Maps

    • Payments: Razorpay

    • Image Upload: Cloudinary

    Project Structure

    lib/
    ├── core/
    │   ├── constants/      # App constants
    │   ├── theme/          # App theme and colors
    │   ├── utils/          # Utility functions
    │   └── services/       # Core services (API, Storage, Location)
    ├── features/
    │   ├── auth/           # Authentication screens
    │   ├── home/           # Home screen
    │   ├── vehicles/       # Vehicle listing and details
    │   ├── booking/        # Booking flow
    │   ├── payments/       # Payment integration
    │   ├── profile/        # User profile
    │   └── dealer/         # Dealer module
    ├── shared/
    │   ├── widgets/        # Reusable widgets
    │   └── models/         # Data models
    ├── routes/             # App routing
    └── main.dart           # App entry point
    

    Setup Instructions

    Prerequisites

    • Flutter SDK (3.0.0 or higher)

    • Android Studio / VS Code

    • Firebase account

    • Google Maps API key

    • Razorpay account

    Installation

    1. Clone the repository

    git clone <repository-url>
    cd rentify
    1. Install dependencies

    flutter pub get
    1. Configure Firebase

    • Create a Firebase project

    • Add Android/iOS apps

    • Download and add google-services.json (Android) and GoogleService-Info.plist (iOS)

    • Enable Phone Authentication

    1. Configure API Keys

    • Update lib/core/constants/app_constants.dart with your API keys:

      • Google Maps API Key

      • Razorpay Keys

      • Cloudinary credentials

      • Backend API URL

    1. Update Android Manifest

    • Add your Google Maps API key in android/app/src/main/AndroidManifest.xml

    1. Run the app

    flutter run

    Configuration

    Backend API

    Update the base URL in lib/core/constants/app_constants.dart:

    static const String baseUrl = 'http://your-api-url.com/api';

    Firebase

    1. Enable Phone Authentication in Firebase Console

    2. Add SHA-1 and SHA-256 fingerprints for Android

    Google Maps

    1. Enable Maps SDK for Android/iOS

    2. Enable Places API

    3. Add API key to constants and manifest

    Razorpay

    1. Get API keys from Razorpay Dashboard

    2. Update keys in constants file

    Building for Production

    Android

    flutter build apk --release
    # or
    flutter build appbundle --release

    iOS

    flutter build ios --release

    Features Implementation Status

    • Splash Screen

    • Phone Login with OTP

    • Home Screen with Categories

    • Vehicle Listing with Filters

    • Vehicle Details

    • Booking Flow

    • Booking Confirmation

    • My Bookings

    • User Profile

    • Dealer Dashboard

    • Dealer Vehicle Management

    • Payment Integration (Mock)

    • Driving License Upload

    • Google Maps Integration

    • Real-time Location Tracking

    • Push Notifications

    API Endpoints (Expected)

    POST   /api/auth/send-otp
    POST   /api/auth/verify-otp
    GET    /api/vehicles
    GET    /api/vehicles/:id
    POST   /api/bookings
    GET    /api/bookings/user/:userId
    POST   /api/dealer/vehicles
    PUT    /api/dealer/vehicles/:id
    DELETE /api/dealer/vehicles/:id
    GET    /api/dealer/bookings
    PUT    /api/dealer/bookings/:id/status
    

    Design Guidelines

    • Material 3 Design

    • Primary Color: Blue (#2196F3)

    • Secondary Color: Green (#4CAF50)

    • Font: Poppins

    • Rounded corners (12-16px)

    • Consistent spacing (8, 12, 16, 24px)

    • Proper loading and error states

    Contributing

    1. Fork the repository

    2. Create your feature branch

    3. Commit your changes

    4. Push to the branch

    5. Create a Pull Request

    License

    This project is licensed under the MIT License.

    Support

    For support, email support@rentify.com or create an issue in the repository.

    Issues & PRs Board
    No issues or pull requests added.