Hi all: I am new to Drupal, but heard a lot of great things about it. We are looking at creating a system that connect mobile phones with a web based application. The purpose of this system is to track field workers and update their status, jobs and track time. We intend to add more features as we go.
The web system will be used by office workers, which will update information and jobs then pushed to the smartphones through an app. Is Drupal a suitable system for this kind of application? Is drupal scalable in this type of application? Can there be different installs for different teams? Or shall we look into building the web part of it from scratch?

Any opinions are welcome. We need to decide which way to go. Thanks

Comments

paulhudson’s picture

I recently developed something very similar for site engineers at a large pool maintenance company.

The first issue is connectivity... no signal, no site :-) A native app with an API to your Drupal web application would solve that or it may not be a priority issue in phase 1 of your app build. (It wasn't for us)

Otherwise, we just used content types for the forms, since the Drupal Field API is in core. So any image, text, select fields we needed are easy to add through the UI.

Field Collections module gives the ability to add multiple records of data to a content type, such as parts needed (with costs, qty, tax sub-fields), etc.

Views module - you can create reports such as new job sheets, engineer reports, client feedback forms (all content types)

Field Workers and Customers can have their own user accounts and User Roles. User Roles allow you to control which content types a Field Worker and a Customer can view. A small amount of custom coding and views configuration makes it possible for Customers to only view their job sheets and reports. So no install for different teams would be necessary (rarely is that justified IMHO).

This is actually rather simple stuff IF you are very familiar with Drupal. I probably only wrote 100 lines of code in a custom module. You could get a prototype setup fairly quickly with limited Drupal knowledge. To build this on any platform you're not familiar with will have a learning curve but certainly Drupal is perfect for this sort of app.

In terms of 'is Drupal scalable in this type of application?' - Drupal can handle hundreds of thousands of data records/nodes/user accounts or whatever. There are advanced search and caching modules that integrate with technology such as Apache Solr, Memcache, etc.

It should be possible to whack up an install and get a fair amount of functionality in a prototype without writing code :-)

Best of luck.

RoBotto’s picture

Thanks for the reply. Its great to get feedback from someone who actually built something similar. Apart from the connectivity issues, did you find other major challenges in the connectivity between the Mobile APP and Drupal? Will there be restrictions as to what data can be sent from the Mobile App? Can the mobile add upload pictures to Drupal?
I intend to work with a developer, and at this point i am trying to figure out what platform to build off.

thanks,

paulhudson’s picture

We didn't create a native app so I can't provide much first hand experience there. Our development was more a responsive site that the field worker would access on their phone or tablet. So no push notifications for instance, however the field worker could be relied upon to open their job sheet report (views module) and make their way through their jobs. We linked off to Job Report forms and client feedback forms from the main job sheet report.

If you choose a web app (which is essentially what I created) you can either have field workers login as they would any other site or create a small wrapper app that's installed on mobile devices but simply opens the webpage.

A native app would allow push notifications and deeper integration with phone and tablets such as contact lists. However you may then stumble upon some connectivity issues as you put it. You'll need to consider which platforms you'll support (iOS, Android, etc) and look at what API you're going to use to between the mobile app and your site... if you have a site at all.

I do often find that many people believe they need a native app when in fact all their requirements can be met with a responsive website/web app.

Hope that helps a bit further, it's just opinion really :-)

RoBotto’s picture

Great. Thanks for the information. We have a beta version of a mobile app and a very weak web app. Drupal is being considered to replace our web app for the simple reason the Drupal has a very rich back-end system.

I really appreciate your input. The wrapper app idea would be a very good start solution.

Thanks again.

Jaypan’s picture

You can use the Services module to create an API on your Drupal system, that your application can use to communicate with your Drupal backend.

paulhudson’s picture

Jaypan is bang on there, if you find a web 'wrapper' app (my terminology is off there I'm sure!) too limiting then going with your native app and Services module would be neat.