This is going to make up a series of posts where I talk about how to develop a electronic forms application (Android/IPad tablet based) which can be used to replace an existing paper based system to cut down on paper waste and administration time. Each subsequent post will talk about the technical aspects of this idea and how to go about developing the various elements of the system.
So, in this first instalment, I am going to introduce you to my new assignment at a local college to replace an existing paper based system which was proving to be time consuming and an administrative headache given the cut backs in resources. This will set the scene and introduce you to the problem that requires solving.
I will then proceed to talk about the various options available and explain the solution I will choose.
To set the scene, lets just say that In February 2016 I joined a local college on an initial 6 Month Contract to develop an online version of an application form that was being used to enrol students onto workplace placements schemes.
The existing paper base system being used looks similar to the below form:
This 4 page document is filled out by college assessors who visit a work placement where a student has been assigned to gain work experience. This form is then manually handed over to the administration department back at the college which is then manually logged into their student administration system (StudentSystem).
As you can see, this can prove to be time consuming and cumbersome for the poor data entry clerks and also on all those poor trees.
To this end, it would be both cost effective and environmentaly friendly to develop some sort of online application that would remove this administrative burden from the department and our rain forests.
The college have initially requested an online web application which would be used by the assessors to either fill out onsite or once they get back to the office. However if they were to fill it out onsite, we would need to ensure there is an internet connection available.
The college assessors also carry around with them Android tablets for other aspects of their work. With the advent of tablets and their portability and ease of use via touch screen, it makes sense that these benefits would make it much easier to fill out a digital based form using a touchscreen device, instead of a laptop. To this end, this is the solution we will proceed with but as you will see, this solution can also be utilised in an online version that can be used via the laptop too.
Now that we have our assignment on what is required, it’s time to think about the technical aspects of the system…
The key requirement of this project is to provide a form for data entry which can then be submitted into the college StudentSystem.
O, and there’s one more thing, ….. before the form is submitted into the college StudentSystem, the form needs to be assessed and approved by Student Services to ensure data compliance.
In order to get the data from the tablet device to the StudentSystem, we will require a middle admin system (MidAdminSystem) to enable Student Services to approve forms submitted by assessors via the iPad/Android. The reason for this is that we will assume the StudentSystem doesn’t currently have a public facing web service which we can interact with. Hence, we need to develop this bridge.
To develop this bridge, we will use WEBAPI which will allow us to communicate with our IPad/Android device and with our MidAdminSystem allowing us to transfer the data via the cloud.
Once the WEBAPI receives the form, we will simply insert this data into SQL Server which can then be retrieved and viewed by the MidAdminSystem for approval.
So, we now have the data in our SQL Server database which can be viewed and approved by Student Services. The only thing that remains next is, once the form has been approved, this data needs to be transferred into the StudentSystem. Luckily, the StudentSystem is just another SQL Server Database, so this will make things a lot easier for us.
To carryout the transfer, we will use Entity Framework so that we can simply grab a model object of the sql tables and map our data to it via the power of an ORM.
Now that we have the backend architecture agreed, which is always the first point of call for such a system, we can now look at the front-end technology to build the Android/ipad application.
So, we are nearly there now. The final part to the system is how are we going to store the data on the device when a form is filled out by the assessor? Ofcourse, we need to be able to store this data so the form can be amended later if needed before submitting for approval.
See below for our complete system architecture:
Next post in the series