Car Sharing App
Travel & Transportation
Front-end, Back-end, QA
A web app that is designed to provide potential passengers with cheap rides. There is a possibility to check available rides in particular area and to book a suitable one.
Register a user with relevant info (basically the same flow as for drivers). Edit profile, extend it with some more additional info which could be useful for passengers (a profile picture, about info etc.)
Set up preferences (which notifications to receive and which not, set up preferable date and time format, currency etc).
Review the list of passed and upcoming rides. Get and review notifications about changes in upcoming rides, messages from other users, ride alerts etc. Review his expenses for particular rides.
Find a Ride
- - Passengers are able find rides according to the parameters defined in the search filters;
- - They are able to indicate From and To points;
- - Set up a radius from city center where the rides has to be found.
- - Review the list of results;
- - Sort and filter the results;
- - Review details of each ride and decide if the ride is acceptable for the particular passenger;
- - Write to a driver a message to get more details about the ride.
Create a Ride Alert
If there are no rides which fit to search parameters passenger can create a ride alert where he would indicate a required destination. When such ride appears in the database passenger will get a notification.
Book a Ride
The networking section, basically, includes two main features: ability to connect (follow) the other users and messaging.
To find a connections we are using the search engine that includes several filters (Name, Industry, profile type and location).
Messaging feature is provided by Pusher integration, but it’s planned to have custom made solution later.
Register a user with relevant info (basically the same flow as for drivers). Edit profile, extend it with some more additional info which could be useful for drivers ( а profile picture, about info etc.)
Add a Car for Rides
Driver can add several cars (details of the car) which could be useful for passengers. Save drafts of rides preferences.
Create a Ride
- - Set up destination (From To) either through autocomplete or right on the map (MapBox is set up as map provider);
- - Add a car from available cars in profile;
- - Set up preferences of the ride (no smoking, no drinks, no kids, conversation are allowed and so on);
- - Set up a price;
- - Set up number of available seats;
- - Edit the ride (until there are no booked seats);
- - Communicate with passengers who booked a particular ride via messenger (pusher is integrated);
- - Get money for the ride;
- - Driver can review his balance and request a payout.
Admin Dashboard and it's Preferences
- - Review the list of all the users;
- - Delete the users;
- - Edit the users;
- - Ban the users;
- - Filter the users;
- - Sort the users;
- - Review the list of all the rides within the app;
- - Filter the rides;
- - Delete the rides;
- - Review the list of all transactions;
- - Review the list of requested payouts and mark them as paid or cancelled;
- - Export the list into .csv;
- - Manage translations with multi-language feature.
#1. Payment failure
It was happening due to insufficient funds on user's Credit Card or network issues for transactions.
Using NETS gateway allowed to charge users card before the ride and put the money into escrow and helped to provide transparent remuneration for a ride.
#2. Permanent orders
Passenger was creating an order and it was staying in system permanently.
Now passenger can mention a period he can await for available car and also there is option in admin panel to delete rides that have been booked and not processed for a certain period of time.
#3. Double booking
The passengers were able to book the same last seat on a car.
When customer is choosing a car it becomes unavailable for a certain period of a time and other users cannot book a seat simultaneously.
2 back-end developers
2 front-end developers
1 QA engineer
1 project manager
PHP, Laravel, Docker, MySQL, Redis.
Client-side & Tools
Vue.js, GitLab, Pusher, Mapbox.
Do You Have an Idea?