How did we develop SignADoc Mobile?

Raúl Tribaldos, Pedro Cabo and Antonio J. Lucia, EDICOM Software Engineers, tell us about the development process of SignADoc Mobile, from creation of the design to the security and the technologies used.

    Written by:

    Antonio J. Lucia

    Software Engineer

    Web developer specialized in Java EE and JavaScript based applications. Expert in open source frameworks such as Angular and Ionic.

    Pedro Cabo

    Software Engineer

    Multiplatform developer specialized in web design with frameworks such as Angular and Ionic.

    Raúl Tribaldos

    Software Engineer

    Software developer in continuous evolution. Nature lover, family man and sports enthusiast.

EDICOMSignADoc is the solution developed by EDICOM for the approval of documents with electronic signature and designed to do away with problems arising from document management by traditional means such as paper or e-mail.

The application is designed to create as many approval flows as necessary to manage the signing of our e-documents: simple, with a single approver, or more complex processes with multiple approvers adapted to the criticality of each document.

Project

Our aim with the app is to enhance the experience of the recipients of these documents. It is our solution to let you sign your documents quickly and securely in a few simple steps.

The development of the application begins with the first mock-up of the project or, in other words, a preview (screen by screen) of the final product by the design team together with the project manager. This is the initial task that drives all other technical tasks.

This preliminary work facilitates creation of the minimum tasks required for the first test version of the application. The rest of the task created subsequently are almost always derived from new problems that arise, for example, to adjust some different behaviour between platforms (in our case iOS or Android).

In the EDICOM Development department we are used to working using Scrum agile methodology. When the SignADoc app project came up, we had already committed to a delivery date with our first customer, so Scrum was ideal for partial deliveries while the final product requirements were being thrashed out with the client.


Joint and several signatures

  • Joint signatures: Moving forward in the workflow requires approval by all identified approvers in one step.
  • Solidarity signatures: Progress in the workflow requires the approval of a certain number of recipients out of the total number of potential approvers of a step.


Evidence authentication and management

EDICOMSignADoc adapts to particular features in terms of authentication and electronic signature of each project.

  • Platform signature. Generated by the solution, they provide traceability and security to the entire approval process.
  • Two-factor authentication. Robust authentication processes to provide the best guarantees for your workflows: OTP 2FA (Google Authenticator) or 2FA by SMS.
  • User signature. Signature of approvers based on electronic certificates issued in their name (qualified certificates, non-qualified certificates, secure signature creation devices, etc.).
  • Full control over the document life cycle. Lets you settime limits to get your documents approved, check at any time the status of all documents sent, force resubmission or cancel a document whenever required.

Technologies

Ionic

For development of the SignADoc app we opted to use Ionic, which is one of the most popular frameworks for the creation of mobile applications, integrated with Angular, which was already our standard framework in other EDICOM web applications. This combination is known by the nomenclature @ionic/angular.

On the technical side, a mobile application based on Ionic does not differ much from the development of a web application, as it is the framework itself that provides web components optimized for mobile devices, as well as a native API (Cordova and Capacitor) for device management. So, the collaboration of members with a front-end profile for the design of the user interface and a backend profile to design the logic and execution of the actions is normal.

https://ionicframework.com/

https://ionicframework.com/docs/components

Deeplinks

One of the needs of the application was the interconnection between an e-mail notification and the app. Using a Cordova plugin, we implemented this functionality, so clicking on a notification e-mail launches the application, leading to the signature point.

Access → login or enrolment.

Access → renew password

i18n. Through a submodule in Git, we can control the translations.

Virtual visit

Now that we know some of the features of EDICOMSignADoc, it’s time to take a virtual stroll through its mobile version.

The first thing we shall visit it its entry point, as if this is the first time you are using this app, you will need to register. EDICOMSignADoc offers a very intuitive enrolment for you to complete all the necessary registration steps without any problems.

Or, if you are already a registered user, you can access the application by entering your credentials from the login page.

Organization of the documents is highly intuitive, as EDICOMSignADoc has two sections: Pending (all documents where some action is required) and Checked (all documents requiring no action from you). In addition, these two sections can be filtered and sorted by fields, so it will not be difficult to find the document you are looking for.

As for document signature or rejection, we can either access the document from this grid or by using a link that will take us to the email,redirecting us to the document in question. Once inside, we can view the PDF and even fill in fields of the PDF if there are any, set up the signature to accept the document and add comments to it.

Security

To provide greater security to the signature of your documents, EDICOMSignADoc lets us apply two-factor authentication methods (2FA), nowadays common, such as an OTP code or SMS message:

In addition, all connections between the app and the backend go through the Https protocol, which lets you set up a secure connection that cannot be intercepted by unauthorized persons.

APK publication

Android: https://play.google.com/store/apps/details?id=com.edicom.signadoc&gl=ES

IOS : https://apps.apple.com/es/app/signadoc/id1535918032