Challenge Overview
Welcome to the Signature Capture module for Appcelerator contest. In this contest we would like you to build an app in Appcelerator to capture signatures.
Set up
- Sign-up for Appcelerator here https://developer.appcelerator.com/ (its free to join)
- Download Studio or get the CLI from NPM
Project Overview
The client requires a simple demo app for mobile and tablet that needs to capture a customer signature and then translate that signature into the appropriate dimensions for inserting into a PDF for printing. The app needs to use image recognition to find the outer dimensions of the signature and scale the image, maintaining aspect ratio. The module would need to handle varying input dimensions as the size of the signature will depend on the device used for capture (different sized tablets and smartphones). The demo app can be very simple in terms of capturing the signature and displaying the scaled signature; the core part of this challenge is the module which performs the image recognition and scales the image.
Challenge Overview
The app is needed to demo the core module. The app can be simple, it should have a canvas area for capturing the signature with maximum dimensions of 768 x 210 for Tablet devices. The canvas area for capturing the signature should scale appropriately depending on the device. Display the dimensions of the signature capture canvas area somewhere on the screen. This canvas area can use the Paint module to allow the user to write their signature using the touch display. There should be a ‘Submit’ button which when tapped will process the image using the core module and then display the processed image. Display the dimensions of the processed signature somewhere on the screen. Ensure there is a border around the image so the bounds of the image are clear.
The appcelerator module (either pure Javascript or native iOS & Android with JS interface) that you develop should take a JPEG file as input and produce a JPEG file as output. The input dimensions of the JPEG file will vary based on the device. The image recognition algorithm needs to find the bounded rectangle of the signature only and should be smart enough to deal with any input image dimensions. The output dimensions of the scaled signature should be approximately 400 x 100. This is the ideal size image which can be inserted into the PDF later. The signature aspect ratio should remain the same when scaling up or down. Please use the signature examples here to test your submission.
CODE REQUIREMENTS
Javascript
- Use ES2015 of the ECMAscript standard
- Use DRY coding principles where possible
- You MUST include unit tests using Jasmine and Karma
- All JavaScript must be free for commercial use, without restriction.
- Use npm for any third party Javascript libraries. Your submission should not ship with these files. Only provide a package.json file mentioning the dependencies.
Framework Requirements
- You must use Appcelerator - v5.3 SDK is recommended but v5.1+ is acceptable
Final Submission Guidelines
Before submitting, make sure that your Javascript code have been validated and there are no errors. In case of any exceptions that the reviewer needs to make, specify this in your README file. Verify that it meets all the requirements mentioned earlier.
- You should test your submission with signature examples provided
- All code should be fully unit tested and documented. Please use best practices here.
- Upload your code as a .zip file to the Submit and Review tool for this contest.
- Upload documentation for how to run your submission, including a short video demonstration