Ecommerce Website for Bike Rentals

Technologies Involved

Javascript, Java, Payment Gateway, jQuery, Google Maps, HTML5 / CSS3 (Responsive), Kentico, Rest API, 3rd Party API Integration, Servlets, Angular 7, Spring Boot, postgreSQL, Web API, Hibernate, Stripe

Project Description

The main functionality developed by Technousa consisted of below:

  1. Migrating the earlier developed code and database to the current chosen.
  2. Home page was the main starting point for the riders to find the bikes of their chose by specifying the pickup and drop off location and the dates for which the bike was to be rented out. After entering the ride details the rider would be shown a list of bikes to choose from.
  3. The home page also had a section related to trips which were fetched from the already existing Kentico cloud database.
  4. The Bikes listing page had further filters to enable the rider to find bikes of their preferred make, model, type, price range, etc. 
  5. On the Bikes listing page, the users was presented with a snapshot of the bike details along with the price. On clicking a particular row of bike record, further details would be shown to the user.
  6. The Details link against each bike row, would allow the user to view complete specifications of the bike and terms and conditions of the bike rental.
  7. User would be able to add single or multiple bikes to his cart using an “Add to Cart” button.
  8. The cart screen would display all the bikes added by the user along with the booking dates and also allow the user to add any extras for the bikes added to the cart.
  9. The cart screen also presented the user with the details like total rent per bike, the deposit amount (15% of more of the total rent) that the user would have to pay of the total bike rental at the time of checkout as well as any taxes, etc
  10. From the cart screen the user would be taken to the payment step where he would be entering the credit card details to make the payment. The payment was implemented using Stripe.
  11. For payment screen, the user should be logged in. So for this purpose the sign-up and sign-in functionality would also have to be in place.
  12. On successful payment, the deposit amount would be sent to the admin account. The 15% of the deposit would be kept with admin and the remaining would be sent to vendor account using Stripe split payment.
  13. Once the payment was successful, the booking details would be sent to vendor so that he could either approve or cancel the booking.
  14. Once approved, the rider would be notified of the same. The rider can view his bookings under the dashboard and communicate with the vendor regarding his / her queries.
  15. Under his/her dashboard, rider can also cancel a booking as per the terms as well as check the status of the current bookings and also communicate with the vendor using the messaging system.
  16. Once the rider has picked the bike and then dropped it off, the trip is considered as complete and the vendor can then mark it as complete from the vendor panel.
  17. The vendor panel would have facilities for managing the following:
    • Add / Edit / Delete Locations
    • Add / Edit / Delete Bikes
    • Manage Bookings
    • Vendor Settings
  18. Under “Manage Bookings” vendor would be able to approve or cancel a booking as well mark a trip as complete. The vendor can also send any message(s) to the rider through the booking detail page accessible through vendor panel.
  19. As in vendor, the admin panel would also have the same set of functionality, except for the additional optional to create / edit / delete vendors.
  20. The Add Bike form in the vendor / admin panel would be a detailed form with all the bike details for price, deposit, specs, terms & conditions, extras available with their cost, terms of cancellations and much more.