We are looking for an experienced Xamarin\XAML developer to code our new UI frontend design. We already have a working backend that will be integrated with the new UI once it is completed. The app consists of a start up screen, and a number of navigation screens in a tiled format, that read and write data to our backend.
Some navigation tiles will enter a sub-menu where there are another group of menus, while other tiles will enter directly into a configuration screen. ADOBE XD Wireframes of the app design will be provided to show all the menus, sub-menus, data fields and navigation hierarchy that need to be created.
The user will enter numeric and text data into all the fields except one field, where the user selects an image from an image resource embedded within the app. The app also requires access to the device camera for taking a photo of the users vehicle, and to store persistently within the app.
All the boilerplate code must be developed, as well as the structure of all Models and View Models to support a basic MVVM model, the View will then be updated with the data as shown in the UI screens provided.
Shown below are some guidelines and basic requirements of the project.
1. [login to view URL] (not Native) for Android / iOS and UWP.
1. Pages shall be designed declaritevly with XAML, strictly no code behind.
2. ViewModel class should be defined for TwoWay databinding with Pages.
3. Each Page should demonstrate that it is functional in reading and writing data from View <-> ViewModel <-> [login to view URL] Model can use a MockData class to initialize the Page Views initially with sample data. See provided screenshots for examples of what data is required.
4. Each Entry view should validate the max number of characters and accept only digits or alphanumeric characters where applicable,
in most cases 6 characters should be sufficient however it should be configurable per Entry.
5. Use [login to view URL] components wherever possible, and 3rd party packages only if a particular View is not available in Xamarin Forms.
6. Use [login to view URL] App Shell for Page Navigation.
7. View commands/click handlers must be implemented for all Buttons labeled "OK" or "SAVE", which can be left empty to be filled in house, however should have a local backing store to show the data is being stored in the Model.
8. Where no config screen or sub menu exists behind a tile, a ICommand/Click empty handler should be implemented for that tile.
1. Configure and implement logging using [login to view URL] for startup messages, try/catch exception blocks, application closing etc.. and any other messages that would be useful in debugging the application.
1. All pages with Entry fields must accept a static instance of a class that will receive data over a bluetooth connection for reading and writing data. The class is developed in-house and so is not part of the UI project, however a generic class should be created to demonstrate that all pages have access to the static class.
- The following packages are currently being used in the project or are in the planning stages of being used in the project.
1. [login to view URL] for Bluetooth connectivity.
2. [login to view URL] & [login to view URL] for logging and diagnostics.
3. [login to view URL] for Dialogs and Activity Indicators.
This is the start of a potential long term relationship as we are looking to outsource some of our development teams tasks, this being the first of many. We've attached some sample screenshots of the app layout in Adobe XD.