You can Access the GUI we made that has won the side challange of frontend for car rentals here running on a raspberry pi
TLDR
We have created a docker container containing an optimized API and a database for handling large quantities of queries for rental car offers, and introduced new ideas for improving car rental user experiences.
Optimized API and Database for high load car rental queries
Using PostgreSQL as the backend, we have implemented an optimized API and database for handling large-scale queries of adding/searching car rental offers. We specifically focused on the handling of the data on and around the SQL server; For POST request which invokes writing of new data, we have used a prepared statement to increase the write performance. Also, pooled connection was utilized to reduce the connection overhead. Moreover, various parameters of PostgreSQL was tuned with the competition setting in mind, namely disabling or reducing backup capabilities to prevent unnecessary I/Os. Using our method, we were able to achieve an operational capacity of approximately 100 queries/second.
Creative visualisation of car rental processes
To improve customers' experience, we have implemented a hand-crafted, intuitive GUI mock-up of a car rental reservation service. Traditional websites only offered bare minimum information, and lacked the tourists' point of view. We wanted our GUI to be more than just that; it offers customized experience to customers, making their experience something to remember and potentially increasing brand attachment. Specifically, we offer the following information in addition to traditionally served data;
- Additional tourism information, leveraging extra mileage left on rental cars. After the customer have chosen the desired pick-up and return position, our GUI automatically suggests some cities close to the destination that the customer can visit with the left-over distance. Moreover, a brief introduction of the city is presented to the user by an artificial intelligence program according to their preference. Through this feature we can offer the customers a unique twist to their travel, enabling a previously impossible personalized experiences.
- Useful information for the trip. In addition to the usual travel information, our GUI provides customers with information such as the weather forecase, extra mileage, and the expected fuel consumption based on the vehicle model. This not only helps customers plan the travel, but also increases the anticipation to their holiday.
- Vehicle recommendation. Based on the itinerary, our GUI automatically suggests a vehicle that fits their preference and the travel schedule. Also, the 3D model of the suggested vehicle is viewable to the user, aiding in their informed decision.
All these features would enable us to provide customers with more than just an ordinary car rental service.
Lessons learned
- Read documentations. We wasted quite a lot of time because we misunderstood the requirements, which was explained in the documentation.
Built With
- docker
- fastapi
- postgresql
- streamlit
Log in or sign up for Devpost to join the conversation.