Car Sharing App

Product

Web Application

Industry

Travel & Transportation

Our Participation

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.

picture

Registration

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.
picture

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.

picture
picture

Registration User

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.
picture

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.
picture

Challenges

Challenge #1

#1. Payment failure

It was happening due to insufficient funds on user's Credit Card or network issues for transactions.

Solution

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.

Challenge #2

#2. Permanent orders

Passenger was creating an order and it was staying in system permanently.

Solution

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.

Challenge #3

#3. Double booking

The passengers were able to book the same last seat on a car.

Solution

When customer is choosing a car it becomes unavailable for a certain period of a time and other users cannot book a seat simultaneously.

Timeline

6 months

Our participation

2 back-end developers

2 front-end developers

1 QA engineer

1 project manager

Used Technologies

Server-side

PHP, Laravel, Docker, MySQL, Redis.

Client-side & Tools

Vue.js, GitLab, Pusher, Mapbox.

Do You
Have an Idea?

Do you have any questions?

Upload your CV

We are located in Zaporizhzhia, Ukraine. Also you can contact us via phone or via Skype.