API resources
General Architecture
There is a Windows VM which has been deployed which acts as a resource to run the POS API. On this VM we are able to start the POS test server
which the client uses to send and receive data from.
HungerRush Handheld Infrastructure
This repository represents the IaC for the HungerRush Handheld project and is built and maintained in Terraform.
You can also login into Azure portal using the iciuser@devrevention.onmicrosoft.com (password can be obtained from an active dev) to view the deployed resources.
These resources should not be modified via Azure portal directly, they must be changed via Infrastructure as Code using Terraform.
Connecting to the Windows VW
In order to restart the POS test server the following 2 application are used:
- Teamviewer (only lasts until the licence expires) -> connect file transfer with id 953 138 928 (Teamviewer session & Windows VM passwords can be obtained from any of the active developers)
- Microsoft Remote Desktop (requires VPN, needs fixing since we currently don’t have VPN access anymore)
- Azure portal -> directly connecting to Azure Portal and trigger a restart from there
Solutions Overview
There are 12 solution in RevCloudPOS of which some are more relevant than others:
- DataService defines the main data services that we use frequently on the POS client
- RevCloudPos is a shared project for POS services
- RevCloudPos.Android is the sample Android Project
- RevCloudPos.IOS is the sample IOS Project
- RevCloudPos.UWP is the sample Windows App
- Multiple HungerRushPOS type solutions for different platforms are older and we don’t use them actively
Building & Integrating Solutions
Official docs Reference
In order to build & integrate solutions you need to:
- Select property on the e.g. DataService
- Select Class Library as type
- Select > .Net Standard 2.0 version in order for Xamarin to be compatible with the libraries
- Go to the output in DataService/bin/Debug(or Release)/netstandart2.0 to find the DataService.dll
- This DataService.dll can then be integrated into the Hand Held client