https://github.com/tdr8012/car_rental_management_application
This Car Rental Management App is designed to efficiently manage a few aspects of car rental services, from car inventory management to booking tracking, payment processing, and report generation. The app optimizes rental workflows and provides real-time insights for better decision-making.
https://github.com/tdr8012/car_rental_management_application
android-application car-rental-management-system java xml
Last synced: 3 months ago
JSON representation
This Car Rental Management App is designed to efficiently manage a few aspects of car rental services, from car inventory management to booking tracking, payment processing, and report generation. The app optimizes rental workflows and provides real-time insights for better decision-making.
- Host: GitHub
- URL: https://github.com/tdr8012/car_rental_management_application
- Owner: tdr8012
- Created: 2025-01-06T01:43:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-06T02:48:49.000Z (over 1 year ago)
- Last Synced: 2025-03-04T16:16:48.517Z (over 1 year ago)
- Topics: android-application, car-rental-management-system, java, xml
- Language: Java
- Homepage:
- Size: 23.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## **Key Features**
### **๐ Customerโs Side**
#### **๐ User Authentication**
- **Login:** Securely access your account using Google Email or Email and password-based authentication (Firebase SDK Authentication).
- **Register:** Create a new account using Password-Based Account (Firebase SDK Authentication).
#### **๐ Car Search and View Available Cars**
- **Search Cars:** Easily find the perfect car based on your search for a car name and other available details.
- **Browse Information:** Explore detailed information about cars, including:
- Brand
- Model
- Pricing
- Availability
- Location
- Seats
- Car description
#### Car Rental Process
- **Rent a Car:** Select your desired car for rental.
- **Set Dates:** Choose valid start and end dates for your rental period.
#### **๐ณ Payment Options**
- **Flexible Payment Methods:** Select your preferred payment option (e.g., card, Klarna).
- **Make Payments:** Complete your transaction and see the total fee.
- **Payment Information Format:**
- Choose the Visa card and enter a valid Card Number, e.g., `4242 4242 4242 4242`.
- Enter the month and year in the future.
- Enter the card CVC (three numbers).
- Enter the Zip Code in the Canadian format (e.g., `H7Y8U9`).
- Click on the "Pay" button.
#### **๐ Post-Rental Management**
- **View Contracts:** Navigate to your rental contract(s) anytime after booking.
#### **๐ค Account Management**
- **Account Details:** View your personal information, including name, Gmail, date of account creation, and set your avatar.
- **Logout:** Securely exit your account.
### Adminโs Side
#### **๐ User Authentication**
- **Login:** Securely access your account using Google Email or Email and password-based authentication (Firebase SDK Authentication).
#### Car Management
- **Add New Cars:**
- Enter details such as car model, brand, seating capacity, location, price, and upload photos (optional).
- **View All Cars:**
- Browse the complete list of cars available in the system.
- **Edit Car Details:**
- Update information like pricing, brand, model, availability, location, image, or carโs description.
#### **๐ Contract Oversight**
- **View Customerโs Contracts:**
- Access and edit the status of rental contracts associated with user bookings (e.g., completed, canceled, active).
#### **๐ Account Management**
- **Account Control Functions:**
- View all users and block a user.
- **Logout:** Securely exit your account.
---
## **Technologies Used**
### Frontend
- **Android Studio Koala (2024.1.1 Patch 2):** IDE used for developing the Android App.
- **XML 1.0:** For designing the user interface (UI) components.
- **Java 8:** Processes the business logic and user interactions.
- **Gradle:** Build automation tool for managing dependencies.
### **๐ง Backend**
- **Authentication:** Integrating email/password-based Firebase SDK authentication and Google Sign-in for secure login.
- **Secure Session Management:** Firebase automatically manages session states, enabling customers to stay logged in across sessions without compromising security.
- **Firebase Storage:** Securely stores and manages high-resolution images of cars for efficient retrieval and scalability.
### **๐ APIs**
- **Google Login API:** Establishes user sign-in and account management.
- **Stripe API:** Secure online payment processing.
- **Google Location API:** Provides valid and dynamic location services, including the carโs pickup location.
- **Google Calendar API:** Integrates booking schedules and reminders into customers' Gmail calendars.
### **๐ ๏ธ Platforms**
- **Firebase Console:** For monitoring app performance, usage analytics, and push notifications.
- **GitHub:** Allows version control and updates, and collaboration.
### **๐ Testing**
- **Emulators:** Used Pixel 5 API 30 for app testing.
---
## **How to Use This Repository**
1. Clone the repository to your local machine using `git clone`.
2. Open the project in Android Studio Koala (2024.1.1 Patch 2).
3. Set up Firebase credentials and Stripe API keys in the respective files.
4. Run the app on an emulator or a connected device for testing.
---
## Final Note
๐ **Please check further info inside the Car Rental App.pdf** โ
**Enjoy using the Car Rental Management App and elevate your car rental experience!**