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
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
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) andGoogleService-Info.plist(iOS)Enable Phone Authentication
Configure API Keys
Update
lib/core/constants/app_constants.dartwith 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 runConfiguration
Backend API
Update the base URL in lib/core/constants/app_constants.dart:
static const String baseUrl = 'http://your-api-url.com/api';Firebase
Enable Phone Authentication in Firebase Console
Add SHA-1 and SHA-256 fingerprints for Android
Google Maps
Enable Maps SDK for Android/iOS
Enable Places API
Add API key to constants and manifest
Razorpay
Get API keys from Razorpay Dashboard
Update keys in constants file
Building for Production
Android
flutter build apk --release
# or
flutter build appbundle --releaseiOS
flutter build ios --releaseFeatures 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
Fork the repository
Create your feature branch
Commit your changes
Push to the branch
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.