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