Sports Venue booking made Easy with SpotMycourt
Prioritizing the user experience, we worked hard to make sure that we’re producing high-quality applications.
The SpotMyCourt app allows users to search and book their preferred venue to play the sport of their interest. The chosen technology will have a great impact on how the application works.
We used
- Xamarin Forms was used for cross-platform mobile application.
- The .NET core was used for the backend.
- Cloud SQL - Managed PostgreSQL by Google Cloud database service was chosen to store and access data.
- Google Cloud App Engine - Used to host the application
- Visual Studio AppCenter and Azure DevOps - Managing Project, Continuous Integration and Deployment
The final product came out very attractive to the end-users. The application was built to make the venue booking easier for sports lovers.
INTRODUCTION
Its all about making ones day-to-day life easier. We were approached for building a solution for online sports/fitness venue booking.
The engagement of the public and its entertainment value pushed us forward in each stage of development of the project. We are immensely happy that we could come up with such an amazing application with a very attractive, consistent and responsive UI/UX in such a short time.
ABOUT THE PRODUCT
This application is built so as the user can check for the nearby venues and book those on their preferred time slots.
The user can either pay at the venue or pay online. If desired, the user can also make a partial payment online. The rest of the payment can be done at the venue.
We’re proud of the engineering behind targeted location-based search, notifications and offers in the application. These features are very powerful and bring great value to our users.
THE DEVELOPMENT PROCESS
The scope of engagement included the development of Android and iOS applications, API (Application Programming Interface) and Backend services.
MOBILE APPLICATION
For implementing the application efficiently across different platforms – iOS & Android, we have used Xamarin Forms along with the Prism framework.
We opted for Prism as it embraces best coding practices to develop loosely coupled, maintainable, and testable applications. It handled navigation, events, modules, everything a small project to a large project might need.
We have separated the project into different modules – User, Admin, Booking, etc to improve and understand the app functionality better.
With the help of amazing plugins from Syncfusion, Elegant Tabs, Xamarin Essentials and SkiaSharp, we were able to provide the users with better-looking controls and user-friendly functionalities with ease.
We have implemented major features including
- Push Notifications using Amazon Web Services
- Referrals using Firebase Dynamic Linking
- Payment Gateway using RazorPay
- Geo-Location integration & Geo-Coding with the help of Xamarin Essentials.
Concerning App Analytics and Crash Management, we invested in Microsoft AppCenter which provide reliable services.
We used Adobe XD for designing and prototyping our application which helps in collecting the customer feedback before actual coding sprints.
THE BACKEND
The .NET Core framework is a fast and inherently secure, It was chosen to build the backend of the application. It also brings performance optimizations in terms of execution speed as well as memory allocation.
We chose Google Cloud Platform (GCP) to store, access and manipulate the whole data. Cloud SQL is a fully-managed database service that makes it easy to set up, maintain, manage and administer the relational PostgreSQL and MySQL databases in the cloud. Cloud offers high performance, scalability, and convenience.
CHALLENGES FACED
The major challenge we had to face was time. Delivering the product on time became more difficult as competitions arose. It became a challenge as we were asked to deliver the initial product within a few weeks.
Giving more importance to UI benefited us in many ways, but on the other hand, It consumed more than the estimated time. So, our team had to follow a very strict schedule.
Apart from time, the challenges possessed by the UI were spread out to the performance of the application. Initial prototypes and releases had janky scrolling in places where the UI rendering was hard for the mobile, especially in low-end Android devices, for which our in-house Mobile Experts had to sit countless hour re-implementing the inbuilt ListView of Xamarin.Forms to a separate custom made control focusing on Performance.
The market demographics where the app was targeting brought up interesting challenges like Application Size, understanding the app interface.
We are tackling each one of it by implementing continuous improvements and enhancements, like the introduction of App Bundles for Android app (which reduces the app size by 50%), future update lies in improving the User Experience for making the app accessible for any sports lovers looking for booking a venue.
We continued to emulate proper procedures and work tirelessly to tackle all the challenges that came our way.
CONCLUSION
We are proud and content about our achievements and we as a company will always work together for excellence in all aspects of product development and delivery.
Nothing worth ever comes that easy. thus, we had to follow a strict schedule throughout the development and delivery of the product and be consistent in following the schedule.
We are thankful for all the criticisms and encouragement from the customer, who helped us prioritize and test the application during the strict deadline.
We will strive toward excellence by building our working principles into everything we deliver, and to how we work as an organization.