POS Cloud Development Services on Azure
The Client
The client is North America-based market leader in point-of-sale (POS) solutions, specializing in hospitality management systems. They offer platforms and services to restaurants, hotels, bars and other foodservice operators across North America.
Their systems are currently used by thousands of restaurants and hospitality establishments. They have won numerous awards for their innovative and revolutionary impact on the retail and hospitality markets.
The Business Need
The client wanted to modernize its POS solution and distribute it via the cloud solution, Microsoft Azure. In this solution, there are 2 components:
1. A website to configure POS (Back of House) as per a restaurant’s requirements
2. Front of House App (FoH) for handheld mobile device to take orders and make payments on
This would ease their client onboarding process, scalability and distribution of the POS solution. Functional changes and reporting would all be brought down under one umbrella, so it would be easier to manage as well.
This would be a win-win strategy for the customers of the client as well. With cloud’s inherent “pay-as you- go” model, the end customer will have better ROI on the POS solution they have bought.
The Optimus Solution
- Azure app service, Azure SQl database and .NET technology stack was used to develop backend and beta site
- Xamarin, a cross platform development technology used to create apps for Microsoft Windows, iOS and Android platforms (phone and tablet), was used to develop the app
- With agile development methodology, a beta site with OSI functionality was deployed on Azure beta site which the client could use to demo the new solution to its potential customers.
- This also allowed for faster development of MVP (Most Viable Product) on POS
The Challenges
The main challenge was to develop the solution with database developed for legacy system which is developed over the span of 30 years. Great care was taken to update and modernize each aspect of the legacy system and ensure it maintained the functionality of the previous version. Migration of the legacy on-premise SQL server database to Azure SQL database:
- A migration plan of all objects which can be easily migrated was created
- A migration plan of all objects which can be easily migrated was created
- Proper primary key, identity columns and referential constraints were added
Parallel development of all application components such as Data access layer, API layer, Web App layer and Xamarin application is a complex process. This was overcome through:
- GitHub repositories for code versioning and management
- Streamlined unit testing of data access layer and API
- Continuous integration and deployment for dev environment using Jenkins
- Continuous deployment on Azure using deployment slots and MS Team services
Some of the gesture events were not yet supported by Xamarin, so customs coding was developed.
Use-case elicitation, finalization and UX design with outsourcing model is a complex and highly involved process:
- We employed onsite/offshore team model to cater to this challenge by placing a team member in a client location for client’s ease
Conclusion
The team has continued to grow and deliver increasing throughput and flexibility.
Optimus has proven their ability to ramp up an additional team, on some occasions with one day’s notice, and to execute testing engagements for crucial last minute business needs. Flawless delivery was achieved on a consistent basis.
Based on the success of working with one department, Optimus was brought into another application area that has been equally successful, due largely to Optimus retaining an understanding of the customer, their needs and how to work with them.