Convenience System

The Convenience System is a bigger project for kiosk systems. You find an overview of the structure below

The storage of all data (Accounting, Users, Products, Clients..) is a MySQL database. The only application that is accessing the DB is the Backend, which encapsulates queries and also checks the permission of users that try to call the functions of the Backend. To make the Backend reachable, it is embedded into the Convenenience Server, which provides a REST API. This API is used by the App which is used by users to buy products or send a emergency notification. Further, the WebAdminClient allows system admins to manage the systems. They can see User debts, add Products, etc.

 

The key features of the system include:

 

 

  • A modular system that can be deployed in a flexible way (e.g. one Linux Server and an iPad or two Webservers and 4 Tablets and a separate database server)
  • Users and Products can be managed live
  • Basic security by use of tokens and right management for devices
  • Keydate system: You can define keydates to simply view new accountings since last keydate or the amount of products bought since last keydate
  • Mail system: users can have a connected mail address - after buying products the user get a confirmation mail
  • Multiple platform Apps (Windows Phone, iOS, Android)
  • Multiple languags (german, english at the moment)

 

The system is built using a set of techniques:

 

  • The Apps are built using Xamarin and C#
  • The DataModel is built using C#
  • The Backend is using C# and NancyFX and JSON.Net frameworks
  • The WebAdminClient is built using ASP.NET and runs only on Windows Server for now. A PHP client is  being constructed right now

Some Impressions