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
A production-ready Flutter application for renting Bikes, Scooties, and Cars with clean architecture and modern UI.
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 dashboard with statistics
Vehicle management (Add/Edit/Delete)
Booking approval/rejection
Earnings tracking
Active bookings view
Dashboard statistics (read-only)
Reports view
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
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
Flutter SDK (3.0.0 or higher)
Android Studio / VS Code
Firebase account
Google Maps API key
Razorpay account
Clone the repository
git clone <repository-url>
cd rentifyInstall dependencies
flutter pub getConfigure Firebase
Create a Firebase project
Add Android/iOS apps
Download and add google-services.json (Android) and GoogleService-Info.plist (iOS)
Enable Phone Authentication
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
Update Android Manifest
Add your Google Maps API key in android/app/src/main/AndroidManifest.xml
Run the app
flutter runUpdate the base URL in lib/core/constants/app_constants.dart:
static const String baseUrl = 'http://your-api-url.com/api';Enable Phone Authentication in Firebase Console
Add SHA-1 and SHA-256 fingerprints for Android
Enable Maps SDK for Android/iOS
Enable Places API
Add API key to constants and manifest
Get API keys from Razorpay Dashboard
Update keys in constants file
flutter build apk --release
# or
flutter build appbundle --releaseflutter build ios --releaseSplash 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
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
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
Fork the repository
Create your feature branch
Commit your changes
Push to the branch
Create a Pull Request
This project is licensed under the MIT License.
For support, email support@rentify.com or create an issue in the repository.