Â
The project aims to develop a comprehensive and user-friendly taxi passenger app that provides a seamless experience for passengers throughout their ride journey. The app includes the following features and functionalities:
Sign up: Passengers can create a profile by providing their phone numbers.
Login: Previously registered users can log in to the app using their phone number and password.
Forgot Password: Passengers can recover their password by using the "Forgot Password" option.
Manage Profile: Passengers can update their full name, email, password, picture, and credit/debit card information. However, the phone number cannot be updated.
The app includes the following functionalities for trip management:
Trip History: Passengers can view the history of their previous completed or canceled rides, including details such as pickup/drop-off locations, pickup/drop-off time, fare, and more.
Select Pickup and Drop-off Locations: Passengers can pinpoint pickup and drop-off locations on a map, choose from Google Places, select from recent places or saved locations.
Proximity Search feature: Passengers can see the number of drivers in the nearby area and identify which drivers are available for rides on the map.
For requesting and managing rides, the app provides the following features:
Hire Driver: Passengers can choose the type of vehicle they want to ride in from available options and hire a driver who drives that vehicle type.
Contact the Driver: Passengers can directly contact the driver via phone call or text message. Until passengers contact the drivers, the drivers will not see their contact details.
Send Request to Nearby Driver: Once the passenger selects the pickup point, service type, and hits the "Confirm" button, the request is sent to the nearest driver.
During the ride, the app offers the following functionalities:
Ride Acceptance Scenario: After the ride request is accepted by a driver, the passenger can track the driver in real-time on the map, view driver details, call the driver, or cancel the ride.
Status Updates: Passengers receive status updates from the driver, including information such as "On His Way," "Driver Has Arrived," "Driver Started the Ride," and "Driver Finished the Ride."
Cancellation Scenarios: Passengers can cancel the ride after requesting it, but they cannot cancel it once the trip has started. Charges may apply for cancellations made within a specific time limit.
After the ride, the app provides the following features:
E-Receipt: Passengers receive an electronic receipt that includes pickup and drop-off addresses, driver picture, name, trip ID, amount, star rating, and an additional text feedback option.
Rate the Driver and Post Review: Passengers can express their ride experiences by posting reviews on the driver's profile and rating the driver out of five stars.
Promo and Referral Codes: Passengers can avail discounts through promo codes and share their referral codes with contacts. Both the referrer and the person using the referral code can receive discounts.
For payment and additional functionalities, the app includes:
Payment Methods: Passengers can pay using cash, credit card, or wallet. If the passenger has a balance in their wallet, the fare amount will be deducted from it; otherwise, they can pay using other methods.
Fare Calculation: The app instantly displays the calculated fare for each ride based on the admin-defined formula.
Side Menu: The passenger can access their picture, name, star rating, and edit profile option in the side menu. The sliding menu includes options such as booking a ride, trip history, wallet, customer support, and logout.
The driver app expands on the features and functionalities specifically designed for drivers. Here is an overview of the driver app features:
Sign up: Drivers can register on the platform by filling out a form with their complete details.
Login: Registered drivers can log in to the app using their phone number and password.
Forgot Password: Drivers have the option to reset their passwords by receiving temporary ones via SMS.
Profile: Drivers can view their profile to see their personal information, address, rating, and other relevant details.
The driver app focuses on the following functionalities:
Online/Offline Status: Drivers can switch their status between online and offline. When already on a trip, their status is automatically set to busy.
Ride History: Drivers can review the complete details and history of previous completed and canceled rides.
View Details: When a ride request is received, drivers can view the details of the requested ride.
Nearby Drivers: Drivers can search for nearby drivers within a specified distance radius.
The app includes the following features for managing rides:
Ride Statuses: Drivers can update the status of a ride to "Accepted," "Arrived," "Start Trip," and "End Trip" as required.
Phone Call to Passenger: Drivers have the option to directly call the passenger's phone number after starting the trip.
Pickup and Drop-off Routes: Drivers can view the routes to the passenger's pickup location and the subsequent drop-off location.
End of Ride: Drivers can end rides at any point requested by the passengers.
Additional features of the driver app include:
Rating the Passenger: After completing a ride, drivers can view the invoice screen, where they can rate the passenger.
Driver Wallet: Drivers can track the amount they have in their wallet that needs to be paid to the admin.
Side Menu: The sliding menu provides access to various options such as the home screen, trip history, wallet, nearby drivers, and the ability to log out.
Ride-Hailing : Based on the information provided, it seems like you will be working on developing the Android applications for both passengers and drivers, maintaining app quality, and adding new features. The technologies you mentioned for the Ride-Hailing project are as follows:
1. Android Studio and Java: Android Studio is the primary development environment for Android applications, and Java is a widely-used programming language for Android development.
2. Web Socket IO: Web Socket IO facilitates real-time bidirectional communication between the client (app) and the server. It can be used to implement real-time features such as chat or tracking updates.
3. AWS Services: Amazon Web Services (AWS) provides cloud computing services that can be leveraged in the project. This could include services like AWS Lambda, Amazon S3, or Amazon EC2, depending on the specific requirements.
4. Cloud Computing: Cloud computing allows for scalability, flexibility, and access to resources over the internet. It can be utilized for hosting the backend infrastructure, managing data, or handling server-side operations.
5. Social Media Integrations: Integrating with social media platforms enhances the user experience and allows for functionalities such as social login, sharing, or inviting friends. Integration with platforms like Facebook, Twitter, or Instagram can be beneficial.
6. Firebase: Firebase is a comprehensive development platform that provides various services, including authentication, real-time databases, cloud messaging, and hosting. It can be used for user authentication, data storage, push notifications, and more.
7. Notification: Implementing push notifications allows for sending important updates or alerts to users, even when the app is not actively in use. Services like Firebase Cloud Messaging or Twilio can be utilized for push notification functionality.
8. Twilio: Twilio is a cloud communication platform that offers APIs for programmable voice, video, and messaging services. It can be used for features such as VOIP calls or SMS verification.
9. Jira: Jira is a popular project management and issue tracking tool. It helps with task organization, progress tracking, and collaboration among team members.
As the senior Android developer, you will utilize these technologies to develop the Ride-Hailing app, implement new features, integrate a payment gateway, and enhance user engagement. Regular testing, code reviews, and collaboration with the team will ensure the successful development and maintenance of the app.
There are message and VOIP call options available for both passengers and drivers. Here's the updated information:
Passenger App:
1. Messaging: Passengers can communicate with drivers through an in-app messaging feature. This allows them to send text-based messages for inquiries, updates, or any other communication related to the ride.
2. VOIP Calls: Passengers can make voice calls to drivers through a VOIP (Voice over Internet Protocol) feature within the app. This enables direct communication between passengers and drivers without relying on traditional phone calls.
Driver App:
1. Messaging: Drivers have access to an in-app messaging feature that allows them to communicate with passengers. They can send and receive text messages for ride-related communication, such as pickup instructions or an estimated arrival time.
2. VOIP Calls: Drivers can receive voice calls from passengers through the app's VOIP functionality. This allows direct voice communication with passengers for any necessary discussions or clarifications.
Android Studio, Kotlin, Web Socket IO, AWS services, Cloud Computing, Social Media integrations, Firebase, Notification, Twilio, and Jira.
I will be working on developing the Android applications for both passengers and drivers, maintaining app quality, and adding new features. The technologies you mentioned for the Ride-Hailing project are as follows:
1. Android Studio and Java: Android Studio is the primary development environment for Android applications, and Java is a widely-used programming language for Android development.
2. Web Socket IO: Web Socket IO facilitates real-time bidirectional communication between the client (app) and the server. It can be used to implement real-time features such as chat or tracking updates.
3. AWS Services: Amazon Web Services (AWS) provides cloud computing services that can be leveraged in the project. This could include services like AWS Lambda, Amazon S3, or Amazon EC2, depending on the specific requirements.
4. Cloud Computing: Cloud computing allows for scalability, flexibility, and access to resources over the internet. It can be utilized for hosting the backend infrastructure, managing data, or handling server-side operations.
5. Social Media Integrations: Integrating with social media platforms enhances user experience and allows for functionalities such as social login, sharing, or inviting friends. Integration with platforms like Facebook, Twitter, or Instagram can be beneficial.
6. Firebase: Firebase is a comprehensive development platform that provides various services, including authentication, real-time databases, cloud messaging, and hosting. It can be used for user authentication, data storage, push notifications, and more.
7. Notification: Implementing push notifications allows for sending important updates or alerts to users, even when the app is not actively in use. Services like Firebase Cloud Messaging or Twilio can be utilized for push notification functionality.
8. Twilio: Twilio is a cloud communication platform that offers APIs for programmable voice, video, and messaging services. It can be used for features such as VOIP calls or SMS verification.
9. Jira: Jira is a popular project management and issue tracking tool. It helps with task organization, progress tracking, and collaboration among team members.
As the senior Android developer, you will utilize these technologies to develop the Ride-Hailing Alianza app, implement new features, integrate a payment gateway, and enhance user engagement. Regular testing, code reviews, and collaboration with the team will ensure the successful development and maintenance of the app.