We need help setting up the foundation of a project to come, a barcode scanner app with backend services for user directory, login, database lookup and notification support.
It will be 100% built using Microsoft tools and services for now, Azure, Visual Studio/Xamarin and Azure SQL Database.
The purpose is to build a ‘template’ app with backend to be used in a later project.
(Feel free to use Adrian Halls book as a reference, it contains most of what I want accomplished: https://adrianhall.github.io/develop-mobile-apps-with-csharp-and-azure/
This may significantly shorten the time needed to set things up.)
The resulting infrastructure, app and tool source code must be fully handed over and we must be able to open and continue building on the app without issues, else the task is not to be considered completed. Must be compatible with Visual Studio 2017 on PC or Mac.
Azure environment will be made available for the project.
Barcode scanner to use will be Scandit, scandit.com (Or better choice, recommendations are welcomed)
Recommendations on improvements to this setup is welcomed, but may be rejected.
The requirements are:
1 basic mobile application built in Xamarin forms in Visual studio (Se spec below) with barcode scanner function (Scandit or better) and registered to Notification Hub
1 ‘easy to use’ Tool to send notifications built in Visual Studio C#
1 Azure SQL Database
1 Azure B2C for user account/Login (Custom + Federated:Gmail, Facebook, Microsoft)
1 Azure notifications hub
1 Azure App Service (API)
Optional interface, Gui/Console or other
Send notifications using Azure Notification hub
Send to User, Tag or All
Must: Support for iOS and Android
Must: Cached login, login should only have to be performed 1 per every 180 days, or more.
Text about the application
Registration (New user)
-Barcode scanner page
Scan button and scanner ‘window’
-Scan result page
Show Green or Red
On scan, the barcode is looked up in the DB
if not found, show ‘Item Not found’
if found, compare fields A, B, C, D, E and F
if match on current user, show red
if match is not found, show green
-User Profile page
Firstname (From registration/Azure B2C)
Lastname (From registration/Azure B2C)
Email (From registration/Azure B2C)
Values (Yes/No per letter)
Database (Minimum config)
Userprofile table (see userprofile page)
Barcode table, EAN code, A, B, C, D, E, F, Version, Timestamp, etc. according to best practise
Items table, additional info on each item in the barcodes table
Log table, each search is saved, if not found, found with no match or found with match and which match(es)
Functionality of app:
User registers, selects code(s), a choice of A, B, C, D, E, F (any, many or all)
User logs on
User scans a EAN/barcode on a product
Product is looked up in DB
If not found, report to user, 'Item not found'
If found, products code(s) is matched to the users code selections
If match, return Red
If no match, return Green
Save scan to log table
Offer return button, start over.
Azure App service as database interface/API (No direct access to SQL/B2C AD)
Mobile app on iOS and Android, built in VS using Xamarin forms (Shared core functionality)
B2C directory with support for Custom/FB/Google/Microsoft accounts
Azure Notification Hub
A Working solution (Mobile) that works according to this specification
A working tool to send notifications, user, tag or all.
Complete source code of Mobile app and all other solutions included
Step by step instructions on how to setup the solution (Zero to working solution)
We will be available for validation and testing, to answer questions and add information as needed on a daily basis.
The resulting infrastructure and app source code must be fully handed over and we must be able to open and continue building on the app without issues, else the task is not to be considered completed. Must be compatible with Visual Studio 2017 on PC or Mac.
I am looking for a mix of experience and value