RentalWheels is an Android application that revolutionizes the car rental experience. Built with Kotlin and leveraging Firebase, this app allows users to easily browse, book, and manage car rentals from their mobile devices.
- User authentication and profile management
- Interactive map view of available cars
- Detailed car listings with high-quality images
- Seamless booking process
- In-app messaging between renters and car owners
- Review and rating system
- Push notifications for booking updates
- Kotlin
- Android Jetpack components
- Google Maps API
- Firebase (Authentication, Realtime Database, Cloud Messaging)
- MVVM Architecture
- Coroutines for asynchronous operations
- Material Design 3 components
- Android Studio Arctic Fox or later
- JDK 11 or later
- Android SDK with minimum API level 21
- Clone the repository:
git clone https://github.com/muchaisam/RentalWheels.git
- Open the project in Android Studio.
- Sync the project with Gradle files.
- Set up a Firebase project and add the
google-services.json
file to the app directory. - Build and run the app on an emulator or physical device.
HomeFragment
: Displays the map view and available carsBrowseFragment
: Lists all available cars for rentalBookingsFragment
: Shows user's current and past bookingsProfileFragment
: User profile management and settings
The project includes both unit tests and instrumentation tests:
- Unit tests for ViewModels and Repositories
- UI tests using Espresso
- Integration tests for Firebase interactions
Run tests using Android Studio or via Gradle:
./gradlew test ./gradlew connectedAndroidTest
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE.md file for details.
Muchai - @smuchai10
Project Link: https://github.com/muchaisam/RentalWheels